Semantics and Performance Considerations of Kedama, a GUI-based Massively Parallel Programming Language
Creating, Connecting and Collaborating through Computing, International Conference on (2006)
University of California, Berkeley, California USA
Jan. 26, 2006 to Jan. 27, 2006
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/C5.2006.34
Yoshiki Ohshima , Twin Sun, Inc., USA
Kedama is a GUI-based parallel programming language, in which the user can construct and modify the program dynamically even when the program is running. The dynamic nature of the system and its non-technical target audience require different consideration on its design tradeoffs; such as fast and separate compilation of scripts, and simpler control structures for parallel execution. <p>Based on the design choice, the previous version of the Kedama system had provided a usable system. However, the previous semantics model, called "pure-SIMD", had some flaws; when a conditional statement is used, the semantics of script calling was not consistent. Also, the performance was unnecessarily degraded because of the sequentialized execution.</p> <p>This paper presents a new semantics model called "predicated SIMD" that addresses the problems. In the predicated SIMD model, a parallel element (called "a turtle") now has a Boolean value called "predicate" that denotes if the turtle is active or not. In a conditional statement, the predicates for the turtles are set property so that the statements can be executed without being sequentialized.</p> <p>With this improvement, the semantics discrepancy is reduced. Also, there is a factor of 20 improvement in micro benchmarks, and a factor of 6 improvement on the overall performance in real examples.</p>
Y. Ohshima, "Semantics and Performance Considerations of Kedama, a GUI-based Massively Parallel Programming Language," 2006 4th International Conference on Creating, Connecting and Collaborating through Computing(C5), Berkeley, CA, 2006, pp. 210-217.