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
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;
Conference_Titel :
Grid Computing (GRID), 2010 11th IEEE/ACM International Conference on
Conference_Location :
Brussels
Print_ISBN :
978-1-4244-9347-0
DOI :
10.1109/GRID.2010.5698006