Beowulf 中文HOWTO(8) 在讨论软体议题之前,先要介绍合适性的观念。 4.4 合适性(Suitability) 关平行计算的大多数问题都有相同的答案: 全和应用程式本身有关。 在我们进入这个议题之前,有一个非常重要的不同点需要□清□同时(CONCURRENT)和平行(PARALLEL)之间的差异性,为了方便讨论起见,我们先定义这二个观念: 程式内同时的部份是指可以单独个别计算的部份。 程式内平行的部份是指那些可以在同一时间内分别由不同处理器执行的同时部份。 二者相异的地方是非常重要,因为同时是程式本身的特性,而有效的平行则是机器的特性,理想状况下,较快的效能肇因於平行执行,平行效能的限制因素在於计算节点之间的传递速度和延迟(延迟也会出现在绪SMP应用软体,主要来自於快闪(cache)的一致性)。大多数通用的平行测试套件都有很高的平行性,传递和延迟都不是瓶颈,这类问题可以称作“显而易见的平行“(obviously parallel),其他的应用软体就没那麽简单,平行地执行程式中的同时部份可能会造成程式跑得较慢,抵消掉其他同时部份所得到的效能。简单说,传递所花费的时间必须从俭省的计算时间补偿,否则平行执行同时部份会很不经济。 程式设计者的工作是要决定程式哪些同时的部份应该平行化,哪些则不要。这将会决定应用程式的效能,下面的图对程式设计者做了些总结。 占应用程 式的百分比 * * * * * * * * * * * **** **** ******************** +-----------------------------------