We use cookies to improve your experience with our site.

Godson-T: 适于并行程序执行的高效众核处理器结构

Godson-T: An Efficient Many-Core Architecture for Parallel Program Executions

  • 摘要: 摩尔定律保证了未来处理器上仍会有更多的可用晶体惯资源。但存储墙和ILP墙却使得传统的单核串行处理器性能不再可能获得提升。因此学术界和工业界都转向了多核和众核研究。众核研究的挑战是如何有效利用片上资源,并保证灵活的可编程性。我们提出Godson-T众核体系结构来解决这一问题。

    1.本文的创新点
    本文提出了众核结构Godson-T,它支持高效的数据通信和高效的线程同步。配合运行时系统和线程库支持,Godson-T能支持高效灵活的程序执行。
    2.实现方法
    Godson-T通过如下两点支持高效的数据通信。
    提出了一种基于区域的缓存一致性协议(RCC)。RCC是一种类似Scope consistency的弱一致性协议,但区别在于Godson-T是用硬件实现,并且对不同的访存操作做了区分,而不象前人一样不加区别的加以处理。特别是Godson-T区分了生产者区域和消费者区域,并在硬件上分别执行不同的一致性操作,避免了由于不加区分处理所带来的不必要且代价高昂的一致性操作。
    提出了一种数据传输代理(DTA)机制。DTA可以在CPU小核正在计算时异步地进行数据传输。DTA有二点特色,一是DTA可以水平地在不同小核之间的SPM之间传输数据,还可以垂直地在不同存储层次之间传输数据,如主存到L2 cache,L2 cache到SPM等;二是DTA可以支持一维连续的数据传输,还可以支持二维带步长的数据传输。加上Godson-T的每个小核可以同时支持多达4个DTA操作,这极大提高了数据通信的效率和灵活性。
    Godson-T通过如下两点支持高效的线程同步。
    提出了一种基于硬件的片上同步管理器(SM)。利用片上通信延迟低的特点,SM能高效地支持互斥同步、栅栏同步、信号量等常见同步操作。
    Godson-T每个处理器核的本地SPM的每个字都配置了一个full/empty位。full/empty 已经被前人证明是一种支持细粒度同步的有效方法。Godson-T基于full/empty位,支持二种细粒度同步类型:sync与future。前者用于生产者-消费者类型的同步,后者用于对未来要产生的数据的保护。基于这两种类型,可构造多种基于数据驱动的同步模式。
    Godson-T提供类似Pthreads的编程接口,以及批量式线程创建和销毁机制。加上基于上述数据通信机制与线程同步机制的运行时系统,Godson-T能面向广大熟悉Pthreads的程序员,提供高效的程序执行机制。
    3.结论及未来待解决的问题
    性能与可编程性向来被认为是并行体系结构设计中矛盾对立的双方。Godson-T在不明显丧失可编程性的前提下,提供了能大幅度提高众核协同处理性能的新的数据通信机制和线程同步机制。Godson-T的可编程性与传统的基于cache层次的多线程编程机制相当,广大程序员都可从中受益。而且,利用Godson-T提供的新机制,程序员可以比较简单地获得更高的程序性能。 我们相信,Godson-T的设计理念,将对未来的众核体系结构设计提供有益帮助。
    虽然Pthreads多线程编程模型用户广泛,但Pthreads的抽象层次较低,不利用提高大众程序员的编程效率。因此需要加强编程语言的研究,特别是PGAS类型的编程语言,以进一步提高Godson-T的可编程性。
    4.实用价值或应用前景
    Godson-T的设计思想对众核设计有借鉴意义。另外,Godson-T的原型芯片将被投片,在经过分析、优化和改进之后,Godson-T可用于下一代高效能计算机系统。

     

    Abstract: Moore's law will grant computer architects ever more transistors for the foreseeable future, and the challenge is how to use them to deliver efficient performance and flexible programmability. We propose a many-core architecture, Godson-T, to attack this challenge. On the one hand, Godson-T features a region-based cache coherence protocol, asynchronous data transfer agents and hardware-supported synchronization mechanisms, to provide full potential for the high efficiency of the on-chip resource utilization. On the other hand, Godson-T features a highly efficient runtime system, a Pthreads-like programming model, and versatile parallel libraries, which make this many-core design flexibly programmable. This hardware/software cooperating design methodology bridges the high-end computing with mass programmers. Experimental evaluations are conducted on a cycle-accurate simulator of Godson-T. The results show that the proposed architecture has good scalability, fast synchronization, high computational efficiency, and flexible programmability.

     

/

返回文章
返回