没有合适的资源?快使用搜索试试~ 我知道了~
云计算-支持可重构计算的Linux操作系统研究.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 110 浏览量
2022-07-08
03:55:49
上传
评论
收藏 10.45MB PDF 举报
温馨提示
试读
59页
云计算-支持可重构计算的Linux操作系统研究.pdf
资源推荐
资源详情
资源评论
支持可重构计算的Linux操作系统研究
1.1研究背景
第一章引言
在传统的计算系统中,算法可以采用两种不同的方法来实现。一是用软件编
程实现,并在通用处理器上运行。该方法灵活性高,通过编写软件代码,编译
成指令就可改变系统的功能,但指令的串行执行以及指令集的有限性使得通用
处理器的性能往往不能满足要求;二是采用硬件功能模块如专用集成电路
(Application
Specific Integrated
Circuit,ASIC)实现。这种方法具有很
高的执行速度和运算精度,但功能单一、灵活性差,要想实现不同的算法必须
重新设计集成电路,开发成本和周期都很高。
可重构计算作为一种新的体系结构,采用可编程的硬件模块来实现计算,填
补了软硬件之间的鸿沟,既保证了系统的性能(比软件高),又保证了灵活性(比
硬件灵活)[1,14,15]。以现场可编程门阵列(Field
Programmable
Gate
Array,
FPGA)为代表的可重构逻辑器件可以被任意次地重新配置,使得一片可重构器件
能够在不同时间运行不同的硬件算法,就像不同的算法运行在传统的处理器上
一样。
可重构计算通过在时域上重用硬件资源来完成对计算任务并行性的利用,可
简单定义为至少包含一个可变硬件模块的计算系统,此模块的功能应能够被最
终用户修改。修改过程主要是通过对系统中的可编程器件进行重构或部分重构
来实现的。利用这一技术设计的可重构系统,能在只增加少量硬件资源的情况
下,将软件实现和硬件实现的优点合二为一。它的出现使得过去传统意义上硬
件和软件的界限变得模糊,硬件系统得以软件化[2]。
从可重构系统被提出的一开始,它就以在各种应用场合表现出的优越性能而
倍受瞩目。
早期最成功的例子是Splash
2。在基因组分析的应用中,它比当时的SPARC
10工作站的运算速度整整快了2500倍;若做灰度图象的中值滤波器,则比
SPARC
10快了几乎140倍[3,4]。需要指出的是,Splash
2使用了17块FPGA
而SPARC
10只有1个CPU,按芯片数平均,在以上两个应用中每块FPGA分别使
性能提高了147倍和8倍,这一结果仍然是相当惊人的,并引发了学术界对可重
构计算的巨大兴趣。
随着应用场合的不同,可重构计算系统对性能的提高程度也不大相同。一般
情况下,按系统中FPGA的芯片数量进行平均,每块FPGA能使运算速度提高7一
支持可重构计算的Linux操作系统研究
研究,同时对EDA工具的智能化提出更高要求,能够完成软、硬、配置件的自
动划分和调度[8]。
可重构计算系统的结构优化是需要解决的关键技术之一。如何选择适合的电
路结构,确定重构单元的颗粒度范围(粗粒度的结构大都是针对某类特定应用而
开发的,如PACT公司的XPP),从而使用户的重构简单易行且可靠性高,是这一
研究范围需要解决的问题。
动态重构系统的实现,还涉及设计方法的需要。这意味着要将一个完整系统
的逻辑功能分时划分,分时复用芯片的逻辑资源。如何划分,如何实现这样的
划分,不仅涉及某种方法的提出,也涉及某种工具的推出,还需要另一类研究
人员的介入和努力,并研制性能优良的应用开发系统[9]。
对于动态可重构计算系统,为提高系统性能,需要考虑的一个重要问题就是
如何克服或减少重构时间,这将影响系统功能的连续性,是实现动态可重构系
统的瓶颈问题[i0]。
目前可重构系统的性能指标依据并不统一,在进行横向比较时缺少可信度,
因此需要尽快制定出一套客观、可行的可重构计算系统性能评测标准和机制。
1.3可重构计算的操作系统支持
在研究解决上述问题的同时,对于传统意义上的软硬件融合与交接面一操作
系统,相关讨论则较少。造成这种现象的原因,一方面是由于相关软件和工具
还不成熟;另一方面则是受限于可重构器件的容量、性能以及工艺水平,不能
支持完整的硬件任务和快速重构。随着可编程器件和集成电路工艺水平的进
步,以及可编程器件的高层抽象和软硬件协同设计技术上的进展,使得在其上
运行较大规模的硬件任务已经成为可能。另一方面,嵌入式系统应用的复杂度
也不断增加,越来越需要从系统级进行设计。可重构系统的底层实现基础和设
计技术上的研究进展已经具备从系统级开展研究的条件,于是近年来研究者们
开始逐渐重视面向可重构系统的操作系统的研究。这是因为设计良好的操作系
统能够屏蔽软硬件任务的差异,为软件设计人员提供一致、友好的编程环境;
另外如果操作系统同时管理软硬件任务,会降低系统设计的难度。同时辅以合
适的划分和调度策略,操作系统将能够充分发挥可重构计算潜在的并行计算能
力。
面向可重构系统的操作系统领域的研究仍然处于发展起步,目前所提出的模
型和框架仍然以概念居多。相对而言,文献[11]中的工作则较为深入,不过他
们的工作是在Hybrid
FPGA(内部含固核CPU的FPGA)上开展的,主要侧重于讨论
操作系统协同设计,对于较为通用的可重构平台则未涉及,因此需要进行改进
3
支持可重构计算的Linux操作系统研究
和扩充。
目前国外其他一些在开展的相关研究还包括新加坡国立大学在Excalibur芯
片上的WinCE研究,Cray公司的XDI超级计算机(采用Linux为操作系统),
澳大利亚Queensland大学、South
Austalia大学的“Linux
for
Reconfigurable
Computing”研究等。
1.4本文的工作
本文针对可重构系统的操作系统支持不足的问题,重点讨论了支持可重构计
算的Linux相关技术。由于Linux的健壮性、易扩展以及开放源码使得它在支持
可重构计算方面走在其他操作系统的前列。
本文共分六章,其组织结构如下:
第一章:引言。首先介绍可重构计算的概念、发展与现状,然后分析了当前
可重构计算中存在的问题,以及本文的工作及组织结构。
第二章:可重构计算基础。重点介绍了当前可重构计算平台的发展以及典型
的当前的可重构计算平台。
第三章:可重构计算的操作系统支持,主要包括操作系统在可重构计算中应
当解决的问题,并且介绍了Linux的实时内核扩展Xenomai。
第四章:提出了可重构系统中一种高效的二维硬件任务放置算法,并且通过
一个简化的实验模型和当前其余同类算法进行比较分析。
第五章:针对样机平台,对支持可重构计算的Linux系统进行研究实验,包
括基本运行环境、编程环境以及相关驱动等。
第六章:结论与展望,主要分析了当前工作的不足之处,并对以后的工作作
出了展望。
4
支持可重构计算的Linux操作系统研究
第二章可重构系统基础
2.1可重构系统模型
图2.1所描述的基本体系结构可以概括和抽象目前已出现的可重构计算平
台。这种结构结合了可编程处理器和可编程的硬件,因而能够提供更多的设计
探索空间,同时也兼具了硬件的高性能和软件的灵活性,这也是可重构计算的
研究初衷和目标。
图2.1可重构计算的基本结构
从概念分类上讲,可重构系统可以分为静态可重构系统和动态可重构系统
[5],如图2.2。如果系统运行过程中,可重构部分仅仅被配置一次,称为静态
可重构系统。反之,若系统运行过程中,可重构部分能够被重复配置(可能取决
于运行过程中产生的结果),称之为动态可重构系统(也有文献称为运行时可重
构)。静态可重构系统相对简单,而且如果无法运行时可重构,就丧失了可重构
系统最吸引人的特点。因此本文主要研究动态可重构系统。
井闺一圄
图2.2静态可重构和动态可重构
目前,关于可重构系统的重构方式,主要存在以下几种模型:
1.单上下文模型(Single
Context
Model)
在单上下文模型中,配置信息的写入类似对移位寄存器的操作,每次重写配
置信息都必须重写整片的配置存储器。在这种方式下,即使仅需要修改部分配
置信息,也必须将可重构部分停下来进行配置。这种方式的可重构器件以
5
剩余58页未读,继续阅读
资源评论
programxh
- 粉丝: 17
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功