基于线程迁移的分布式Java虚拟机的研究与实现
发布时间:2018-07-23 15:43
【摘要】:随着互联网的迅速发展,分布式计算正在高性能计算、海量数据处理、大规模服务器端技术等领域发挥着越来越重要的影响,成为不可或缺的支柱技术。与此同时,Java虚拟机技术的作用也在变得日益重要。首先,Java虚拟机提供了跨平台的底层实现,可以为底层异构系统的实现屏蔽基础设施的细节。其次Java虚拟机的实现能够根据不同的应用场景和底层基础设施做不同的优化,同时又对上层应用保持透明,实现同一代码一次编译,在不同环境中实现执行效能的优化。另外,Java虚拟机提供的内存自动管理、垃圾回收机制和完全的动态链接特性,可以有效降低大型系统的设计和实现的复杂度。Java虚拟机因其诸多优良的特性,正在脱离纯粹的Java语言执行环境的角色,成为下一代通用计算平台。 本文在深入研究了分布式计算与Java语言实现理论的基础上,分析了典型代表系统的设计与实现,提出了在Java虚拟机层次上基于线程迁移来实现分布式计算框架,为Java应用程序提供透明的分布式计算基础设施的设想。在Java虚拟机一层实现分布式计算框架有其独到的优势,主要包括以下几个方面: 第一,底层分布式特性对于高层业务完全透明,Java程序员可以完全透明的像在单节点Java虚拟机上一样编程,降低从业务逻辑到分布式计算模式映射的难度,降低开发成本; 第二,传统的分布式程序调试困难,分布式Java虚拟机支持首先在单节点虚拟机上编程调试再直接迁移到分布式环境发布运行,大大缩短分布式系统开发、调试、升级周期,降低系统维护难度; 第三,易于遗产代码的二次分布式开发。一些遗产代码要转换成分布式程序并进行维护存在困难,成本高昂,此时可以使用分布式Java虚拟机实现平滑转换。 本文在深入研究了基于线程迁移实现分布式Java虚拟机的理论问题的基础上,实现了分布式Java虚拟机原型singleJava,并对其实用性能做出了测试与评估,主要工作内容包括: 1)分布式Java虚拟机上的线程迁移机制; 2)任务迁移时的负载平衡策略; 3)跨节点透明访问的分布式Java堆; 4)分布式环境下Java线程的同步互斥机制; 5)分布式环境下的内存自动管理和垃圾回收; 6)singleJava的性能测试与评估。
[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.
【学位授予单位】:浙江大学
【学位级别】:硕士
【学位授予年份】:2013
【分类号】:TP338.8;TP311.1;TP302
本文编号: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.
【学位授予单位】:浙江大学
【学位级别】:硕士
【学位授予年份】:2013
【分类号】:TP338.8;TP311.1;TP302
【参考文献】
相关期刊论文 前3条
1 崔莉,鞠海玲,苗勇,李天璞,刘巍,赵泽;无线传感器网络研究进展[J];计算机研究与发展;2005年01期
2 马建刚;黄涛;汪锦岭;徐罡;叶丹;;面向大规模分布式计算发布订阅系统核心技术[J];软件学报;2006年01期
3 杜宗霞;怀进鹏;;主动分布式Web服务注册机制研究与实现[J];软件学报;2006年03期
,本文编号:2139870
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2139870.html