并行计算:原理、策略与性能评估
1. 并行计算的工作原理
在硬件层面的讨论中,我们通常会展示一个简化的内存层次模型,一般只包含动态随机存取存储器(DRAM)或主内存。在综合模型里,我们会看到缓存的存在,但不会详细介绍其组成和工作原理。接下来,我们将介绍当今硬件的模型,以帮助大家识别可用的组件,从而为应用程序和硬件选择最适合的并行策略。
1.1 异构并行系统的应用/软件模型
并行计算的软件模型虽然受底层硬件驱动,但与硬件本身有所不同。操作系统(OS)在两者之间提供了接口。并行操作并非自动实现,而是需要在源代码中明确指示如何通过生成进程或线程、将数据和指令卸载到计算设备,或者一次性处理数据块来实现并行化。程序员首先要明确并行化的方式,确定最佳的并行操作技术,然后以安全、正确和高效的方式指导其运行。常见的并行化技术有以下几种:
- 基于进程的并行化——消息传递
- 基于线程的并行化——通过内存共享数据
- 向量化——单指令多操作
- 流处理——通过专用处理器
下面是一个通用的异构并行架构模型示意图:
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
subgraph Node1
style Node1 fill:#ffffff,stroke:#000000,stroke-width:1
超级会员免费看
订阅专栏 解锁全文

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



