异构多核上基于算法组件的编程及其运行时关键技术研究

来源 :中国科学院大学 | 被引量 : 0次 | 上传用户:bqayxgflx1
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在性能和能耗的驱使下,处理器芯片经历着单核到同构多核,再到异构多核的发展之路。异构多核虽然是提升能效的有效途径,但也为编程效率、性能和能耗的自动调优带来了很大的困难。过去十多年的相关工作已经对异构多核的潜力、编程方式以及自动调优等问题做了大量的研究。我们认为其中以算法组件为中心的协作式编程所具备的抽象粒度、协作性和扩展性等特点恰恰适应当前日趋复杂多样的体系结构发展趋势。基于算法组件的方法是一种源自于库,但更为严谨的编程方式,其保持了基于算法/模块构建程序的习惯,摒弃了库松散混乱的缺点。然而该方法至今并未得到很好的发展和应用,仍存在一些未解决的关键问题,例如:缺乏系统的软件体系支持,无法应对新型加速器,复杂平台自动调优难等。本文正是要迎着当今体系结构日趋复杂多变,软件开发需求飞速增长的趋势,倡导使用基于算法组件的协作式编程,并系统性的研究和实现相应的关键技术,来发掘该方法的优势和潜力。本文的具体贡献如下:  异构多核上基于算法组件的编程和运行时:我们提出以算法组件为中心进行编程角色、职责和视图的划分;设计并实现了能将多角色代码融合并高效执行的编程和运行时整体框架ACCPI(Algorithm Component Centric Programming Infrastructure);系统的讨论了整体方案的开销和算法组件的调度等问题。我们将6个典型的测试用例使用以算法组件为中心的方式重新构建,并由运行时框架托管执行在典型的(多核CPU+GPU)异构多核平台上,结果表明:一份程序无需修改便可运行在单核、多核和GPU三种不同的平台上,且获得了和三种原始程序相当的(95%以上)性能,达到了性能的可移植性。以此为基础,我们提出了 WSQ(weighted shortest queue)的调度策略,结合了算法组件特点和平台资源使用情况进行调度,在包含三种核(单核、多核CPU和GPU)的平台上同时运行6个应用程序可获得1.37×的整体平均加速比。  基于算法组件的编程在新兴加速器上的扩展:我们以新兴的非精确异构多核为出发点,探索了如何在未来更加灵活、可配置的异构多核平台上构建基于算法组件的方法。我们首先构建了一个模型级的非精确异构多核模拟平台。在此过程中我们为不同的加速器设计了高能效的非精确计算方案;且提出了利用性能/能耗模型为运行时策略提供反馈的方案。以此平台为基石,我们扩展了基于算法组件的编程框架ACCPI来支持非精确计算;并提出了一种基于分层旋钮的运行时技术来抽象异构非精确加速器及其执行时可变的参数配置;同时提出了使用基于能效分数的加速器标定策略,为加速器的选择提供更合理的参考。我们使用5个典型的测试用例,对基于算法组件的方法和上述模拟平台进行评估,结果显示相对于精确CPU,我们获得了平均24%的能耗节省。  性能和能耗的自动调优:针对复杂且不规则的异构多核优化空间,我们设计并实现了一种基于多目标模拟退火算法的在线搜索策略,在生产运行当中为程序中的算法选取合适的加速器及其非精确参数,在一定的精确度要求下最大化能耗节省。该策略同时结合了IODC[92]的思想,对在线开销和收益进行有效管理;我们从算法分析和实验的双重角度验证了在线开销管理策略具有良好的鲁棒性。最后我们使用5个典型应用以及每个应用20,000个不同的数据集来模拟真实的用户执行场景,结果显示在保证精确度不低于95%,且考虑在线策略的性能/能耗开销的情况下,我们可以获得平均40%的能耗节省和2.1×的加速比。
其他文献
由于计算机在21世纪的大规模应用与普及,硬件和软件以几何倍数的发展,极大推进社会的信息化前进的步伐。可是人们渐渐发现即使耗资巨大的服务器集群也开始不能满足互联网庞大用
随着信息化的不断加快,国家公共安全、信息安全等关系国计民生的领域需要高可靠性、高安全性的全新身份识别技术,生物特征识别技术应运而生。但是,仅靠单一生物特征模态(比如人
异步电动机因其具有较高的性价比及良好的环境适应性,在电力系统及各种工业生产中被作为主要的动力设备而得到了广泛的应用。异步电动机的运行状况直接影响到工业生产的正常进
物联网凭借其连通互联网世界和真实物理世界的能力,已经在工业、医疗、交通、民生等各个领域获得广泛应用。无线传感器网络作为物联网前端感知物理世界的第一环,成为物联网系统
表情是人们非语言交流的一种重要表达方式,是理解人类情感的重要途径。本文主要研究了基于计算机视觉的脸部表情分析技术,主要工作包括: 1.提出了结合特征模板和肤色信息的人
织物在日常生活中是随处可见的,并在计算机动画中出现的场合很多,如窗帘、桌布、飘动的旗帜等;特别衣服覆盖了人体的80%以上,如果要求人体动画具有令人满意的细节和真实感,那么织
当前,NET平台已被广泛的应用于软件开发,在这样一个优秀的开发平台下,怎样将成熟的软件架构与集成方法应用于具体的软件开发过程,并针对具体情况加以改进和不断创新是本文的研究
近些年来体系结构的设计发生了许多变化,从原来的单核到现在的多核以及集群的设计,这种变化的一个重要目标就是满足应用的计算需求。然而应用的多样性以及差异性使得这种“one
近年,医学影像技术得到广泛应用,医学影像设备快速发展,由此产生了大量的医学图像信息,如何有效地、快速地从大规模图像数据库中检索出目标图像是目前需要解决的问题。信息早
现代银行业的盈利模式正在经历从传统的以单一存贷款为主营业务的批发银行到以客户为中心的零售银行和混业经营的改变。零售银行和混业经营的背后需要一套综合的应用信息平台