当前位置:主页 > 科技论文 > 计算机论文 >

基于二进制代码注入框架的内存备份

发布时间:2018-07-13 11:22
【摘要】:随着云计算时代的到来,集群中计算机数量越来越多,处理着各种各样的数据。计算机中所有的数据都和内存相关,内存如果出现错误,不仅会产生无效的数据,甚至会造成计算机系统的直接崩溃。如果应用在军事、金融和医疗领域的计算机出现内存错误,将会带来灾难性的后果。 目前内存的高可靠方案可以分为硬件方案和软件方案两种。硬件方案主要通过增加特殊的硬件实现内存备份,其成本开销较大且不够灵活通用。软件方案主要借助虚拟化技术实现多个虚拟机之间的内存备份,实时性较差且额外开销较大,不够实用。 本论文提出了一个全新的软件解决方案Multimem,通过软件方法实现了硬件高可靠镜像内存的功能。源程序经过编译后生成同时包含原始指令和镜像指令的高可靠目标程序,其中原始指令更新原始内存,镜像指令更新镜像内存,程序在运行时动态保证两种内存数据的一致性,实现了内存的动态单机备份。不同于现有大部分的方案只能针对用户态实现内存高可靠,Multimem使用静态二进制翻译技术,在实现内存用户态高可靠的同时,也实现相对复杂的内核态高可靠,从而达到了全系统的高可靠。Multimem有着很好的灵活性,不仅可以通过简单的配置,实现从特定指令和函数等细粒度到用户态、内核态或者全系统等粗粒度的内存备份,而且备份内存的数量也可以根据需求灵活定制,节省了系统资源的同时,增加了方案的通用性。Multimem实现了一个二进制代码注入框架,不但可以注入镜像指令实现系统高可靠,其通用的接口还可以用作一般的程序代码分析统计,有着良好的扩展性。 为了测试Multimem解决方案的功能和性能,本论文设计实现了一系列的测试。操作系统XV6的测试结果表明,Multimem对系统常用功能的影响只有5%。测试基准程序Sysbench显示连续写内存时,额外的开销仍然小于80%。实际应用程序SQLite的测试结果显示,,五个基本操作的平均开销只有45%,比现有的软件内存高可靠方案提高了约56%。Multimem通过软件方法实现了硬件高可靠方案的基本功能,由于不需要额外的硬件,基本没有成本的开销,适应大多数普通的计算机,使得本方案更加的实用。
[Abstract]:With the arrival of cloud computing era, the number of computers in the cluster is increasing, dealing with a variety of data. All the data in the computer are related to memory. If there is an error in memory, it will not only produce invalid data, but also cause the direct crash of computer system. Memory errors in computers in the military, financial, and medical fields could be disastrous. At present, the high reliability scheme of memory can be divided into two kinds: hardware scheme and software scheme. The hardware scheme mainly realizes the memory backup by adding special hardware, which has a high cost and is not flexible and universal. The software scheme mainly uses the virtualization technology to realize the memory backup between several virtual machines, which is not practical enough because of the poor real-time and extra cost. In this paper, a new software solution, Multimm, is proposed to realize the function of high reliability mirroring memory. After compiling, the source program generates a highly reliable target program containing both the original instruction and the mirror instruction, in which the original instruction updates the original memory, the mirror instruction updates the mirror memory, and the program dynamically ensures the consistency of the two kinds of memory data at run time. Realized the memory dynamic single machine backup. Different from most existing schemes, we can only use static binary translation technology to realize high reliability of memory and Multimem for user mode. While realizing high reliability of memory user state, we can also realize relatively complex kernel mode with high reliability. Thus, the high reliability of the whole system. Multimem has good flexibility. It can not only realize the coarse grained memory backup from specific instructions and functions to user state, kernel state or the whole system through simple configuration. Moreover, the amount of backup memory can be flexibly customized according to the requirement, which saves the system resources and increases the generality of the scheme. Multimem implements a binary code injection framework, which can not only inject the mirror instructions to realize the high reliability of the system. Its universal interface can also be used as a general program code analysis statistics, has a good scalability. In order to test the function and performance of Multimem solution, this paper designs and implements a series of tests. The test results of operating system XV6 show that Multimem has only 5 effects on the common functions of the system. Test benchmark Sysbench shows continuous write memory, the extra cost is still less than 80. The test results of the actual application SQLite show that the average cost of the five basic operations is only 45%, which increases the basic function of the hardware high reliability scheme by software method, which is about 56% higher than the existing software memory high reliability scheme. Because there is no extra hardware and no cost, it is suitable for most common computers, which makes the scheme more practical.
【学位授予单位】:上海交通大学
【学位级别】:硕士
【学位授予年份】:2013
【分类号】:TP333.1;TP309.3

【参考文献】

相关硕士学位论文 前1条

1 任振芳;基于Xen虚拟机的双机热备可用性研究[D];郑州大学;2012年



本文编号:2119183

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2119183.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户3e2cc***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com