数据并行与任务并行
12 分下面是某气象模拟程序中的两个并行化方案。
方案 A:将全国划分成 8 个区域,8 个处理器分别对不同区域执行相同的温度更新计算。
方案 B:一个线程读取气象数据,一个线程计算温度变化,另一个线程将计算结果写入文件,三个线程同时工作。
- 方案 A 主要属于数据并行(data parallelism,数据并行)还是任务并行(task parallelism,任务并行)?为什么?
- 方案 B 主要属于数据并行还是任务并行?为什么?
- 如果方案 A 中某个区域的计算量远大于其他区域,可能出现什么性能问题?