IDEAS home Printed from https://ideas.repec.org/a/gam/jftint/v15y2023i9p306-d1235724.html
   My bibliography  Save this article

An Automatic Transformer from Sequential to Parallel Java Code

Author

Listed:
  • Alessandro Midolo

    (Dipartimento di Matematica e Informatica, University of Catania, 95125 Catania, Italy)

  • Emiliano Tramontana

    (Dipartimento di Matematica e Informatica, University of Catania, 95125 Catania, Italy)

Abstract

Sequential programs can benefit from parallel execution to improve their performance. When developing a parallel application, several techniques are employed to achieve the desired behavior: identifying parts that can run in parallel, synchronizing access to shared data, tuning performance, etc. Admittedly, manually transforming a sequential application to make it parallel can be tedious due to the large number of lines of code to inspect, the possibility of errors arising from inaccurate data dependence analysis leading to unpredictable behavior, and inefficiencies when the workload between parallel threads is unbalanced. This paper proposes an automatic approach that analyzes Java source code to identify method calls that are suitable for parallel execution and transforms them so that they run in another thread. The approach is based on data dependence and control dependence analyses to determine the execution flow and data accessed. Based on the proposed method, a tool has been developed to enhance applications by incorporating parallelism, i.e., transforming suitable method calls to execute on parallel threads, and synchronizing data access where needed. The developed tool has been extensively tested to verify the accuracy of its analysis in finding parallel execution opportunities, the correctness of the source code alterations, and the resultant performance gain.

Suggested Citation

  • Alessandro Midolo & Emiliano Tramontana, 2023. "An Automatic Transformer from Sequential to Parallel Java Code," Future Internet, MDPI, vol. 15(9), pages 1-19, September.
  • Handle: RePEc:gam:jftint:v:15:y:2023:i:9:p:306-:d:1235724
    as

    Download full text from publisher

    File URL: https://www.mdpi.com/1999-5903/15/9/306/pdf
    Download Restriction: no

    File URL: https://www.mdpi.com/1999-5903/15/9/306/
    Download Restriction: no
    ---><---

    References listed on IDEAS

    as
    1. Sanaa Kaddoura & Ramzi A. Haraty & Karam Al Kontar & Omar Alfandi, 2021. "A Parallelized Database Damage Assessment Approach after Cyberattack for Healthcare Systems," Future Internet, MDPI, vol. 13(4), pages 1-18, March.
    2. Manickam Murugappan & John Victor Joshua Thomas & Ugo Fiore & Yesudas Bevish Jinila & Subhashini Radhakrishnan, 2021. "COVIDNet: Implementing Parallel Architecture on Sound and Image for High Efficacy," Future Internet, MDPI, vol. 13(11), pages 1-14, October.
    3. Umar Iqbal & Ashraf Abosekeen & Jacques Georgy & Areejah Umar & Aboelmagd Noureldin & Michael J. Korenberg, 2021. "Implementation of Parallel Cascade Identification at Various Phases for Integrated Navigation System," Future Internet, MDPI, vol. 13(8), pages 1-17, July.
    Full references (including those not matched with items on IDEAS)

    Most related items

    These are the items that most often cite the same works as this one and are cited by the same works as this one.
    1. Sanaa Kaddoura, 2022. "Evaluation of Machine Learning Algorithm on Drinking Water Quality for Better Sustainability," Sustainability, MDPI, vol. 14(18), pages 1-18, September.
    2. Namhla Mtukushe & Adeniyi K. Onaolapo & Anuoluwapo Aluko & David G. Dorrell, 2023. "Review of Cyberattack Implementation, Detection, and Mitigation Methods in Cyber-Physical Systems," Energies, MDPI, vol. 16(13), pages 1-25, July.
    3. Anupama Mishra & Neena Gupta & Brij B. Gupta, 2023. "Defensive mechanism against DDoS attack based on feature selection and multi-classifier algorithms," Telecommunication Systems: Modelling, Analysis, Design and Management, Springer, vol. 82(2), pages 229-244, February.

    Corrections

    All material on this site has been provided by the respective publishers and authors. You can help correct errors and omissions. When requesting a correction, please mention this item's handle: RePEc:gam:jftint:v:15:y:2023:i:9:p:306-:d:1235724. See general information about how to correct material in RePEc.

    If you have authored this item and are not yet registered with RePEc, we encourage you to do it here. This allows to link your profile to this item. It also allows you to accept potential citations to this item that we are uncertain about.

    If CitEc recognized a bibliographic reference but did not link an item in RePEc to it, you can help with this form .

    If you know of missing items citing this one, you can help us creating those links by adding the relevant references in the same way as above, for each refering item. If you are a registered author of this item, you may also want to check the "citations" tab in your RePEc Author Service profile, as there may be some citations waiting for confirmation.

    For technical questions regarding this item, or to correct its authors, title, abstract, bibliographic or download information, contact: MDPI Indexing Manager (email available below). General contact details of provider: https://www.mdpi.com .

    Please note that corrections may take a couple of weeks to filter through the various RePEc services.

    IDEAS is a RePEc service. RePEc uses bibliographic data supplied by the respective publishers.