Towards module-based automatic partitioning of Java applications  

Towards module-based automatic partitioning of Java applications

在线阅读下载全文

作  者:Ying ZHANG Gang HUANG Wei ZHANG Xuanzhe LIU Hong MEI 

机构地区:[1]Key Laboratory of High Confidence Software Technologies(Peking University),Ministry of Education,Beijing 100871,China [2]School of Electronics Engineering and Computer Science,Peking University,Beijing 100871,China

出  处:《Frontiers of Computer Science》2012年第6期725-740,共16页中国计算机科学前沿(英文版)

基  金:Acknowledgements We thank all the anonymous reviewers for their valuable feedback on an earlier version of this paper. This work was supported by the National Basic Research Program of China (973) (2009CB320703); the National Natural Science Foundation of China (Grant Nos. 61121063, 60933003, 61003010); the High-tech Research and Development Program of China (863) (2012AA011207), the European Commission Seventh Framework Programme (231167); and the NCET.

摘  要:When reengineering a monolithic application to be a distributed one, programmers always have to decide how many distributed parts the application should be partitioned, and write many codes related to where a part will be placed on network nodes and how these parts communicate with each other through the network. These codes usually have nothing to do with the business functions of the application, and they are laborious to write. In addition, as the distribution architecture of the application is finalized beforehand, it may not adapt well to the everchanging execution environment. In this paper, we propose DPartner, an automatic partitioning system, to help programmers create a distributed Java application without explicitly writing the distribution-related codes. Unlike the other partitioning systems, DPartner does not partition an application directly into the coarse-grained client and server. Instead, it first partitions the application into several modules where each module performs a relatively independent business function of the application. Then it makes these modules be distributable through automatic bytecode rewriting. These modules can distribute in different nodes and cooperate to work just as the original monolithic application. Such a module-based partitioning approach enables a relatively easy reshaping of the distribution architecture of an application, which facilitates the application adapt to the environmental changes without manual recoding or repartitioning with regard to distribution. This paper gives the detailed design of DPartner, and evaluates it using real-world applications. The evaluation results demonstrate the effectiveness and efficiency of DPartner.When reengineering a monolithic application to be a distributed one, programmers always have to decide how many distributed parts the application should be partitioned, and write many codes related to where a part will be placed on network nodes and how these parts communicate with each other through the network. These codes usually have nothing to do with the business functions of the application, and they are laborious to write. In addition, as the distribution architecture of the application is finalized beforehand, it may not adapt well to the everchanging execution environment. In this paper, we propose DPartner, an automatic partitioning system, to help programmers create a distributed Java application without explicitly writing the distribution-related codes. Unlike the other partitioning systems, DPartner does not partition an application directly into the coarse-grained client and server. Instead, it first partitions the application into several modules where each module performs a relatively independent business function of the application. Then it makes these modules be distributable through automatic bytecode rewriting. These modules can distribute in different nodes and cooperate to work just as the original monolithic application. Such a module-based partitioning approach enables a relatively easy reshaping of the distribution architecture of an application, which facilitates the application adapt to the environmental changes without manual recoding or repartitioning with regard to distribution. This paper gives the detailed design of DPartner, and evaluates it using real-world applications. The evaluation results demonstrate the effectiveness and efficiency of DPartner.

关 键 词:application partitioning distributed computing DPartner 

分 类 号:TP312[自动化与计算机技术—计算机软件与理论] TU991[自动化与计算机技术—计算机科学与技术]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象