节点文献

嵌入式可重构计算系统的设计技术研究

【作者】 王颖

【导师】 彭澄廉;

【作者基本信息】 复旦大学 , 计算机系统结构, 2009, 博士

【摘要】 作为一种全新的计算模式,可重构计算已成为当前的研究热点之一。然而,在系统设计支持方面,随着嵌入式可重构计算系统复杂度的不断增加,越来越需要从系统级进行设计,以提高设计效率;而在运行环境支持方面,由于传统操作系统不能适应新的可重构系统应用需求,如何通过操作系统屏蔽底层平台实现细节,向开发人员提供软/硬件统一的编程模型,并有效管理可重构计算资源以提高利用率,也是可重构计算需要解决的主要问题之一。针对上述问题,本文对嵌入式可重构计算系统的设计技术进行了探讨,主要研究内容包括:1.结合可重构计算特点,以UML和SystemC为系统级设计语言,提出模型驱动的系统级设计方法。该方法利用UML对系统结构和重构行为进行了描述;设计了面向SystemC的UML Profile扩展;在MDA(模型驱动架构)指导下初步实现了从UML模型到SystemC可执行框架代码的转换,保持了模型和实现的连贯性,有利于嵌入式可重构计算系统的快速开发和验证。2.从软、硬件任务不同的语义和实现方式出发,设计了一种基于统一多任务模型的可重构操作系统框架。以逐层抽象的方式,使操作系统具备硬件任务和可重构计算资源管理能力;通过硬件桩任务实现任务间通信与同步,简化了硬件任务的设计实现,并完全兼容现有的软件任务间通信机制。该设计使操作系统能够有效管理硬件任务及可重构计算资源,为可重构计算平台提供良好的运行环境支持。3.面向数据流驱动应用,提出了与Pthread兼容的软/硬件统一多线程编程模型SHUMDR。通过硬件线程接口设计、操作系统内核扩展,实现了支持动态可重构的操作系统原型,并提供了一个轻量级的统一线程库。实验测试结果表明,SHUMDR的管理开销和空间资源占用率较小,通过配置位流缓冲和配置Cache可明显改善硬件线程创建时间较长的状况,线程间通信与同步机制简单有效。该模型在探索编程灵活性的同时兼顾了硬件线程的实现效率,能够较好地支持可重构应用的开发。4.针对可重构计算平台上的负载可分应用,结合SHUMDR对其性能进行分析与预测。根据底层平台结构和应用的特点,采用不同的负载分配方式,重点讨论包含多个可重构处理单元(Reconfigurable Processing Unit,RPU)计算平台上的负载调度问题。分析结果表明:当通信与配置不完全重叠时,存在最大可用RPU数和优化的RPU数,可得出优化的调度方案及应用处理时间。

【Abstract】 As a novel computing paradigm, reconfigurable computing has become a hotspotof current computer architecture research. However, in respect of the design-timesupport, it is needed to start the embedded reconfigurable system design fromsystem-level to cope with the increasing design complexity. While in respect of therun-time support, as traditional operating system can not meet the requirements ofnewly emerging reconfigurable computing systems, one of the key problems to besolved is how to make the operating system manage the reconfigurable computingresources, and provide a unified software/hardware programming model forapplication developers.This paper focuses on the problems mentioned above and explores the designtechnology of embedded reconfigurable computing system. It mainly consists of thefollowing four parts of contribution:Firstly, with considering the features of reconfigurable computing, this papercombines the capability of UML with SystemC and presents a model driven designmethodology at system-level. It makes use of UML to describe the embeddedreconfigurable system from the system structure and reconfiguration behavior aspect.Within the scope of Model Driven Architecture, A UML Profile for SystemC is givento implement the transformation from UML model to SystemC executable codeskeleton. The design methodology could derive implementation from specificationdirectly while contribute to rapid system prototyping and initial function verification.Secondly, based on the essential differences between software-tasks andhardware-tasks, this paper presents an operating system framework for reconfigurablecomputing using unified multi-task model. The operating system could managehardware tasks and reconfigurable computing resources through hierarchicalabstraction. A hardware stub task is combined to each hardware task to deal withinter-task communications. This simplifies hardware task design, and makes theoperating system compatible with current software programming models andinter-task communication mechanisms. This operating system framework couldmanage the hardware tasks and reconfigurable computing resources effectively, andprovide a run time support for reconfigurable computing platforms.Thirdly, for data stream driven applications, this paper proposes a Pthreadcompatible Unified Software/Hardware multi-thread programming Model supporting Dynamic Reconfiguration(SHUMDR). Through hardware thread interface design andoperating system kernel extension, we implement an operating system prototype andprovide a light weight unified thread programming library. The experimental resultsindicate that both the overhead time and resource utilization of SHUMDR are at lowlevel, the time for hardware thread creation is largely decreased through configurationbitstream buffer and configuration cache, the inter-thread communication mechanismis simple and effective. SHUMDR could exploit programmable flexibility whileeffectively maintain hardware tasks’ performance, and give support for thedevelopment of reconfigurable applications.Finally, for Divisible Load Application(DLA) design on reconfigurablecomputing platforms, this paper gives a performance analysis and forecast throughSHUMDR. Using different way of load allocation according to the characteristics ofthe platform and the DLA, The problem of divisible load scheduling is mainlydiscussed for a reconfigurable computing platform including multiple ReconfigurableProcessing Units(RPUs). It is proved that there exist maximum RPU number andoptimal RPU number when configuration does not completely overlap withcommunication. An optimal solution for the load scheduling and the processing timeis derived for DLA design and implementation.

  • 【网络出版投稿人】 复旦大学
  • 【网络出版年期】2009年 11期
节点文献中: