定义
并行计算机就是由多个处理单元组成的计算机系统,这些处理单元相互通信和协作,能快速,高效地求解大型复杂问题。
需求
满足在平台金字塔顶端对性能需求最强的应用程序,对运算速度的无止境追求
发展历程
云计算(着重在软件-》网格运算)是并行计算(硬件)的一种发展形势
考虑到功耗,cpu散热,摩尔定律中晶体管的数量(当前还在上升)、CPU频率(大概3.8GHZ,超频4.2GHZ)受限。
结构
并行计算机体系机构= 计算机体系结构 + 计算机通信
编程模型: 共享存储、消息传递、数据并行
计算机性能
执行时间(execution time)- 响应时间
性能 = 1/执行时间
吞吐率(Throughput)
即带宽-单位时间内完成的任务数量
程序执行时间:是指用户的响应时间 (访问磁盘和访问存储器的时间, CPU时间, I/O时间以及操作系统的开销)
CPU时间:它表示CPU的工作时间,不包括I/O等待时间和运行其它任务的时间。
Amdahl定律 - 加速比(只改进一部分,则系统所获得的加速比有上限)
并行计算的提升,受到了程序中必须串行执行部分的限制
经典的Amdahl定律并不适用于规模可扩展的系统,加速比曲线理论与实际不一致。
为什么CPU不能通过成千上万个线程来加速?
CPU的架构和GPU不一样,CPU就算是采用超线程技术,一个核也只能开两个线程,4核就8个线程,如果强行开10000个线程实际上也是软系统层面的虚拟线程
参考资料
学校教材