Multilingualization Based on RPC for Job-level Parallel Script Language, Xcrypt

2013 
We are developing a job level parallel scripting language called Xcrypt, which helps us run a single program a number of times with different parameter values under computing environments where jobs are managed by a batch scheduler, such as supercomputers. Because Xcrypt is implemented as an extension to Perl, Xcrypt users are required to write Perl-based scripts. This becomes a barrier for programmers of other scripting languages when using Xcrypt. To solve this problem, we developed a framework that enables us to implement interfaces for using Xcrypt functionalities in other languages at a reasonable cost. To reuse existing Xcrypt implementations, we designed an RPC protocol between Perl and other languages. This protocol supports remote references to objects in another process, as well as callback functions. We can use Xcrypt APIs in any language by invoking Perl functions using RPCs. In our framework, Xcrypt extension modules, which Xcrypt users can implement as class extensions based on object oriented programming in Perl, can also be defined and used in any supported language. This paper also describes an example of a performance tuning of an electromagnetic field analysis simulation program performed with a Ruby-based parallel script that uses an extension module implemented in Lisp.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    4
    References
    0
    Citations
    NaN
    KQI
    []