并行计算、Web 计算与计算网格技术解析
1. 并行与分布式编程概述
在并行与分布式编程领域,选择合适的编程范式和硬件策略至关重要,而这往往取决于具体的应用场景。例如,对于大量使用向量运算的应用,即使有分布式内存平台可用,共享内存编程范式也可能极具吸引力。一些硬件和软件供应商还提供专门的库,用于在分布式系统中模拟共享内存行为。
1.1 线程与多线程应用
在多处理环境中,线程是实现基本并行性的一种方式。线程可定义为一组指令流,能像具有独立身份的进程一样被调度运行。它与创建它的父进程异步运行,并且与父进程及其他由父进程创建的线程共享关键资源,如文件和内存数据。
多线程应用在许多情况下能提供良好的性能:
- CPU 计算与 I/O 重叠 :程序可调用两个线程,一个等待 I/O 完成,另一个进行计算。
- 异步事件处理 :线程可用于交错处理频率和持续时间不可预测的事件。例如,Web 服务器可使用线程同时传输先前请求的数据并管理新请求的到来。
1.2 消息传递编程
现有的消息传递库基于两个独立的标准:并行虚拟机(PVM)和消息传递接口(MPI)。
- PVM :由橡树岭国家实验室编写,是一个便携式异构消息传递系统,提供进程间通信、进程生成和在多种架构上执行的工具,多年来一直是并行计算的标准工具。
- MPI :虽然比 PVM 进入主流较晚,但现在已是成熟的标准。它由供应商、政府实验室和大学组成的委员会定义,标准的实现通常由运行 MPI
超级会员免费看
订阅专栏 解锁全文
2066

被折叠的 条评论
为什么被折叠?



