存档

文章标签 ‘Angstrom’

MIT Angstrom 项目(二)-设计自我感知的多核操作系统

2011年2月26日 sigma 9 条评论 24,414 views

前面那篇关于MIT Angstrom项目的多核互连的文章讲了从硬件上提高多核芯片的性能和效率。本文将继续介绍MIT的Angstrom项目,主要介绍其软件,及操作系统层面来提高多核计算机的性能。

在MIT新闻介绍中,他们准备利用机器学习(machine learning)等方法实现一个具有性能感知等自适应能力的操作系统,名字貌似叫FOS(factored operating system).为此,他们利用机器学习等方法建立了自我感知的计算模型(SElf-awarE Computational model,简称SEEC)。

在这种操作系统中,应该具有一些以下特征:

  1. 第一个特征是具有性能感知能力,并且基于此进行对处理器核进行动态调度,比如对于一些比较占用资源的应用,操作系统可以感知(之前一般都是通过处理器核的温度反馈的?),并且动态的多分配几个内核(感觉这和Intel的睿频技术有点像,只是Intel的是硬件,并且是提高单个处理器核心的主频来提高性能)。
  2. 第二个具有算法感知能力,也就是说,程序员可以写几种算法实现同一个功能,由操作系统通过智能(通过机器学习等获得)判断何种算法效率最高,从而执行何种算法来完成任务,更多细节可看这里
  3. 第三个特征是具有任务感知并划分的能力,对于一个给定的任务,操作系统可以判断这个任务是否可分解,可以的话,将其分解成更细的任务,分配到不同的处理器核处理,典型的情况就是文件系统的检索。这篇新闻还提到定义一些新的指令集,来更高效的解决Cache一致性的问题:

    Kaashoek has demonstrated how the set of primitive operations executed by a computer chip can be expanded to allow cores access to each other’s caches. In order to streamline a program’s execution, an operating system with Kaashoek’s expanded instruction set could, for instance, swap the contents of two caches, so that data moves to the core that needs it without any trips to main memory; or one core could ask another whether it contains the data stored at some specific location in main memory.

    嗯,最后附一张Linux的kernel map:
     
    更多阅读:MIT关于Angstrom操作系统新闻原文

MIT Angstrom 项目(一)-为多核芯片设计新一代核间互连通路

2011年2月26日 sigma 5 条评论 20,652 views

今天从博客园新闻新闻频道看到了关于MIT的Angstrom项目的介绍,感觉这东西很有必要,也很有前途,于是去MIT官网看了下。这篇文章就介绍一下Angstrom硬件部分,为多核(Multicore)众核(Manycore)芯片设计新一代的高速互连通路(注意,这里讲的是通路,而没说是电路)。

随着摩尔定律日渐式微,提高性能的主要道路主频之路几乎走到了尽头(不过前几天IBM还在ISSCC2011上发布了 5.2GHz 的z196,顺便打下广告,原文的标题是ISSCC: China eyes petaflops, IBM hits 5 GHz,有咱龙芯哈),但天无绝人之路,主频不能提高了,于是出现了多核(Multicore)和众核(Manycore), 但是,多核使得原来已经很明显的存储墙(Memory Wall)愈加明显。并且多核的存储墙往往是不可以通过增加存储层次(如数级Cache)来消除或者减小,因为多核的存储墙的一个重要原因是存储(包括Cache)一致性(memory coherence)导致了核间通讯的增加,这部分通讯是没有办法通过多级存储结构减小的。

为此,美国国防部高级研究计划署(DARPA)在MIT和几个大公司里面推进了一个叫Angstrom的项目,该项目的硬件部分主要目的就是为多喝芯片设计新一代的核内核间互联通路。现在,主要有两种方法提高互连通路的Performance。

第一种方法没有对通信介质进行改进,还是基于电子(electrical),其基本思想是受互联网启发,每个核相当于网路中的一台机器,为了维护存储一致性,不是采用之前的广播算法,而是只把新的数据发给需要的核心,并且每个核心维护一张路由表(router),找到最近的最快的路径发至目标核心,这样的话,可以大大减少核间通讯,提高核间通讯性能。(不过个人感觉,如何决定那些核心需要更新的数据,以及每个核心如何维护一张路由表不出错是一个很难解决的问题)

第二种方法是改进通信介质,用光互连(light)替代现有的电互连,而计算电路保持原来的电子结构。由于光的带宽极大,因此,这种方法是革命性的,将彻底改变整个计算机的结构,因为这是存储墙将不再存在,现在很多为了提高访存的结构将从计算机体系结构中消失。很多优化访存的编译技术也将从编译器中消失。但是该技术现在技术不是很成熟,成本也极其高昂。

第三种方法是改进数据结构,比如对某些不变(只读)的数据,就可以不关心其一致性问题。

在下一篇文章中,将介绍下Angstrom的软件部分,设计新一代多核操作系统

更多阅读:MIT News的英文原文.

最后,附上之前看到(可能有点老了)一张龙芯众核Godson-T的结构图:

 

无觅相关文章插件,快速提升流量