基于多核架构的系统级优化及调度技术研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文献综述:基于多核架构的系统级优化急调度技术研究
一、研究现状
随着半导体技术以及集成电路制造工艺的迅猛发展,当代处理器体系结构的研究正在朝着多核的方向发展。Intel、IBM、AMD、SUN等主流芯片商早在2006年前后就已经在市场上发布了各自的多核处理器,从2005年出现的英特尔与AMD的双核处理器、2006年推出的4核处理器到2007年2月英特尔公司展示的80核处理器,处理器中集成核的数目呈现迅速增多的趋势。与此同时Intel支持建立的多核技术重点实验室先后落户于全国五所重点高校。多核体系结构的研究开始成为热点的研究方向。PC平台多核处理器的普及带动了嵌入式平台的多核体系架构研究,很多的专用于图像计算,数字信号处理的应用,为了突破单个处理核的速度限制,都开始采用单芯片多核心的设计方法。
2010-2011年以来,随着智能手机平台的多样化及其大范围的普及,嵌入式平台处理器的性能和能耗问题再次引起研究者及各大厂商的重视。ARM中国区总裁吴雄昂预测将来发展趋势是多核化,可能下一步发展到大小核结构。当前多核处理器的发展还处于起步阶段,有很多问题亟待解决。所以,多核架构的研究必将再次成为研究的热点。
根据处理核心的功能相同与否可以将多核分为同构多核和异构多核。同构多核中的每个计算单元拥有相同的体系结构,对所运行的任务没有特别的要求,市面上流行的Intel和AMD的多核处理器就是这样的产品。而异构多核架构中的不同核心具有不同的体系结构,某些特殊的核心往往被用于进行特定的计算和处理。IBM的Cell就是异构多核架构。
二、问题描述
为了满足各种需求,针对各种特定应用目的设计的多核系统越来越普遍。除了针对特定应用而优化设计的多核心处理器外,还有很多是专门负责操作系统运行的通用处理核心。目前已有的异构多核处理器体系架构中,一般把把运行操作系统和应用程序的通用处理器核心称为主核,把针对某些特定应用负责大量数据运算任务的处理核称为辅助核。比较常采用的是一种称为“主-辅”架构的控制模型,主处理器部分可以对整个系统实施管理和调度,并将需要大量运算的任务分配给辅助处理器部分去完成。
多核处理器内部内核间的片上通信已经形成了多种不同的设计,但是仍然无法有效地解决多处理核之间的协作问题、片上通信通道分享问题,特别是面向嵌入式异构多核领域,由于芯片上的处理核的种类、需求各异,对设计实现的代价有较高要求,因而需要进一步的研究其片上通信方式以提高性能。高效的片上通信架构设计,不仅包括核间通信,还包括核内对内存数据的访问。
在嵌入式多核领域,比较典型的设计是TI公司推出的OMAP平台和DaVinci平台。
两者都是采用“ARM+DSP”的设计,ARM处理核通过信箱消息(Mailox Message)的形式与DSP进行通讯,在体系上使用一个交通控制模块(Traffic Controller)相互连接。
同时被连接到交通控制模块的还有DMA控制器、SDRAM、FLASH等存储设备。这种片上通讯架构虽然初步解决了DSP模块所需的大量数据的片内传输问题,但其运行时需要对信箱及DMA进行配置,必然会占用较多的片上通信带宽。
下图是业界比较常采用的经典模型的异构多核处理器组织架构,拥有一个主核及其本地Cache,一个辅核仅与其本地存储相连,一个独立的信箱模块和一个独立的DMA 控制器单元连接在互连总线之上。由于信箱与辅核分开,因而辅核需要不断的轮询信箱以查询或发送操作信息,这增加了相当多的总线通信代价;其二,由于DMA 控制器也是分立的,因而辅核以及主核配置DMA 控制器以完成数据传输都需要通过总线,这也增加了很多的总线通信代价。
应用经典通信模型的异构多核处理器原型图
三、切入点
针对目前的异构多核处理器无法提供高效的片上通信机制,仍然无法有效地解决多处理核之间的协作问题、片上通信通道分享的问题。本课题拟提出一种针对“主-从”
架构控制的优化模型,并结合一种软硬件协同调度的任务分配方式,从而提高核间协作以及数据传输的性能。以对MPEG-4视频的处理性能为参考标准,设计或优化面向特定标准的MPEG-4解码器算法,针对目前已有的几种处理器架构系统进行综合的性能测评。
四、拟提出的技术路线及创新点
1.面向MPEG-4视频解码特定应用的片上多核通信模型设计
设计一套新颖高效的异构多核片上通信架构模型,面向多媒体处理中的视频编解码处理,以提高处理核的存储性能为主要目的。
主处理单元负责运行操作系统、应用软件的控制和简单的运算等;而辅助核处理大量数据的视频数据。主核将任务分配给辅核,辅核自行建立该任务的执行环境并处理该任务。主处理核可以访问系统的全局地址,而辅助核只能访问其内部的本地存储地址。
片上通信的主要包含两大部分:第一部分是视频处理任务本身,包括任务的运行上下文以及输入输出数据两大部分。这是片上通信的主要部分。由于视频处理任务在初始时是装载在系统内存中,而辅助处理单元的全部运行环境是其本地存储,因而这一部分通信的实质即是系统内存和辅助处理单元中本地存储之间的大数据
量传输,称之为数据搬运类通信;第二部分是辅助处理单元在运行时与主处理单元的通信和同步。这一部分主要是进行小数掘量的主辅处理单元之间的直接通信,称之为消息传递类通信。辅助处理核功能特殊、对性能要求高,所以需要进行重点的
全新设计。
信箱模块作为消息传递路径的中转机构负责传递主核与辅核之间的通信信息。同时,其还接收主核与辅核发送的数据搬运控制信息,并转发给数据搬运模块;数据搬运模块则在数据搬运路径上,并作为该路径的控制单元在本地存储与系统内存之间进行数据交换。在主辅核之间设置一个专用的通信控制单元,其内部主要包含一个扩展的信箱模块和一个数据搬运模块。通过这两个模块的配合,主辅核之间的两类通信都可以妥善解决。而由于通信控制单元独立于主辅核运行,主辅核都可在进行大数据量通信(主要是任务以及输入输出数据的搬运)的同时正常运行其他任务,因而系统内部大量数据的传输不再成为运行的瓶颈,整体性能可以大幅提高。
本通信模型基本可以分4类通信类型:主核向辅核发起通信、辅核向主核发起通信、主核发起数据搬运类通信、辅核发起数据搬运类通信。通过这4 类基本通信可以组成所有的通信需求。
2.采用硬件调度器的软硬件协同调度任务分配方式
3.面向特定平台的MPEG-4视频解码器优化设计