【发布时间】:2023-03-12 15:20:01
【问题描述】:
我阅读了有关并行计算效率的文章,但对此没有一个清晰的概念,我还阅读了有关实现效率的文章>1,并得出结论认为,当它是超线性时,它是可能的。
这是正确和可能的吗?
如果是,那么谁能告诉我怎么做并提供一个例子?
或者,如果不是,那为什么?
【问题讨论】:
我阅读了有关并行计算效率的文章,但对此没有一个清晰的概念,我还阅读了有关实现效率的文章>1,并得出结论认为,当它是超线性时,它是可能的。
这是正确和可能的吗?
如果是,那么谁能告诉我怎么做并提供一个例子?
或者,如果不是,那为什么?
【问题讨论】:
一组进程可能会在几种不同的策略下被调度执行 --
[SERIAL] - 即一个接一个地执行,直到全部完成,或者[PARALLEL] - 即一次全部启动,一次全部执行,一次全部终止或
[CONCURRENT] 方式 - 即一些在资源允许的情况下立即开始,另一些则在空闲或新资源允许时安排[CONCURRENT] 执行。处理逐步完成,但没有任何协调,正如资源映射和优先级允许的那样。考虑到效率可能与功耗或处理时间有关,让我们关注处理时间,好吗?
Gene Amdahl 详细阐述了通用处理加速的领域,我们将在此借鉴。 HPC / 计算机科学教育中的常见问题是讲师不强调组织并行处理的实际成本。出于这个原因,阿姆达尔定律的开销天真(原始)公式应该始终用于 overhead-strict 重新公式化,否则任何天真形式的数字都在 parallel-computing 只是比较苹果和橙子。
另一方面,一旦流程附加设置开销成本和流程终止附加开销成本都记录到方案中,开销严格加速比较开始进行感觉谈论处理时间效率。
话虽如此,在某些情况下,处理时间效率可能会变为 > 1,但公平地说,必须采取专业的应有注意事项,而不是所有处理-types 允许在任何大规模的代码执行资源池上获得任何显着的加速,因为有义务支付并支付 NUMA/分布式处理开销的附加成本。
【讨论】: