面向多核的并行虚拟机的研究与实现

上传人:豆浆 文档编号:46656532 上传时间:2018-06-27 格式:PDF 页数:88 大小:533.74KB
返回 下载 相关 举报
面向多核的并行虚拟机的研究与实现_第1页
第1页 / 共88页
面向多核的并行虚拟机的研究与实现_第2页
第2页 / 共88页
面向多核的并行虚拟机的研究与实现_第3页
第3页 / 共88页
面向多核的并行虚拟机的研究与实现_第4页
第4页 / 共88页
面向多核的并行虚拟机的研究与实现_第5页
第5页 / 共88页
点击查看更多>>
资源描述

《面向多核的并行虚拟机的研究与实现》由会员分享,可在线阅读,更多相关《面向多核的并行虚拟机的研究与实现(88页珍藏版)》请在金锄头文库上搜索。

1、太原理工大学硕士研究生学位论文 I 面向多核的并行虚拟机的研究与实现 摘 要 硬件发展模式从以前的提高CPU主频速度转变为现在的增加CPU内核数量,注定了软件开发技术的变革。软件的性能再也不可能因为硬件的简单升级而带来显著提高。想要发挥多核的威力,就要求程序开发人员转变串行化的程序设计思维方式,转而变成并行的程序设计思维方式。但传统的并行支撑技术都难于掌握,易于出错,学习曲线陡峭,使得并行技术难于普及。 本文提出了一种虚拟机模型(SAPVM),该模型采用对象与消息的概念,提供了一个抽象的底层指令系统,该系统的所有方法调用都被抽象成异步消息调用,每个对象都有独立的内存空间,所有的发送到对象的消息

2、都被放置到一个消息队列中,依次被处理。 该模型把 CPU 内核抽象成一个计算节点,上面提到的对象被分发到不同的计算节点上,由多个计算节点同时处理各自的对象上的消息队列。而且在一个计算节点没有任何可以处理的消息时,它会申请从其他计算节点上转移一些多余的对象来处理,从而实现了动态负载平衡。 另外本文还就如何实现 SAPVM 做了各方面的阐述,包括开发语言和可移植性方面的考虑,内存管理技术,类型与对象的实现,同步措施的运用。在内存管理技术中,提出了多级内存分配结合类型缓存池的方案,使得内存分配能快速而易用。对于内存回收则使用了跟踪句柄类型的数据操作,实时更新其引用计数,当内存不足时,系统启动内存回收

3、过程,把所太原理工大学硕士研究生学位论文 II 有引用计数为 0 的对象内存回收。 最后本文提出了一个基于 SAPVM 的脚本语言,该语言专门针对 SAPVM设计,能极大发挥 SAPVM 的性能。本文简单介绍了该脚本的语法和基本编程技术,包括脚本支持的数据类型,流程控制和并行语句块的使用。 关键词:自适应,并行计算,虚拟机,多核 太原理工大学硕士研究生学位论文 III RESEARCH AND IMPLEMENTATION OF MULTI-CORE ORIENTED PARALLEL VIRTUAL MACHINE ABSTRACT Hardware development mode has

4、 made great progress from accelerating main frequency of CPU to increase the number of CPU core. So, it is destined that software development technology reform will follow. Software performance will no longer get prominent progress from the simple upgrade of hardware. To maximize the performance of

5、multi-core, program developers must change their way of thinking while programming from serial to parallel. However, traditional parallel supporting technology is hard to use, easy to make mistakes and difficult to follow the zigzag study course. This makes parallel technology not prevailed yet. Thi

6、s paper proposed a kind of virtual machine model (SAPVM). It uses object and message conception and provide a nonfigurative underlying instruction system. All methods invoking of the system has been abstracted into asynchronous message invoking. Every object has is own memory space and all messages

7、that send to object are put into a message queue, processed one by 太原理工大学硕士研究生学位论文 IV one. This model has interpreted CPU core as computing node. Objects mentioned above are distributed to different computing nodes. Those computing nodes process their own message queue at the same time. When any com

8、puting node has no message to process, it will get some objects from other nodes so that it realizes dynamic load balancing. Besides, this paper interpreted every aspects of SAPVM realization, including development language and portability, memory management technology, implementation of types and o

9、bjects and the use of synchronization measures. In memory management technology, we integrated multi-tier memory allocation and type buffer pool to ensure memory allocation more rapidly and easy to use. As to the memory recovery, we use data manipulation of tracking handle type. It can real-time upd

10、ate reference count and start memory recovery process and then retrieve all memory that has been occupied by zero-referenced objects when memory space is low. In the end, this paper gave a script language that based on SAPVM. It is specially designed for SAPVM and can maximize the performance of SAP

11、VM. This paper briefly introduced its grammar and basic programming technology, including data types supported by the scripts, flow control and the use of parallel blocks. KEY WORDS: self-adaptive, parallel computing, virtual machine, multi-core 声声 明明 本人郑重声明:所呈交的学位论文,是本人在指导教师的指导下,独立进行研究所取得的成果。除文中已经注

12、明引用的内容外,本论文不包含其他个人或集体己经发表或撰写过的科研成果。对本文的研究做出重要贡献的个人和集体,均己在文中以明确方式标明。本声明的法律责任由本人承担。 论文作者签名: 日期: 关于学位论文使用权的说明关于学位论文使用权的说明 本人完全了解太原理工大学有关保管、使用学位论文的规定,其中包括:学校有权保管、并向有关部门送交学位论文的原件与复印件;学校可以采用影印、缩印或其它子复制手段复制并保存学位论文;学校可允许学位论文被查阅或借阅;学校可以学术交流为目的,复制赠送和交换学位论文;学校可以公布学位论文的全部或部分内容(保密学位论文在解密后遵守此规定) 。 作者签名: 日期: 导师签名:

13、 日期: 太原理工大学硕士研究生学位论文 1 第一章 绪论绪论 1.1 并行计算理论与技术 并行计算(Parallel Computing)一般是指同时使用多个计算资源同时进行计算以解决实际问题的过程。这里的计算资源,可以是一台计算机,或者是一台多处理器计算机上的一颗 CPU, 或者是一台多核计算机上的一个内核。这些计算资源通过高速网络或者总线相连,它们互相协作,共同完成一个比较庞大的计算任务。 并行计算一直以来被用来快速解决大型且复杂的计算问题,而且常常使用价格昂贵的大型向量机。随着 CPU 多核化的迅速发展,使用多个“廉价”计算资源取代大型计算机成为可能。而且随着 PC 领域内的多核化计算

14、日益发展1,PC 领域也越来越需要引入并行计算技术,以帮助软件开发人员能充分挖掘多核化带来的性能提升。 1.1.1 硬件体系 并行技术从硬件体系上有费林分类2。费林分类有四种:SISD (Single Instruction Single Data) ,SIMD(Single Instruction Multiple Data),MISD (Multiple Instruction Single Data) ,MIMD (Multiple Instruction Multiple Data)。MISD 在现实中不存在,只是为了分类的完整性 。 a.SISD(单指令流单数据流) 图 1-1 单指

15、令流单数据流 Fig.1-1 Single Instruction Single Data instructions processorprocessorInput data Output data 太原理工大学硕士研究生学位论文 2 图1-2 单指令流多数据流 Fig.1-2 Single Instruction Multiple Data c.MIMD(多指令流多数据流) 图1-3 多指令流多数据流 Fig.1-3 Multiple Instruction Multiple Data 1.1.2 软件体系 并行技术从软件抽象层次上可归结为以下几种: (1)并行 API, (2)并行预编译技

16、术, (3)并行语言技术。并行 API 里最为重要和基础的便是多线程 API3,多线程技术通过启动多个线程来一起工作,它们之间的协调采用共享内存和锁机制来控制。现在几乎所有的操作系统都提供了原生多线程 API,而各种高级语言都提供了一定包装后的语control unit processInput data control unit processInput data control unit processOutput data Input dataOutput data Output data instructions control unit processor instructions Output data Input data processor processor Output dataInpu

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号