多核处理器

发展动力

未来需求——性能需求永远无法终止;

杀手应用

v2-6f9978ef0c5a778f5ed00e3d203c371c_b.jpg

线延迟:如果串行达到1Tflop/s,芯片大小不能超过1.3mm,每个字约占3平方埃,或一个小原子的大小;

发热问题

v2-2696aeab2e62f93651f9026077a61fbc_b.jpg

漏电流

v2-70ec9131bdbd061daccc74efaa3e1824_b.jpg

制造成本:摩尔第二定律

v2-26c04c861a25b4d5fdd03ea2d2cd3ba8_b.jpg

摩尔定律

v2-f154a450df46b080525dfc4ab1e32c41_b.jpg

提高性能的手段:提高时钟频率;执行优化指令级并行(ILP);

v2-f8ec3e8636642c97c706f9b8a2fa8652_b.jpg

线程级并行(TLP)

v2-a5ceb87d380237ea16be67206f841cf6_b.jpg

同步多线程(SMT)--英特尔超线程:提供更多的资源-执行上下文(context),如果遇到访存长延迟,可以立刻利用空闲资源;

v2-05572a5fa62652f44b5b13326e0cf35d_b.jpg

芯片多处理(CMP)--多核处理器:

减少了资源竞争关系--同时使用资源;

v2-8ad5dadbc836517e090346a3f8beac58_b.jpg

需要显式多线程编程;

并发与并行

并发:单个处理器运行多个进程

v2-bbbd8799fba5ff55996ed84f81251111_b.png

并行:

v2-08562486582bb9ff3afe30d97c33ea5b_b.png

结构

基本思路:

  • 使用更多晶体管增加更多简单的核,而不是增加处理器复杂度;
  • SIMD思路:单指令多数据,减少指令流调度的开销;

v2-406ef587a5faa8fbb8b0f1cebddbf8bb_b.jpg
16 SIMD Cores: 128 elements in parallel

v2-4e65b5d2e7c844565196dc7a3be079e8_b.jpg
NVIDIA GTX1080

v2-a1da662a62354f0d21bcbdc57091d5d4_b.jpg
GTX1080 SM(Stream Multiprocessor)

v2-f279c89a28a94c35c7f7193b06abb717_b.jpg
20SM for GTX1080

CPU:

  • Big Caches;
  • Few Threads;
  • 依赖于Cache和预取(Prefeching);

GPU

  • Small Caches;
  • Many Threads;
  • 依赖于多线程;

现代处理器

  • 采用更多核心(简单的核心):支持线程级并行而不是指令集并行;
  • 将指令流处理分配在多个ALU(SIMD):以很少的额外成本增加计算能力;
  • 使用多线程更有效地利用处理资源(隐藏延迟,填充所有可用资源);


编程

挑战--Where are the threads?

  • 让程序员写线程程序--困惑
  • 自动并行化--不可能,但可以改进
  • 使用线程模块;

硬件支持:

  • 推断都线程
  • 数据驱动的推断
  • 硬件线程支持--轻量级同步

事务存储器

解决数据同步问题。

两个事务要具有原子性:

  • 记录对变量的操作(Cache),将中间数据保存在缓冲区;
  • 确保没有数据冲突(Cache coherence):恢复状态;提交状态(Processor&caches);

IBM X10

对多核系统和集群系统提供统一的支持

高生产率:

  • 语言设计注重可以执行和安全性

性能:

  • 扩展了Java虚拟机
  • 提供手工性能调整手段

在Java语言基础上开发

  • 继承了Java语言的核心价值--高生产率,可移植性,成熟,安全

v2-04aeac98dbef4534226dc46e3daf52ab_b.jpg

推测多线程:

没有数据依赖关系的代码段可以提前执行;

v2-3f2ae9ce83b9e976374d8e20ad512821_b.jpg

定位程序中可以有效并行执行的部分

  • 预计算片具有较低的计算开销
  • 工作负载平衡,A与B差别不应太大

预计算片的低开销

内存层次结构中的缓冲和多版本控制

  • 缓冲将保持推测状态,直到线程被验证并可以提交;
  • 多版本控制允许每个变量对并行运行的每个线程有不同的值;

快速检查数据依赖的错误推测

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值