计算机系统中关于数据处理的基础研究

Sina WeiboBaiduLinkedInQQGoogle+RedditEvernote分享




【编者注】张晓东教授是我非常敬佩之人。这是朋友推荐的其在国防科大的一个课程讲义。 上次,与一个师弟聊天,说这么多年,张晓东就是不换中国护照,坚持要做国籍上的中国人。张老师的IEEE Fellow是去年评上的,真是姗姗来迟。从我个人的浅薄观点,中国计算机学术界最紧缺的就是张晓东这样的人,除了姚期智老师的计算理论。

张晓东是美国俄亥俄州立大学的 Robert M. Critchfield讲席教授,并担任计算机科学与工程系主任。张晓东于1982年在北京工业大学获电气工程学士学位,1989年在美国科罗拉多大学波德(Boulder)主校获计算机科学博士学位。1997年到2005年间,他在威廉玛丽学院(College of William and Mary)任教授、讲座教授及计算机科学系主任。张晓东是国际电气电子工程师协会(IEEE)Fellow。自1992年以来,在张晓东组建的高性能计算机及软件实验室里,他指导了四十多名研究生、博士生和访问学者。张晓东在高性能和分布式系统领域里,针对几个重要基础研究问题取得了一系列开拓性的成果。他主持研究的一些核心算法和系统设计已经或正在被应用到商业和开放系统软件中,有效地优化或更新了计算机和分布式系统中的一些关键技术。比如,他们的存储地址空间的转换方法已被使用在Sun Ultra SPARC IIIi 商业处理器上和Sun的双核处理器上;Linux 和BSD操作系统,以及几个开放数据库系统 (MySQL, Apache Derby, OpenLDAP)也正式或正在采用了他主持研究的几个存储管理新技术。在2001到2004年间,张晓东在美国国家基金会(National Science Foundation)担任高性能计算与系统项目学科主任。他目前是《美国电气电子工程师学会并行和分布式系统期刊》(IEEE Transactions on Parallel and Distributed Systems)的副主编,《美国电气电子工程师学会计算机期刊》(IEEE Transactions on Computers)、《美国电气电子工程师学会微处理机双月刊》(IEEE Micro) 和《并行和分布式计算学报》(Journal of Parallel and Distributed Computing)的编委。他多次担任国际学术会议程序委员会主席,其中包括∶ICPP’07, WWW’08,和ICDCS’09。

张晓东在中国国家自然科学基金会资助的龙星讲座计划委员会与中科院计算所的徐志伟【注:徐志伟是在USC黄铠的博士。也就是说徐其实是倪明选的师弟。】共同担任主任。龙星计划委员会每年组织一批在美国学术界学有所成的中国教授在中国各地大学系统讲授多门研究生课程。龙星讲座计划开办近十年来,免费向成千上万的国内研究生和青年教师授课,这个课程计划已逐渐成为国内计算机研究生教学和科研的一个组成部分。他还担任《中国计算机学报英文版》执行主编,并受聘为中国科学院首批海外评审专家。

计算机系统中关于数据处理的基础研究

授课教师∶张晓东 美国俄亥俄州立大学,计算机科学与工程系

时间∶2009年7月13日至17日

地点∶国防科技大学,计算机学院,湖南长沙

课程概要和大纲

在计算机系统中,数据的存储、访问和传输已成为阻碍系统性能的主要瓶颈,处理数据的速度远远低于计算的速度,而对数据访问的需求已经成为计算机运行的主要部分。 数据在计算机系统中的存储层次也变得越来越深∶ 从硬件快速寄存器(Registers)到快速存储器(Cache)再到主存的DRAM,通过数据总线,系统可以与各种磁盘,如半导体的固态存储器(Solid State Device)或机械的硬磁盘等。通过互联网,计算机之间还可以进行大规模的远程存储、访问和通讯。计算机系统中的数据处理速度和效率是由两个基本要素决定的:

(1)点与点之间的传输的速度;(2)在某点读或写数据的时间延迟。

在过去的20多年里,在计算机的各个不同的联结点之间数据的传输速度,有了很大的提高,但数据访问的延迟却没能够有 效地改善。为解决这一对越来越突出的矛盾,在计算机系统设计和实现中,三种最有效的硬件或软件的方法是:缓存,备份和预取。

这门课以上面提到的三个基本技术为核心,全面介绍计算机各个存储层面上的最有代表性和最先进的数据处理方法。课程安排如下∶

(一)    硬件快速存储器(Cache)的设计与改进

(1)   基本结构

(2)   命中率和访问延迟的取舍

(3)   高命中率和低访问延迟Cache的设计

(4)   多核处理器(Multicore)中的Cache管理

(二)  主存DRAM内局部性(Locality)的挖掘

(1)   DRAM缓存区(row buffer)的结构

(2)   在DRAM内局部性丢失的原因

(3)   一种保留局部性的内存地址空间的映射方法

(4)   嵌入Cache 的DRAM的设计与系统应用

(三)  内存和磁盘管理中的核心技术: 替换算法

(1)   LRU算法优点以及难以解决的问题

(2)   LIRS算法是如何解决LRU问题的

(3)   Clock-pro: LIRS是如何实现在操作系统内核的

(4)   BP-wrapper:消除替换算法在系统实现中的同步竟争

(四)  提高操作系统对磁盘的管理功能和效率

(1)   操作系统对磁盘管理的局限性

(2)   扩大操作系统的视野去获得关键的磁盘数据存储地址信息

(3)   感知磁盘数据分布的缓存和预取方法以及系统实现

(五)  固态闪存系统(Solid State Device Flash Memory)

(1)   SSD Flash Memory的结构和性能

(2)   SmartSaver: 利用闪存来降低磁盘能耗

(3)   SSD的读、写,以及缓存的高效管理

(六) 在互联网和无线网上的数据管理和有效传输

(1)  为什么P2P在互联网上是传输多媒体的一种最有效方法?

(2)  数据缓存在无线网上的作用

《数据密集型应用的系统基础》课程讲义

(1)-balanced-systems-new.pdf

(2)-hardware-caches.pdf

(2a)-SE-P2P.pdf

(3)-cache-partition–multicore.pdf

(4)-locality-in-DRAM.pdf

(5)-swap-token.pdf

(6)-LIRS-replacement.pdf

(7)-Clock-Pro.pdf

(7a)-BP-Wrapper.pdf

(8)-DiskSeen.pdf

(9)-smartsaver.pdf

(10)-C-Burst.pdf

(11)-scap.pdf

(12)PSM-throttling.pdf

(12个打分, 平均:4.83 / 5)

雁过留声

“计算机系统中关于数据处理的基础研究”有20个回复

  1. 理客 于 2009-10-23 8:21 上午

    好东西!公司里的工程师,无论编码、设计还是架构,尤其是离学校时间久了的,一定要温习一下以前学习过的理论,并多学习各种技术方向的进展和新的方向,要开阔视野,不要每天只看着自己的一亩三分地,吸取尽量多的多领域的技术营养,才能做出好的编码设计和架构,才能更容易得到有商用意义的创新技术和方案
    感谢陈首的共享,我每天疲于应付各种事情,实在是没有成块的时间做点个人的技术文章,希望这个论坛这样的文章越来越多

  2. 小飞侠 于 2009-10-23 5:57 下午

    感谢陈首席,感谢弯曲,作为弯曲的fans,一年了,我不得不说说心里话,我喜欢所有关于多核的文章,特别是对多核开发有现实指导意义的东西,谢谢!

  3. 陈怀临 于 2009-10-24 12:39 下午

    谢谢小飞侠的鼓励。是的,我相信《弯曲评论》会越办越好。不一定有钱才有Influence。我坚信我所作所为是有益于社会的。是会得到多助的。。。

    《弯曲评论》现在的缺点是文章的方向还是有点窄。有点过分都是数据通信方面。这与我的专注面有关系。但我目前没有办法。我一个人的时间只能试图在某个方面发力。

    我是希望在web 2.0,internet,云计算,存储,下一代网络等各方面都有坚持下去的专栏作家。。。

    目前高飞,杰夫等等都很忙。我希望他们一旦有时间,会选择一个方向,。。。

    如果我的计划成功,弯曲评论在N年之后就不可能不成为全球华语在科技方面最好的媒体。例如,一旦突破,我将邀请生命科学,材料,能源,等等方面的专家加盟。。。

    目前,只能一步一步来。。。从小事做起。

  4. 理客 于 2009-10-24 2:46 下午

    精神可嘉,支持!不过真的很难
    1、公司里的分析报告,不可能有人敢拿出来,暗示性的报一点小料已经不错了
    2、专业技术媒体的分析,没有合作关系,也不会过来
    3、个人业余做事:牛人都是忙人,业余时间有限
    4、在校的学生,牛人少,普通的文章,陈首也很难看上
    如何找到花钱少,效果好的适合弯曲的路,陈首可以发动弯曲的FANS和大牛们brain storm一下
    我个人抛一个砖头:
    1、搞一个小的协同工作系统
    2、建立一些专题:专题负责人需要有足够的能力和一段时间内能保持相对的投入,当然也可以做联合主持人,解决能力和投入问题,做好技术方向,选题,策划,计划,框架,评审,汇总,资料收集等;核心组成员,负责个人专长和能投入的时间,负责也个小题目,可以小到一页文档,也可以是一个子专题,最外围是FANS组,负责评论。
    3、版权和成果规所有小组成员和弯曲所有,每个人都有独立的所有权
    4、这样会把一些大牛,包括公司和专业结构的人,不便做的事,变相的拿出来一些,不是直接的拿出来,只是利用了在工作中积累的经验,并且有些技术分析并不是工作单位需要的,但是有一定价值和兴趣
    5、以后的收入
    (1)广告
    (2)文章版权转载
    基本模式是WEB2.0从群众中来到群众中去的模式,WEB2.0目前看应该算是成功的,所以基于这种模式的弯曲也有成功的可能。如果能成功做出几次专题,在业界造成一定影响,就会逐渐走上正轨,后续的发展道路很快,包括做智囊机构、咨询机构等。甚至风险投资也不是没有可能,无论具体模式如何,一旦一个相对合理模式能运作起来,形成正向激励,事情会发展很快,当然像现在这样松散的玩一玩,也是不错的空间,但我们就不要想什么全球华语在科技方面最好的媒体了
    比如google就是一个很好的专题,可以单划出来,看看Google的推出的产品(是否收购不管),earth,destop google(我10年前刚毕业到一家学校风格的清闲公司的时候就觉得如果有这个东西,肯定很爽,直到我知道有这个产品前,还想有没有一个工具可以把我无数的技术资料做成搜索)真的是没法说,现在的Google wave,不也是和8年前王志东做的什么click的系统工作软件类似吗?当然王没有成功,业界也有许多类似的软件系统在做,但Google做的更有过人之处。
    华为也可以是一个大专题,从文化,管理到技术,从无线光网到数通,可以讨论的很多,并且可以做到对H有益,H的不少高层虽然眼界和胸怀是可以的,但是基层就越来越差,这样小区作出的产品是有问题的
    CPU类也是一个很好的专题
    linux也是
    我们不是靠噱头,所以专题中的文章必须有一些创意的观点直接亮出来
    你这个版面不吸引人之处在于没有把一些响亮的焦点专题直接亮出来,版面规划基本是传统式的,毫无创意,看看新浪的版面,那绝对是精心处理的,这是做好媒体的基本功
    如果做起来之后,及可以和业界互通,转载重量级文章不能全靠自力更生,那划不来,看看《读者》的成功,全是别人的文章,自己就出编辑,够狠吧
    还可以有初学者原地等,为大学生准备营养,将来做大了还可以搞专家坐堂,把姚期智、李开复、张晓东等高来做几次学术大拿讲堂也未必不是梦想,到时候陈首可就不是当年在清华遇到老姚时的崇拜的五体投地了,那时您就是和老姚平起平坐的了,当然,现在这一切还都只是黄粱美梦而已,但郁闷中也无妨做一下,成不成根本不在意,事业无成,还不能阿Q式自慰自己爽一下了:)

  5. 中兴之象 于 2009-10-24 11:12 下午

    回楼上 理客:
    科学松鼠会 在干这样的工作了

  6. 理客 于 2009-10-25 12:17 上午

    是我孤陋寡闻了,看,交流有多重要,封闭和缺少活跃的交流是进步的大敌,比如对H 100G系统的猜想,如果不交流,那简直就是在创造一个几乎和原H 100G基本不同的新产品

  7. 杰克 于 2009-10-25 2:48 上午

    “那简直就是在创造一个几乎和原H 100G基本不同的新产品”

    创造一个完全不同的也不见得不好啊,优劣高低大家可以一起比啊,万一新的更好,说不定被华为收编了呢,呵呵

  8. 理客 于 2009-10-25 4:58 上午

    好是好,希望如此,只是你相信小概率事件吗?

  9. 杰克 于 2009-10-25 6:03 下午

    小概率事件是因为这里没有牛人吗,呵呵

  10. 理客 于 2009-10-25 8:39 下午

    谁敢说这里没有牛人,问题是牛人的精力能投多少?100G的系统,不是头脑一热出来的idea能搞定的

  11. 杰克 于 2009-10-25 11:33 下午

    idea可以先提出来再讨论,这个make sense。
    不要说100G的系统,1G的系统,脑袋一热也搞不出来啊。

    什么东西都是先从一个idea开始di。

  12. DreamDreams 于 2009-10-26 12:06 上午

    商业社会,会有多少人把认为能搞成的idea拿出来给大众讨论,而不是在小圈子里私下讨论呢?

  13. 陈怀临 于 2009-10-26 6:59 下午

    这就是学校教授们令人尊敬的原因之一;也是open source伟大的原因。没有open source,许多公司不存在。。。Google, Yahoo都没有。

    看了几章xd Zhang的slides。佩服。

    唯一的一个comment就是:cache awareness要从applicaiton level就能感知。从经典os或kernel的角度很难把握一个系统。

    改天给尊敬的张老师发个邮件,谈谈感想:-)。张老师是美国名校系主任,王牌教授。但估计商用级别的汇编语言应该没有我写的多:-)

  14. Billy 于 2009-10-27 6:35 上午

    “这就是学校教授们令人尊敬的原因之一;也是open source伟大的原因。没有open source,许多公司不存在。。。Google, Yahoo都没有。”

    同感,开源往往占领着学术高地,有相当的传播影响力;与此同时,无论是失败或者是成功的开源项目都为商业公司提供了宝贵的借鉴;甚或当开源项目成为引领相当一部分商业公司的发展战略并进而成为一个业务增长点的时,其重要性更被凸显出来;只是这一过程往往需要三、五年乃至十余年以上的积淀,这并不是所有的商业公司都有勇气承受与投入的,所以责怪开源降低门槛而导致浑水摸鱼增加的人其实还是站得低了些,假设Google现在将其后台项目全部开源,又有哪个厂商能再复制一个Google2(平方)并有勇气继续遵循类似GPL等协议呢?

    如果没有,那么就还是对Google等支持开源支持开放支持简单支持……不作恶的精神表示一下支持,哪怕是敬畏也可……

    :)

  15. alex 于 2009-10-27 7:44 上午

    有无这些课程的视频呢?

  16. sswv 于 2009-11-10 5:30 下午

    报告题目:在多核处理器上有效运行多线程程序要克服哪些困难?
    时间:11月11日(周三)上午10:00
    地点:计算所四层报告厅
    报告人:美国俄亥俄州立大学 张晓东教授

    马上就开始了,有同去听的吗?

  17. 陈怀临 于 2009-11-10 5:37 下午

    我为何感觉应该是在张晓东讲完之后,我应该做答疑:-)。

    我现在就去看一下。同学们,如果听到一个提问的,讲一点洋文的,那就是你们的陈首席。。。

  18. 大荣 于 2009-11-10 6:18 下午

    好文章。

  19. 陈怀临 于 2009-11-10 8:47 下午

    听完讲座回来了:-)。整个大厅一共就只有10个美眉。xiaodong同学变化不大。15年不见。还是神采奕奕。

    我问了两个问题:我是陈怀临(听众没反应:-( )首先恭喜张老师当选IEEE Fellow。然后问了一下为什么张老师不对多核系统在网络系统做些研究;另外,也问了一下张老师为什么不回国:-)

    然后就灰溜溜的回来了。。。

  20. sswv 于 2009-11-10 9:13 下午