基于二進(jìn)制代碼注入框架的內(nèi)存?zhèn)浞?/H1>
發(fā)布時(shí)間:2018-07-13 11:22
【摘要】:隨著云計(jì)算時(shí)代的到來(lái),集群中計(jì)算機(jī)數(shù)量越來(lái)越多,處理著各種各樣的數(shù)據(jù)。計(jì)算機(jī)中所有的數(shù)據(jù)都和內(nèi)存相關(guān),內(nèi)存如果出現(xiàn)錯(cuò)誤,不僅會(huì)產(chǎn)生無(wú)效的數(shù)據(jù),甚至?xí)斐捎?jì)算機(jī)系統(tǒng)的直接崩潰。如果應(yīng)用在軍事、金融和醫(yī)療領(lǐng)域的計(jì)算機(jī)出現(xiàn)內(nèi)存錯(cuò)誤,將會(huì)帶來(lái)災(zāi)難性的后果。 目前內(nèi)存的高可靠方案可以分為硬件方案和軟件方案兩種。硬件方案主要通過(guò)增加特殊的硬件實(shí)現(xiàn)內(nèi)存?zhèn)浞,其成本開銷較大且不夠靈活通用。軟件方案主要借助虛擬化技術(shù)實(shí)現(xiàn)多個(gè)虛擬機(jī)之間的內(nèi)存?zhèn)浞,?shí)時(shí)性較差且額外開銷較大,不夠?qū)嵱谩?本論文提出了一個(gè)全新的軟件解決方案Multimem,通過(guò)軟件方法實(shí)現(xiàn)了硬件高可靠鏡像內(nèi)存的功能。源程序經(jīng)過(guò)編譯后生成同時(shí)包含原始指令和鏡像指令的高可靠目標(biāo)程序,其中原始指令更新原始內(nèi)存,鏡像指令更新鏡像內(nèi)存,程序在運(yùn)行時(shí)動(dòng)態(tài)保證兩種內(nèi)存數(shù)據(jù)的一致性,實(shí)現(xiàn)了內(nèi)存的動(dòng)態(tài)單機(jī)備份。不同于現(xiàn)有大部分的方案只能針對(duì)用戶態(tài)實(shí)現(xiàn)內(nèi)存高可靠,Multimem使用靜態(tài)二進(jìn)制翻譯技術(shù),在實(shí)現(xiàn)內(nèi)存用戶態(tài)高可靠的同時(shí),也實(shí)現(xiàn)相對(duì)復(fù)雜的內(nèi)核態(tài)高可靠,從而達(dá)到了全系統(tǒng)的高可靠。Multimem有著很好的靈活性,不僅可以通過(guò)簡(jiǎn)單的配置,實(shí)現(xiàn)從特定指令和函數(shù)等細(xì)粒度到用戶態(tài)、內(nèi)核態(tài)或者全系統(tǒng)等粗粒度的內(nèi)存?zhèn)浞,而且備份?nèi)存的數(shù)量也可以根據(jù)需求靈活定制,節(jié)省了系統(tǒng)資源的同時(shí),增加了方案的通用性。Multimem實(shí)現(xiàn)了一個(gè)二進(jìn)制代碼注入框架,不但可以注入鏡像指令實(shí)現(xiàn)系統(tǒng)高可靠,其通用的接口還可以用作一般的程序代碼分析統(tǒng)計(jì),有著良好的擴(kuò)展性。 為了測(cè)試Multimem解決方案的功能和性能,本論文設(shè)計(jì)實(shí)現(xiàn)了一系列的測(cè)試。操作系統(tǒng)XV6的測(cè)試結(jié)果表明,Multimem對(duì)系統(tǒng)常用功能的影響只有5%。測(cè)試基準(zhǔn)程序Sysbench顯示連續(xù)寫內(nèi)存時(shí),額外的開銷仍然小于80%。實(shí)際應(yīng)用程序SQLite的測(cè)試結(jié)果顯示,,五個(gè)基本操作的平均開銷只有45%,比現(xiàn)有的軟件內(nèi)存高可靠方案提高了約56%。Multimem通過(guò)軟件方法實(shí)現(xiàn)了硬件高可靠方案的基本功能,由于不需要額外的硬件,基本沒有成本的開銷,適應(yīng)大多數(shù)普通的計(jì)算機(jī),使得本方案更加的實(shí)用。
[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.
【學(xué)位授予單位】:上海交通大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2013
【分類號(hào)】:TP333.1;TP309.3
【參考文獻(xiàn)】
相關(guān)碩士學(xué)位論文 前1條
1 任振芳;基于Xen虛擬機(jī)的雙機(jī)熱備可用性研究[D];鄭州大學(xué);2012年
本文編號(hào):2119183
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2119183.html
[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.
【學(xué)位授予單位】:上海交通大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2013
【分類號(hào)】:TP333.1;TP309.3
【參考文獻(xiàn)】
相關(guān)碩士學(xué)位論文 前1條
1 任振芳;基于Xen虛擬機(jī)的雙機(jī)熱備可用性研究[D];鄭州大學(xué);2012年
本文編號(hào):2119183
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2119183.html
最近更新
教材專著