龙星课程: 局部性原理在计算机和分布式系统中的应用
作者 coder | 2010-08-18 06:09 | 类型 海外学人 | 5条用户评论 »
【今年的龙星课程,张晓东教授讲授了他的杀手锏:data locality。 在首篇的slides里边,张教授讲了下当前系统研究面临的问题和如何作一个 balancing system 。上次 Lawrence National Laboratory 的人来我们这里,我问他为什么 Blue Gene 的 CPU frequency 这么低,他说主要考虑的是 power density。 张教授也强调了 application, runtime system, kernel & arch co-design 来解决问题的重要性。 我们也在作类似的 java runtime, kernel & arch 的 co-design。 不过 co-design 工业界应该是领先很多。 这就是张教授牛的原因了,很多工作直接被工业界拿走应用在 product 中。非常喜欢 张教授的一句话: Practical benefits in the real world often result from basic research at a fundamental level.】 课件下载地址 http://mail.ustc.edu.cn/~wbdai/dragonstar/doc/dragonStar-2010-USTC.rar http://mail.ustc.edu.cn/~wbdai/dragonstar/html/course.html 在计算机系统中,数据的存储、访问和传输已成为阻碍系统性能的主要瓶颈,访问数据的速度远远低于计算的速度,而对数据访问的需求已经成为计算机运行的主要部分。 数据在计算机系统中的存储层次也变得越来越深:从硬件快速寄存器(Registers)到快速存储器(Cache)再到主存的DRAM,通过数据总线,系统可以与各种磁盘,如半导体的固态存储器(Solid State Device)或机械的硬磁盘等。通过互联网,计算机之间还可以通过网络进行大规模的远程存储、访问和通讯。 计算机系统中的数据访问的速度和效率是由两个基本要素决定的:(1)点与点之间的传输的速度(Bandwidth);(2)在某点读或写数据的时间延迟(Latency)。在过去的20多年里,在计算机的各个不同的联结点之间数据的传输速度,有了很大的提高,但数据访问的延迟却没能有效地改善。为了解决这一对越来越突出的矛盾,在计算机系统设计和实现中,三种最有效的硬件或软件的方法是:缓存(Caching),备份(Replication)和预取(Prefetching)。 课程大纲 这门课以上面提到的三个基本技术为核心,全面介绍计算机各个存储层面上的最有代表性和最先进的数据管理方法。课程安排如下: (一) 硬件快速存储器(Cache)的设计与改进
(二) 主存DRAM内局部性(Locality)的挖掘
(三) 内存和磁盘管理中的核心技术:替换算法
(四) 提高操作系统对磁盘的管理功能和效率
(五) 固态闪存系统(Solid State Device Flash Memory)
(六) 在互联网和无线网上的数据管理和有效传输
| |
雁过留声
“龙星课程: 局部性原理在计算机和分布式系统中的应用”有5个回复
Using Multi-column cache for way prediction sounds too complicated.
Does anyone know whether this technique has been successfully applied in practice? I.e., which processor design?
张晓东:有感“千人计划” 凝聚人才
http://www.1000plan.org/blog/288_42
好
数据访问的速度和效率是由两个基本要素决定的:(1)点与点之间的传输的速度(Bandwidth);(2)在某点读或写数据的时间延迟(Latency)。在过去的20多年里,在计算机的各个不同的联结点之间数据的传输速度,有了很大的提高,但数据访问的延迟却没能有效地改善。为了解决这一对越来越突出的矛盾,在计算机系统设计和实现中,三种最有效的硬件或软件的方法是:缓存(Caching),备份(Replication)和预取(Prefetching)。
预取?比如CS:IP预先算好下一条指令地址?学习~
再加一条,压缩(Compression)。 通过压缩可以减少footprint,以空间换取时间。