对称多处理器SMP并行化应用程序

对称多处理器SMP并行化应用程序有两种方法可以在一个SMP中使应用程序并行化,如下所述:(1)传统方法是把应用程序分解为多个进程

这些进程使用进程间通信(IPC)方法进行通信,例如管道、信号量或者共享内存

必须能够阻塞进程使其等待事件的发生(例如来自其它进程的消息),并且进程必须用类似锁的东西协调对共享对象的访问

(2)另一种方法是使用面向 UNIX(POSIX)线程的可移植操作系统接口

线程和进程一样存在协调的问题,并有类似的处理机制

因此一个单独的进程可以同时有很多线程运行在不同的处理器上

协调这些线程并且使得对共享数据的访问序列化是开发者的责任

在并行化一个应用程序的时候,考虑线程和进程两者各自的优势并且决定使用哪种方法

线程可能比进程快,并且它对内存的共享也比较容易

另一方面,进程的实现更容易分布到多个机器或者群集中

如果一个应用程序需要创建或者删除新实例,则线程会更快(在派生进程中开销更大)

就其它功能而言,线程的开销和进程差不多 

以上内容由大学时代综合整理自互联网,实际情况请以官方资料为准。

相关