BSPlib Java liides paralleelsete teadusarvutuse rakendustele
Date
2012
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Tartu Ülikool
Abstract
Selle lõputöö eesmärk on BSPlib liidese loomine Java programmeerimiskeele jaoks, mis võimaldaks luua Bulk Synchronous Parallel (BSP) hajusarvutuse mudelil baseeruvaid Java programme. Loodavat liidest kasutatakse keerulise teadusarvutuse programmi paralleliseerimiseks, et illustreerida BSP kasutatavust teadusarvutuslike probleemide lahendamise jaoks. Selleks programmiks on valitud tahkete materjalide soojusjuhtivuse simuleerimine lineaarsüsteemide lahedamise teel, mis on äärmiselt kommnikatsiooni-nõudlik ning sobib seega väga heaks näiteks. Lisaks BSP mudelile kasutatakse selle programmi paralleliseerimiseks ka kahte erinevat MPI hajusarvutuse liidest, millega võrreldes hinnatakse loodud BSP liidese effektiivsust ning skaleeruvust.
This work presents a Java interface to a native BSPlib library for implementing parallel algorithms in a structured way (as described by the BSP model), using the Java programming language. To compare the created library to existing parallel programming solutions, a typical physics simulation application is created. It employs the parallel conjugate gradient method for solving systems of linear algebraic equations, a common scientific computing algorithm, which is challenging from a parallelization standpoint. Using the results from running the test application, the Java BSPlib interface is compared to various MPI (Message Passing Interface) implementations.
This work presents a Java interface to a native BSPlib library for implementing parallel algorithms in a structured way (as described by the BSP model), using the Java programming language. To compare the created library to existing parallel programming solutions, a typical physics simulation application is created. It employs the parallel conjugate gradient method for solving systems of linear algebraic equations, a common scientific computing algorithm, which is challenging from a parallelization standpoint. Using the results from running the test application, the Java BSPlib interface is compared to various MPI (Message Passing Interface) implementations.