DocumentCode
2289105
Title
Fast native function calls for the Babel language interoperability framework
Author
Ebner, Dietmar ; Epperly, Thomas G W
Author_Institution
Center for Appl. Sci. Comput., Lawrence Livermore Nat. Lab., Livermore, CA, USA
fYear
2010
fDate
25-28 Oct. 2010
Firstpage
329
Lastpage
338
Abstract
Babel is an open-source language interoperability framework tailored to the needs of high-performance scientific computing. Its primary focus is on fast in-process communication across various languages. In doing so, some additional call overhead is often inevitable. For several pairs of languages, however, shortcuts exist that allow for more efficient function calls. As Babel is a dynamic framework, the particular set of languages involved is often only known at runtime. In this work, we present a simple yet very effective optimization that can be used to reduce the call overhead between various pairs of languages. In particular, our optimization is applicable if caller and callee are implemented in the same language. We implement and evaluate these techniques for C++ and Python. When applicable, our optimization virtually eliminates the overhead for a small memory cost. Compared to previous versions of Babel, this means a speedup ranging from about 5x for simple numerical argument types up to roughly 125x for strings.
Keywords
C++ language; open systems; public domain software; Babel language interoperability framework; C++; Python; fast native function calls; numerical argument types; open source language interoperability framework; Biological system modeling; Laboratories; Mathematical model; Optimization; Runtime; Servers; Skeleton;
fLanguage
English
Publisher
ieee
Conference_Titel
Grid Computing (GRID), 2010 11th IEEE/ACM International Conference on
Conference_Location
Brussels
Print_ISBN
978-1-4244-9347-0
Type
conf
DOI
10.1109/GRID.2010.5698006
Filename
5698006
Link To Document