1.5.2 并行编程(www.cppentry.com)
并行编程(www.cppentry.com)是使用并发执行的指令或任务来实现算法、计算机程序或计算机应用的科学技术。图1-7说明了每种类型的组成以及哪些是并行执行的。
|
| (点击查看大图)图1-7 |
图1-7中的并行算法可以并行执行一组指令。instruction 1和instruction 2可以并发执行。instruction 5和instruction 6可以并发执行。在算法中,并行性发生在两条指令间。这和图1-7中的并行计算机程序不同,在那里,工作单元是过程、函数或线程。过程A和过程B可以同时执行。除了过程A和过程B之间的并发外,它们各自内部也可能存在并发。过程A的函数可能并行执行。因此对于包含并行性的计算机程序,工作单元要大于算法中的工作单元。
图1-7中的使用并行部件的计算机应用程序中具有最大的工作单元。任务A和任务B可能由很多过程、函数、对象等组成。当在应用程序级来查看并行编程(www.cppentry.com)时,所谈论的是更大的工作单元。除了任务,应用程序可能包含子系统,如后台网络组件或多媒体组件,这些组件相对于用户可执行的任务而言是同时在后台运行的。这里的关键点是图1-7中的每种结构都使用了并行编程(www.cppentry.com),区别在于工作单元的大小,有时候被称作粒度。
注意:
我们将在第4章进一步讨论并行性的级别。