我正在准备一场竞争性考试,我有一个操作系统问题。我不知道如何解决它。请帮帮我。
Q-) 一个程序在单处理器上执行需要 160 秒,但在 4 核多核上只需要 64 秒。在 64 核机器上执行时间的最佳估计是多少?
我正在准备一场竞争性考试,我有一个操作系统问题。我不知道如何解决它。请帮帮我。
Q-) 一个程序在单处理器上执行需要 160 秒,但在 4 核多核上只需要 64 秒。在 64 核机器上执行时间的最佳估计是多少?
我不认为这与编程严格相关(您可能会在Math StackExchange上发现这更相关,但无论如何我都会尝试回答它。
答案将完全取决于您如何对执行时间与内核数量进行建模。您可以将执行时间建模为与内核数量成反比。例如,我使用了以下模型:
其中 t 是以秒为单位的时间,n 是核心数,c(可能代表开销)和 k(一个因子)是常数。
同时求解
得到 k = 128 和 c = 32。
然后只需替换 n = 64
所以,根据这个模型,你得到 34 秒。当然,由于您不知道确切的模型,因此这只能是经过计算的猜测。