多核操作系统–来自大辽MIT的研究

Sina WeiboBaiduLinkedInQQGoogle+RedditEvernote分享




【陈怀临注:今天与Tilera创办人Anant Agarwal教授见面的时候,他给我带来两篇其Lab的最新文章–Factored Operating System和另外一篇关于云计算OS的–An Operating System for Multicore and Clouds: Mechanisms and Implementation。我非常感动与自豪。感动的是Anant的谦卑。自豪的是我对OS的热爱和理解能让他这样著名的教授appreciate。。。我答应会仔细的阅读文章并给他反馈意见。】

(1个打分, 平均:1.00 / 5)

雁过留声

“多核操作系统–来自大辽MIT的研究”有42个回复

  1. 编译点滴 于 2010-12-03 10:00 下午

    谢谢陈首席,首席应该多多的推荐些好资料读读:)

  2. cls 于 2010-12-04 2:53 上午

  3. 从容自在 于 2010-12-04 5:35 上午

    对首席敬仰又加深一层,首席究竟是什么身份在现实世界中?

  4. jyn 于 2010-12-04 7:00 上午

    很好 很强大

  5. lanhon 于 2010-12-04 8:19 上午

    首席对于用tilera这样的多核处理器来做实时高清视频编解码处理有什么意见?

  6. Multicore 于 2010-12-04 6:37 下午

    在HUAWEI听过一次Anant教授的专家大讲堂,还是很精彩和幽默的,很有风范,而且很谦虚。

  7. coder 于 2010-12-04 7:10 下午

    MIT开放课程上有这个哥们讲的 digital system

  8. loco 于 2010-12-04 10:13 下午

    系统啊!这个马上就走这个方向,提前来看看。

  9. 路过 于 2010-12-05 3:15 上午

    关注multi-core很多年了,期待首席会把自己的反馈意见也贴出来让大家学习一下

  10. MIPS 于 2010-12-06 10:49 下午

    这个们搞了一个TILE 架构的处理器,的确很牛的。64个核,只要20W的功耗。大辽的学校还是高人多多呀!

  11. byapple 于 2010-12-06 11:33 下午

    论文中的fos很多想法的确很新颖,空间片代替时间片,kernel与app使用不同的core并通过消息请求服务,远程资源代理等等,当然前提是core相当的多。关于那个cloud computer国内好像也有人做过,只是仍折腾linux,没像大辽研究人员那样直接针对这种硬件架构写个OS出来,还是大辽牛!btw,首席能不能透露下被appreciate的是什么观点?hoho…

  12. yunhaid 于 2010-12-07 1:41 上午

    本质上就是微内核操作系统的进化,分布式操作系统的再进化版。创意是把core给分离出来成为单独的服务系统。

    linux 的monokernel也该革新了,问题是现在没有成器的代替品,Hurd如同死水..等着吧….看有没有另一个linus出来.

  13. julang3 于 2010-12-07 2:43 上午

    通过开源的linux的培养,现在熟悉操作系统内核开发,设计的人应该是比以前多;如果有足够的市场前景,相信会有替代品开发出来;做一个操作系统,似乎没那么难;难在形成产业链,形成庞大的应用软件支持;

  14. huanghuihuang 于 2010-12-07 7:12 上午

    我对多核的构想:指令分布执行,指令流水线被分配到各个核上运行,线程中可并行指令也被分配到各个核上运行。道指令正按照这个目标设计。

  15. MIPS 于 2010-12-07 7:22 上午

    to 14 楼
    Anant哥们搞出来的TILE处理器,应该可以支持这个功能,我在MIT网页上面的ppt里面看到过,例如他可以支持,core1里面的寄存器变量和立即数运算直接输出到core2的寄存器里面去。 看了感觉很神奇。

  16. huanghuihuang 于 2010-12-07 8:15 上午

    TILE处理器没仔细看过,但按照寄存器流水线方法,很难做到线程、指令间并行处理。因为太多的关联数据、跳转、中断必须处理。我觉得多核要象体细胞一样,能够随着各种外界及自身或别的生成的化学物质运行,产生不同的功能来。

  17. xie 于 2010-12-10 6:25 下午

    个人感觉,面对众核,要实现目前的OS的应用接口越来越难,而虚拟机由于提供的是更底层更简单的接口,在众核上的扩展性更好
    所以系统中加一个虚拟机层可以算是众核的一个解决之道

  18. kankan 于 2010-12-10 9:31 下午

    在超多核的机器上,对于通用大型计算任务,空分看来比时分更合理,但对于强调实时的嵌入式领域中,基于微内核的消息机制似乎难以保证对请求的快速响应

  19. julang3 于 2010-12-11 7:14 上午

    如果底层硬件,比如Tilera的CPU支持支持基于硬件的高带宽、低延时、低开销的消息传递机制,性能,实时性方面似乎都不是问题;FOS的文档没看完,感觉和tilera目前在其CPU上实现的HV+LINUX的思路类似;

  20. MIPS 于 2010-12-11 8:08 下午

    FOS可能是TILERA把现在的HV+LINUX+ZOL发展的更彻底,更直接,这个应该是未来发展的一个方向。

  21. multi-core 于 2010-12-21 9:57 下午

    HI,我们是一家小安全公司,主要开发防火墙、UTM以及IDS系统。目前想把UTM和防火墙从X86平台移植到多核上,寻找这方面的高手一起合作。有意向者发邮件到asdf8360@126.com

  22. quain 于 2011-11-29 6:49 下午

    首席关于多核OS的发展有什么看法?强烈建议写篇文章介绍介绍啊:)

  23. ULCC 于 2011-11-29 11:46 下午

    Qubes值得关注一下。
    Qubes is an open source operating system designed to provide strong security for desktop computing. Qubes is based on Xen, X Window System, and Linux, and can run most Linux applications and utilize most of the Linux drivers. In the future it might also run Windows apps.

  24. 陈怀临 于 2011-11-30 10:28 上午

    我在操作系统方面在2005或者06年出现过一次大的转折点。我应该是最早注意L4和XEN的一批人。但是由于当时对芯片设计产生了浓厚兴趣,结果没有去深入L4和XEN,转向芯片方面去了。现在想起来,是个错误。。。目前我对我在虚拟化方面的功力非常的不满意。。。

  25. yunhaid 于 2011-11-30 11:56 上午

    –>我在操作系统方面在2005或者06年出现过一次大的转折点
    嗯,想问一下转折点的细节,我知道你一直是微内核OS的支持者。

  26. 理客 于 2011-11-30 1:28 下午

    首席可能是自身已在高处不胜寒,认为OS到尽头了,转个山头暖暖身。我基本不懂OS,但支持微内核,高手更喜欢留给自己的发挥的空间更多,而宏内核限制了内核外的的高手。

  27. awei 于 2011-11-30 5:48 下午

    多核与OS问题的关键在于多少是多,4个core是多核,400个也是多核。

    问了简化问题的讨论,假设linux内核就一把大锁,APP一陷入内核就去抢这把锁,
    那么在只有4个核的情况下,内核的锁竞争还可以接受。 一旦核多到400个,所有的APP都可能就在等这把锁了,这种锁竞争限制了系统的资源吞吐率。

    一般宏内核都会面临这种问题,core太多,锁竞争太厉害,资源吞吐率上不去。

    微内核这个时候优点就显示出来了。

    是不是这个意思?

  28. MIPS 于 2011-11-30 6:12 下午

    TILERA最近搞了一个叫做TTR的东东,用在视频处理,多核加速线性度非常好,不知道是否能用到网络上面。

  29. COPYING CHEN 于 2011-11-30 7:28 下午

    没看懂,回去学习,然后copying

  30. awei 于 2011-12-02 12:47 上午

    2011年华为软件技术大会—OS技术峰会议程表

    9:50~10:30 系统软件技术的发展趋势和挑战 胡子昂
    10:40~11:20 支持海量数据处理的高性能通信技术 徐志伟
    中科院计算所总工程师、研究员

    可惜首席不在啊!

  31. awei 于 2011-12-02 1:45 上午

    这几天好好研究一下这2篇文章,
    下周去深圳开会问问这些专家.
    试探一下他们上不上弯曲评论来学习.

  32. multithreaded 于 2011-12-02 6:20 下午

    估计胡、徐两位都回答不了你的问题 :-(

    要找懂OS、Multicore的专家问才有点希望。

  33. 陈怀临 于 2011-12-02 9:17 下午

    唐优化,你这话得罪人呀。。。

  34. Multithreaded 于 2011-12-03 10:44 上午

    继续得罪人一把。

    单独的问陈首席或者我,也没戏。 把我和首席关在某个高级宾馆的会议室里,闭门思过几天, 可能会有点门。

    一句话,这是一个很新的领域。大家应该一起来闯一下 :-)

  35. 陈怀临 于 2011-12-03 11:06 上午

    Heeee。你我在一起N天,会有性取向的问题。。。希望是你我各自在一个房间,好吃好喝好招待[重点在招待]。

    你今天不在convention center?

  36. awei 于 2011-12-04 7:18 下午

    关于影响现代操作系统可扩展性的第二个因素locality aliasing的问题:

    OS与APP跑在相同的核上,
    由此导致的cache颠簸 对性能的影响真有这么严重吗?
    当核达到100个甚至更多的时候,会像lock一样造成指数级的下降吗?
    光考虑这个因素的话,用n路组相连高速缓存的做法,是不是比要大改操作系统的代价更小一点?
    有没有必要非要因这个因素,非要把OS与APP分开?
    请多核的专家指点! 谢谢

  37. awei 于 2011-12-05 3:57 上午

    关于locality aliasing问题的思考:

    其实Unix操作系统当初在设计的时候就考虑过APP与OS在同一个核上运行时造成对cache line争用的问题(高速缓存颠簸), Unix操作系统的一个进程的地址空间奇怪的布局就是为了减少OS与APP的cache冲突才这么设计的.
    这和首席提的cache cloring是一个意思.
    不过当时的CPU在访问cache的时候还是以虚拟地址为Hash.不过他妈的现在的CPU在访问cache的时候以物理地址为Hash了,
    今天的操作系统确实面临这个问题,尤其当cpu的核数达到一定程度的时候,确实是对计算资源的一种浪费!

  38. awei 于 2011-12-05 4:13 上午

    在提一个关于多核与OS的问题:
    假设10年以后,1台计算机上100-1000个核是很正常的事,单个计算机拥有如此强大的计算能力。
    但如果那个时候单个计算机的存储能力没有跟上来,比如硬盘的访问延迟还是那么大,访问带宽进步缓慢,(而且这是很有可能的事)。
    那么在这种情况下对现代操作系统加以革命又有什么意义。
    如果仅仅是使用其计算能力的话,为什么不换一个方式去使用现代操作系统。比如:
    在100个核的情况下,将其中20个核跑操作系统。剩下的80个核:
    (1)可以裸跑,不跑操作系统。
    (2)可以当成一个计算设备来使用,而不是执行进程的CPU
    (3)也可以使用cpu+gpu的方式来使用系统的计算能力。

    我只是感觉只有当100个核是正常情况的同时,系统的存储技术和网络技术也有了巨大突破的时候,现代操作系统才面临可扩展性的真正问题。

  39. 根本不相干 于 2011-12-05 5:00 上午

    我认为核数多到一定程度后,不可能通过OS屏蔽简单暴露为一个单一的SMP系统:对软件开发而言,不再有免费午餐,上层软件(也许不是应用层,而是应用框架平台层)必须适应这种计算模式。

    看看今天的云计算,记得早先和很多人交流时,他们不少会问“是不是类似分布式OS把多台计算机合成一台大的,难度是不是很高”?这时候需要给他们解释:从资源利用角度,这个说法没问题;但从架构角度,不是在OS层面整合,而是上面的平台层和框架层整合

    个人觉得,传统OS层面试图去做创新,机会很小。分布式、并行环境下,应运而生的平台、框架层等中间件层就是新的”OS”,大家的编程思维也会逐渐习惯。看看刚刚过去的中国hadoop技术大会场面,与三年前相比差异是何等之大。

  40. Multithreaded 于 2011-12-05 12:19 下午

    要问的问题是: 你是要多核加速一个问题还是要加速N>1个问题。

    When N>1, it is relatively easier than the case of N=1.

  41. 沙加 于 2011-12-07 6:00 上午

    39楼说的有点意思
    单一的SMP系统目前其实已经无法适用众核了,尤其是当核数多到硬件上再无法保证cache coherence的时候,更是如此。
    这两篇论文里提到的架构算是一种很有创意的解决方案吧,只是暂时在工业界反响不强;可能以后会陆续出现大量融合了分布式、集群等思想的并行计算框架,有可能是OS层面的,也有可能是一些中间框架。

  42. areyouserious 于 2011-12-17 9:02 下午

    Tilera 其实没那么成功。这种2D的NOC结构注定节点间通信是个瓶颈。不是什么OS可以解决的。Tilera的技术实力也没有强。