基于線程遷移的分布式Java虛擬機(jī)的研究與實(shí)現(xiàn)
發(fā)布時(shí)間:2018-07-23 15:43
【摘要】:隨著互聯(lián)網(wǎng)的迅速發(fā)展,分布式計(jì)算正在高性能計(jì)算、海量數(shù)據(jù)處理、大規(guī)模服務(wù)器端技術(shù)等領(lǐng)域發(fā)揮著越來越重要的影響,成為不可或缺的支柱技術(shù)。與此同時(shí),Java虛擬機(jī)技術(shù)的作用也在變得日益重要。首先,Java虛擬機(jī)提供了跨平臺(tái)的底層實(shí)現(xiàn),可以為底層異構(gòu)系統(tǒng)的實(shí)現(xiàn)屏蔽基礎(chǔ)設(shè)施的細(xì)節(jié)。其次Java虛擬機(jī)的實(shí)現(xiàn)能夠根據(jù)不同的應(yīng)用場景和底層基礎(chǔ)設(shè)施做不同的優(yōu)化,同時(shí)又對(duì)上層應(yīng)用保持透明,實(shí)現(xiàn)同一代碼一次編譯,在不同環(huán)境中實(shí)現(xiàn)執(zhí)行效能的優(yōu)化。另外,Java虛擬機(jī)提供的內(nèi)存自動(dòng)管理、垃圾回收機(jī)制和完全的動(dòng)態(tài)鏈接特性,可以有效降低大型系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)的復(fù)雜度。Java虛擬機(jī)因其諸多優(yōu)良的特性,正在脫離純粹的Java語言執(zhí)行環(huán)境的角色,成為下一代通用計(jì)算平臺(tái)。 本文在深入研究了分布式計(jì)算與Java語言實(shí)現(xiàn)理論的基礎(chǔ)上,分析了典型代表系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),提出了在Java虛擬機(jī)層次上基于線程遷移來實(shí)現(xiàn)分布式計(jì)算框架,為Java應(yīng)用程序提供透明的分布式計(jì)算基礎(chǔ)設(shè)施的設(shè)想。在Java虛擬機(jī)一層實(shí)現(xiàn)分布式計(jì)算框架有其獨(dú)到的優(yōu)勢,主要包括以下幾個(gè)方面: 第一,底層分布式特性對(duì)于高層業(yè)務(wù)完全透明,Java程序員可以完全透明的像在單節(jié)點(diǎn)Java虛擬機(jī)上一樣編程,降低從業(yè)務(wù)邏輯到分布式計(jì)算模式映射的難度,降低開發(fā)成本; 第二,傳統(tǒng)的分布式程序調(diào)試?yán)щy,分布式Java虛擬機(jī)支持首先在單節(jié)點(diǎn)虛擬機(jī)上編程調(diào)試再直接遷移到分布式環(huán)境發(fā)布運(yùn)行,大大縮短分布式系統(tǒng)開發(fā)、調(diào)試、升級(jí)周期,降低系統(tǒng)維護(hù)難度; 第三,易于遺產(chǎn)代碼的二次分布式開發(fā)。一些遺產(chǎn)代碼要轉(zhuǎn)換成分布式程序并進(jìn)行維護(hù)存在困難,成本高昂,此時(shí)可以使用分布式Java虛擬機(jī)實(shí)現(xiàn)平滑轉(zhuǎn)換。 本文在深入研究了基于線程遷移實(shí)現(xiàn)分布式Java虛擬機(jī)的理論問題的基礎(chǔ)上,實(shí)現(xiàn)了分布式Java虛擬機(jī)原型singleJava,并對(duì)其實(shí)用性能做出了測試與評(píng)估,主要工作內(nèi)容包括: 1)分布式Java虛擬機(jī)上的線程遷移機(jī)制; 2)任務(wù)遷移時(shí)的負(fù)載平衡策略; 3)跨節(jié)點(diǎn)透明訪問的分布式Java堆; 4)分布式環(huán)境下Java線程的同步互斥機(jī)制; 5)分布式環(huán)境下的內(nèi)存自動(dòng)管理和垃圾回收; 6)singleJava的性能測試與評(píng)估。
[Abstract]:With the rapid development of the Internet, distributed computing is playing a more and more important role in the fields of high-performance computing, massive data processing, large-scale server-side technology and so on, and has become an indispensable pillar technology. At the same time, the role of Java virtual machine technology is becoming increasingly important. First, Java Virtual Machine (JVM) provides a cross-platform implementation, which can mask the details of infrastructure for the implementation of the underlying heterogeneous system. Secondly, the implementation of Java virtual machine can make different optimization according to different application scenarios and infrastructure, at the same time, it can keep transparency to the upper application, realize the same code compile once, and optimize the execution performance in different environments. In addition, the Java Virtual Machine provides automatic memory management, garbage collection mechanism and complete dynamic link features, which can effectively reduce the complexity of the design and implementation of large systems. Moving away from the role of a pure Java execution environment, it is becoming the next generation of general-purpose computing platforms. Based on the research of distributed computing and Java language implementation theory, this paper analyzes the design and implementation of typical representative system, and proposes a distributed computing framework based on thread migration in Java virtual machine level. The idea of providing a transparent distributed computing infrastructure for Java applications. The implementation of distributed computing framework in Java virtual machine layer has its unique advantages, including the following aspects: first, The underlying distributed property can be completely transparent to the high-level business Java programmers can be as transparent as on the single node Java virtual machine programming, reduce the business logic to the distributed computing model mapping difficulty, reduce development costs; Second, the traditional distributed program debugging is difficult. The distributed Java virtual machine supports programming debugging on the single node virtual machine and then migrating directly to the distributed environment, which greatly shortens the distributed system development and debugging. Upgrade cycle, reduce system maintenance difficulty; third, easy to legacy code secondary distributed development. It is difficult and expensive to convert some legacy code into distributed program and maintain it. The distributed Java virtual machine can be used to realize smooth transformation. On the basis of deeply studying the theory of implementing distributed Java virtual machine based on thread migration, the prototype of distributed Java virtual machine single Java is implemented in this paper, and its practical performance is tested and evaluated. The main work includes: 1) thread migration mechanism on distributed Java virtual machine; 2) load balancing strategy for task migration; 3) transparent access to distributed Java heap across nodes; 4) synchronous mutex mechanism of Java threads in distributed environment; 5) automatic memory management and garbage collection in distributed environment; 6) performance test and evaluation of singleJava.
【學(xué)位授予單位】:浙江大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2013
【分類號(hào)】:TP338.8;TP311.1;TP302
本文編號(hào):2139870
[Abstract]:With the rapid development of the Internet, distributed computing is playing a more and more important role in the fields of high-performance computing, massive data processing, large-scale server-side technology and so on, and has become an indispensable pillar technology. At the same time, the role of Java virtual machine technology is becoming increasingly important. First, Java Virtual Machine (JVM) provides a cross-platform implementation, which can mask the details of infrastructure for the implementation of the underlying heterogeneous system. Secondly, the implementation of Java virtual machine can make different optimization according to different application scenarios and infrastructure, at the same time, it can keep transparency to the upper application, realize the same code compile once, and optimize the execution performance in different environments. In addition, the Java Virtual Machine provides automatic memory management, garbage collection mechanism and complete dynamic link features, which can effectively reduce the complexity of the design and implementation of large systems. Moving away from the role of a pure Java execution environment, it is becoming the next generation of general-purpose computing platforms. Based on the research of distributed computing and Java language implementation theory, this paper analyzes the design and implementation of typical representative system, and proposes a distributed computing framework based on thread migration in Java virtual machine level. The idea of providing a transparent distributed computing infrastructure for Java applications. The implementation of distributed computing framework in Java virtual machine layer has its unique advantages, including the following aspects: first, The underlying distributed property can be completely transparent to the high-level business Java programmers can be as transparent as on the single node Java virtual machine programming, reduce the business logic to the distributed computing model mapping difficulty, reduce development costs; Second, the traditional distributed program debugging is difficult. The distributed Java virtual machine supports programming debugging on the single node virtual machine and then migrating directly to the distributed environment, which greatly shortens the distributed system development and debugging. Upgrade cycle, reduce system maintenance difficulty; third, easy to legacy code secondary distributed development. It is difficult and expensive to convert some legacy code into distributed program and maintain it. The distributed Java virtual machine can be used to realize smooth transformation. On the basis of deeply studying the theory of implementing distributed Java virtual machine based on thread migration, the prototype of distributed Java virtual machine single Java is implemented in this paper, and its practical performance is tested and evaluated. The main work includes: 1) thread migration mechanism on distributed Java virtual machine; 2) load balancing strategy for task migration; 3) transparent access to distributed Java heap across nodes; 4) synchronous mutex mechanism of Java threads in distributed environment; 5) automatic memory management and garbage collection in distributed environment; 6) performance test and evaluation of singleJava.
【學(xué)位授予單位】:浙江大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2013
【分類號(hào)】:TP338.8;TP311.1;TP302
【參考文獻(xiàn)】
相關(guān)期刊論文 前3條
1 崔莉,鞠海玲,苗勇,李天璞,劉巍,趙澤;無線傳感器網(wǎng)絡(luò)研究進(jìn)展[J];計(jì)算機(jī)研究與發(fā)展;2005年01期
2 馬建剛;黃濤;汪錦嶺;徐罡;葉丹;;面向大規(guī)模分布式計(jì)算發(fā)布訂閱系統(tǒng)核心技術(shù)[J];軟件學(xué)報(bào);2006年01期
3 杜宗霞;懷進(jìn)鵬;;主動(dòng)分布式Web服務(wù)注冊(cè)機(jī)制研究與實(shí)現(xiàn)[J];軟件學(xué)報(bào);2006年03期
,本文編號(hào):2139870
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2139870.html
最近更新
教材專著