1、Multiprocessor
同一时间多个任务同时运行在多个处理器,并行计算。
- 降低功耗:通过多个低频处理器降低电压从而降低功耗。
- 提高灵活性和可扩容性,降低复杂度。
- 提高鲁棒性:在部分机器出问题可以运行其他机器。
2010年后基本只有单芯片晶体管数量提高(单芯片上核心数量增加),即主要依靠线程级并行提升性能。
2、如何生成多任务
- 同一个任务细分后分配到多个核
- 多个独立的任务分配到多个核
3、Multiprocessor Type
- Loosely Coupled 没有共享内存:联系不紧密,多用于云计算等
- Tightly Coupled 同一个系统共享内存:
(1)Cache coherence:
(2)Memory Consistency:(Ordering of Memory Operation)
(3)Shared Resource Management
(4)Communication:Interconnect(总线的使用越来越少)
4、MP Speedup
性能提升常常低于正比例核数量提升(多核的损耗)
- Amdahl‘s Law:Speedup = 1 / (a - a/p