The reconfigurable computing technologies have been merged into heterogeneous multiprocessor system-on-chip (MPSoC) for the past decades. The emerging technology of reconfigurable MPSoC has been regarded as one of major trends in future embedded computing systems. However, the double-edged sword is that programming wall and task-level automatic parallelization are posing serious challenges to the design of heterogeneous reconfigurable MPSoC. In order to solve the programming wall problem, in this project we originally introduce service-oriented concepts into heterogeneous reconfigurable MPSoC design, and then we propose an architecture middleware infrastructure. The service-oriented middleware provides users with unified programming interfaces, under which heterogeneous computing resources are regards as servants, while the software/hardware computing functionalities are defined as services. .Based on the service-oriented middleware, the basic aim of this research is to provide a framework supporting the task-level automatic parallelization, which can be further divided into two key issues: task partitioning and scheduling. First, in order to guarantee an effective exploration of automatic hardware/software leverage, partition algorithms are designed under the consideration of following factors: hot spot tasks, differences between hardware and software execution, and the reconfigurable characteristics. Second, we also apply the instruction-level renaming technologies to task level, and propose a novel dependency aware scheduling mechanism for task-level out-of-order execution..Our research brings a new idea and research paradigm attacking the programming wall problem, and provides theoretical and practical significance to the task-level automatic parallelization methodologies.
将异构多核片上系统与可重构技术相结合是嵌入式计算系统的发展趋势之一。然而,编程墙问题和任务自动并行化问题给异构多核可重构片上系统的发展带来了巨大的挑战。为了解决这两个问题,我们首次将面向服务思想引入异构多核可重构片上系统,拟构建面向服务的中间件框架,将异构计算资源抽象为服务体,将软硬件计算功能定义为服务,为用户提供一致的编程模型,以此解决编程墙问题。在此基础上,为了提升任务的并行度,本项目重点研究任务自动化并行机制中的软硬件功能动态划分策略和支持乱序执行的动态调度算法,拟在任务划分算法设计中同时考虑热点任务、软硬件差异以及可重构特性等因素,并将指令级的重命名技术扩展到任务级,提出一种新颖的调度算法来支持任务的乱序执行。本课题的顺利开展对解决异构多核可重构片上系统的编程墙问题提供了新方法和新思路,同时对任务的自动并行化研究具有重要理论意义和应用价值。
基于可重构技术的片上多核处理器是一种将可重构技术与MPSoC 相结合的解决方案,能够有效地满足嵌入式领域的不同应用要求。然而,由于计算资源具有多样性和多变性的特点,给任务调度、资源管理和编程模型都带来了极大的困难。本课题的工作围绕异构多核可重构片上系统关键技术展开,主要包含如下几个方面:.(1)面向服务的可重构平台的硬件架构.通过引入面向服务的理念和服务体-执行流的概念,提出了一种面向服务的异构多核可重构片上系统层次化模型。该模型将系统中的计算资源抽象为若干种服务体。面向服务概念的引入使得系统具有良好的可扩展性,并可向用户提供一致的编程接口,有利于解决异构多核系统的“编程墙”问题,提高了系统的适用性。.(2)可重构平台上的任务调度以及资源管理.本课题根据可重构平台的任务特征以及资源特征,本课题设计了基于独立窗口的任务调度和资源管理算法,其中,任务调度算法和资源管理算法紧密耦合,能够有效降低任务调度占用的处理器时间,并且能够保证每次重构请求的有效性,从而在不带来额外开销的情况下,更为有效的利用可重构资源。.(3)可重构平台上的任务自动并行化.异构多核可重构平台上集成的计算资源日益增多,给有效并行利用计算资源带来了严峻的挑战,加剧了“编程墙”问题带来的影响。本课题首先将任务级的记分牌和Tomasulo算法进行了扩展,然后采用硬件的方式实现了该算法,并对该硬件模块功能的正确性以及调度性能进行了测试。硬件的Tomasulo算法作为一个硬件调度器与调度算法一起构成了调度系统,硬件调度器检测任务之间的RAW相关并消除任务间的WAW相关和WAR相关,从而自动完成任务的并行化。.(4) 面向大数据应用的异构多核可重构平台 . 本课题提出了一种面向大数据应用的异构多核可重构平台。该平台使用高性能处理器和片上硬件加速器核阵列并行执行,对大数据应用能够取得可观的性能优势。在该异构多核平台中,可重构器件和高性能通用处理器之间使用板间总线相连。两者处于一种松耦合的方式,增大了系统的可移植性和可扩展性。另外,可重构器件端集成了对片外内存的虚拟管理模块,为硬件加速器核处理大数据问题提供了存储支持。. 综上来说,本项目的顺利实施对促进可重构计算技术的发展,特别是在大数据领域的应用,同时对缓解异构计算系统的编程墙问题,提升异构多核系统性能和资源利用率有重要意义。
{{i.achievement_title}}
数据更新时间:2023-05-31
基于分形L系统的水稻根系建模方法研究
硬件木马:关键问题研究进展及新动向
拥堵路网交通流均衡分配模型
卫生系统韧性研究概况及其展望
面向云工作流安全的任务调度方法
异构多核可重构计算平台上面向服务的操作系统关键技术
异构多核片上系统自适应实时任务调度机制及算法研究
面向气候和湍流模拟的百万量级异构众核可扩展并行算法与优化方法
异构系统上基于任务窃取的负载平衡研究