On Interoperation among User-driven and System-driven Parallel Languages
Author(s)
Jain, Nikhil
Bhatele, Abhinav
Yeom, Jae-Seung
Adams, Mark F.
Miniati, Francesco
Mei, Chao
Kale, Laxmikant
Issue Date
2014-08-26
Keyword(s)
charm++, mpi, interoperation, parallel, languages
Abstract
Modern parallel codes are often written as a collection of several diverse modules. Different programming languages might be the best or natural fit for each of these modules or for different libraries that are used together in an application. For such applications, the restriction of implementing the entire application in a single parallel language may impact the application’s performance and programmer’s productivity negatively.
This paper studies interoperation among parallel languages that differ with respect to the driver of program execution. We describe the challenges in enabling interoperation among user-driven and system-driven languages, and present techniques for managing important attributes of a program, such as the control flow, resource sharing, and data sharing, in an interoperable environment. We also present a generalized framework that en- ables interoperation between two production languages, MPI and Charm++. Finally, we study the application of the presented techniques and demonstrate the benefits of interoperation through several case studies using production codes including CHARM, EpiSimdemics, NAMD, FFTW, MPI-IO and ParMETIS, executed on IBM Blue Gene/Q and Cray XE6.
Use this login method if you
don't
have an
@illinois.edu
email address.
(Oops, I do have one)
IDEALS migrated to a new platform on June 23, 2022. If you created
your account prior to this date, you will have to reset your password
using the forgot-password link below.