Date of Award

4-30-2018

Degree Type

Dissertation

Degree Name

Doctor of Philosophy (PhD)

Department

Computer Science

First Advisor

Dr. Yi Pan

Second Advisor

Dr. Anu Bourgeois

Third Advisor

Dr. Raj Sunderraman

Fourth Advisor

Dr. Zhipeng Cai

Fifth Advisor

Dr. Mark Keil

Abstract

Cloud computing has gradually evolved into an infrastructural tool for a variety of scientific research and computing applications. It has become a trend for many institutions and organizations to migrate their products from local servers to the cloud. One of the current challenges in cloud computing is running software efficiently on cloud platforms since many legacy codes cannot be executed in parallel in cloud contexts, which is a waste of the cloud’s computing power. To solve this problem, we have researched ways to translate code from sequential to parallel cloud computing using three categories of translation methods: manual, automatic, and semi-automatic.

The performance of manual translation result is better than the other two types of translation’s. However, it is costly to manually redesign and convert current sequential codes into cloud codes. Thus, the automatic translation of sequential codes to parallel cloud applications is one approach that could be taken to resolve the problem of code migration to a cloud infrastructure. During this research, two automatic code translators, Java to MapReduce (J2M) and Java to Spark (J2S), are developed to translate code automatically from sequential Java to MapReduce and Spark applications. A semi-automatic translation method is proposed, which is the combination of manual and automatic translation and performs well on large amounts of data with small fragment sizes.

This dissertation provides details about our sequential to parallel cloud code translation research in last four years. The experimental results not only indicate that translators can precisely translate a sequential Java program into parallel cloud applications but also show that it can speed up performance. We expect that an almost linear rate of speedup is possible when processing large datasets. However, some constraints still need to be overcome so more features can be implemented in future work. It is believed that our translators are the ideal models for code migration and will play an important role in the transition era of cloud computing.

Share

COinS