并行计算的不同级别是什么?
并行计算有不同的级别,如下所示:
指令级 - 在指令级,一个粒度包含少于 20 条指令,称为细粒度。此级别的细粒度并行度可能范围从两千到取决于单个程序的单指令流并行度大于二,但指令级的平均并行度大约为五,在普通程序中很少超过七。
对于科学应用,平均并行度在 500 到 300 之间,Fortran 语句在理想化的环境中并发执行。
循环级 - 它包含迭代循环操作。一个循环可能包含少于 500 条指令。一些循环独立操作可以被矢量化以进行流水线执行或 SIMD 机器的循环步执行。
循环级并行度是为在并行或矢量计算机上实现而生成的程序的最优化版本。但是递归循环很难并行化。矢量处理主要由矢量化编译器在循环级利用。
过程级 - 它在任务、过程、子程序级别传达中等粒度大小。此级别的粒度包含少于 2000 条指令。在此级别检测并行度比在更细的粒度级别上要困难得多。
与 MIMD 执行模型相比,通信开销要少得多。但是,程序员需要在此级别重新组织程序,才能实现主要功能。
子程序级 - 子程序级传达作业步骤和相关的子程序。此处的粒度大小包含少于 1000 条指令。作业步骤可以在不同的作业之间重叠。此级别执行单处理器或多处理器的多道程序设计。
作业级 - 它对应于在并行计算机上独立任务的并行执行。此处的粒度大小可以达到数万条指令。它由程序加载器和操作系统框架管理。分时和空分多处理器分析此级别的并行度。
广告