Abstract

Because of the irregular and dynamic data structures, parallel programming in non-numerical field often requires asynchronous and unspecific number of messages. Such programs are hard to write using MPI/Pthreads, and many new parallel languages, designed to hide messages under the runtime system, suffer from the execution overhead. Thus, we propose a parallel programming language Orgel that enables brief and efficient programming. An Orgel program is a set of agents connected with abstract channels called streams. The stream connections and messages are declaratively specified, which prevents bugs due to the parallelization, and also enables effective optimization. The computation in each agent is described in usual sequential language, thus efficient execution is possible. The result of evaluation shows the overhead of concurrent switching and communication in Orgel is only 1.2 and 4.3 times larger than that of Pthreads, respectively. In the parallel execution, we obtained 6.5-10 times speedup with 11-13 processors.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call