45 research outputs found

    An interface between single assignment C and vector Pascal

    Get PDF
    This dissertation contains an overview of the research Iā€™ve been doing over in Glasgow University, which is mainly a project of developing an interface between two array programming languages, Single Assignment C and Vector Pascal, to combine them together by using the Vector Pascal code generator for Single Assignment C. Single Assignment C provides support for multi-threading but it doesnā€™t contain any utilization of SIMD technology, and Vector Pascal implements array operations with the help of SIMD instruction sets of modern general processors. Thus my hypothesis is that this combination will let the program enjoy higher run-time performance compared to the one which is only compiled by using Single Assignment Cā€™s compiler. This dissertation explains the detail of designing and implementing this interface between these two languages; and the system to manipulate the three parts, i.e. the interface and the two languagesā€™ compilers together to make them work automatically. The interface is generally developed based on traversal over Syntax Tree and involves works of vectorization and loop unrolling. Meanwhile, a benchmark testing system to validate my hypothesis is created and introduced in this dissertation too, which is accompanied with the testing results and analysis

    Manual and Automatic Translation From Sequential to Parallel Programming On Cloud Systems

    Get PDF
    Cloud computing has gradually evolved into an infrastructural tool for a variety of scientiļ¬c 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 eļ¬ƒciently 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

    6th SC@RUG 2009 proceedings:Student Colloquium 2008-2009

    Get PDF

    6th SC@RUG 2009 proceedings:Student Colloquium 2008-2009

    Get PDF

    6th SC@RUG 2009 proceedings:Student Colloquium 2008-2009

    Get PDF

    Hardware/Software Co-design for Multicore Architectures

    Get PDF
    Siirretty Doriast
    corecore