面向高可伸缩与可移植的众核全系统模拟器的设计与实现

来源 :复旦大学 | 被引量 : 0次 | 上传用户:hh139999
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
全系统模拟器可以用于指定模拟某个硬件平台,因此其被广泛用于软件开发、错误判定、内存访问情况的查看和分析等用途。多核技术的发展为全系统模拟器技术带来了众多机遇同时也带来了很多挑战。一方面,多核平台拥有丰富的物理计算资源可供全系统模拟使用并提高自身模拟的性能。另一方面,随着多核平台上处理器数目快速增长,要求全系统模拟器可以高效的模拟大量核的多核平台并可以模拟运行处理大数据量的并行程序。与此同时,全系统模拟器必须有能力真实的模拟并行程序在多核平台上的并行运行的行为从而才有可能暴露并行程序自身存在的问题,如并行错误中的数据竞争问题。然而,由于当今主流的全系统模拟器都在利用一个物理处理器,以轮训的方式模拟多核计算平台,因此,他不但不能够利用多核平台上丰富的物理计算资源与此同时还将在性能上非常差的可伸缩性。与此同时,在可靠性方面,由于虚拟核之间经常以较粗粒度进行调度,因此非常容易隐藏并行程序本身由于运行由于数据竞争而产生的随机错误,进而严重约束了对模拟软件运行时行为的分析。然而我们知道开发一个全系统模拟器,由于要考虑到系统相关的所有层面,因此需要大量地人力并花费大量地时间。而全系统模拟器较普通的用户态程序模拟器更为复杂,其原因在于要考虑全系统的所有层面,如系统指令集、地址翻译、运行的特权级、中断以及外设的模拟。而不同体系结构指令集的不同也给构建一个可移植的全系统模拟器带来了更大的困难。本文提出了一个全新构建并行全系统模拟器的方法。我们发现对于现有的多核平台,核于核之间关系以及核与外设之间相互独立,他们之间通过有着标准规范的总线接口进行通讯。例如,每个处理器都拥有自己的控制单元、寄存器以及缓存,处理器之间通过核间中断进行通讯。这样的组织结构允许我们基于现有的并行模拟器构建一个有效地并行模拟框架,而不是简单的将其并行化,从而降低构建并行模拟器的复杂性。我们通过集成多个主流的串行模拟器来构建一个并行模拟器,每一个串行模拟器都用来模拟一个虚拟处理器并以一个线程的形式运行。我们还提供了一个简单有效的协议层负责线程的调度、通讯和同步模拟。我们认为这种简单的构建方法可以使得并行模拟器具有很好的可伸缩性、可靠性、可移植性以及动态负载均衡的能力。通过引进轻量级事务技术、非阻塞队列技术以及针对多核模拟的调度算法,基于已有的主流串行模拟器,我们构建了高可伸缩性和可移植性的并行模拟器。我们基于QEMU实现了一个并行模拟器原型COREMU,该原型系统中QEMU的代码修改行数仅仅在2500行左右。该原型系统支持对x64和ARM两不同的体系结构的并行模拟。对于x64,最多可以并行模拟255个虚拟核。对于ARM,最多可以对4个虚拟核进行模拟。与此同时,为了帮助程序员更加有效的对程序进行开发和分析,COREMU还集成了观察点和内存访问序列收集的机制。对于性能评测,我们使用SPECINT-2000基准评测程序进行评测,其结果显示对于单核模拟COREMU仅仅有1%不到的性能开销。而对于多和模拟,COREMU较QEMU具有更好的可伸缩性。我们使用了多个基准评测程序对其模拟多核时性能的多个方面进行评测,结果显示,当COREMU模拟的虚拟核数目不大于物理核数目时,其具有非常好的可伸缩性。当其模拟的虚拟核数目大于物理核数目时,其性能的下降仍然在可接受的范围内。与此同时,对于所有测试程序,COREMU都可以模拟到255个虚拟处理器而当QEMU模拟超过16个处理器时,测试程序模拟运行时间便会超时。当COREMU在4*4的多核计算平台上模拟16个虚拟处理器时,和QEMU相比,它达到了20-67倍的提速。
其他文献
近年来,深度学习在计算机视觉,机器翻译,语音识别等领域取得了极大的成功,在多个应用领域上取得了当前的最好成绩。但是这些模型所取得的高精确度主要来源于在训练以及检测时
随着近几年来人工智能的飞速发展,我们越来越想检验一下机器能达到一个什么样的智能水平。为此,国家在2015年启动了“高考答题机器人”的相关项目研究,而自动解答高考作文题
在半导体业界,集成电路SoC (System on Chip,片上系统)成为目前主导的设计技术。SoC通常将微处理器、模拟IP核、数字IP核和存储器(或片外存储控制接口)集成在单一芯片上,通过
随着Internet的迅速发展,用于网络互联的主干链路上的核心路由器的接口速率达到100Gbit/s。这就要求骨干路由器每秒可以转发千万以上的分组,然而分组转发的关键是查找路由表,
随着存储硬件成本的不断降低,大数据生态系统的复杂变化,计算框架与存储系统的多样性和异构性发展,基于内存的分布式文件系统,数据库等一系列产品孕育而生,用来整合整个大数
企业应用得益于那些具有丰富语义的企业知识,本体能为知识管理系统中各种符号提供共享的概念模型且在其中的应用越来越广泛。随着本体规模的增大,本体构建工具对于本体开发过
近年来,视频分享网站、IPTV数字电视、手机电视、视频监控等视频类服务大量涌现,H.264作为目前最先进的视频压缩技术,其出色的网络亲和性使得H.264在上述领域得到广泛应用。
在无线传感器网络中,传感器节点的位置信息对于实际应用来说是非常重要的,比如在事情监测中,当事情发生时需要知道它所发生的位置,这个时候就需要知道传感器节点的位置信息,
高性能服务器的应用领域越来越广,目前已经广泛应用于银行、军事、航天、气象服务等领域。在这些领域中,高性能服务器都是用来处理关键的业务,系统数据丢失或者异常停机都会
无线传感器网络(Wireless Sensor Network, WSN)是当今国际备受关注的前沿热点领域,掀起了一场后PC时代的革命。无线传感器网络是由大量具有感知能力、计算能力和通信能力的