Semantics and Performance Considerations of Kedama, a GUI-based Massively Parallel Programming Language

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. 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. 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. 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

[1]  John Maloney,et al.  Back to the Future The Story of Squeak, A Practical Smalltalk Written in Itself , 1997 .

[2]  Yoshiki Ohshima,et al.  Kedama: a GUI-based interactive massively parallel particle programming system , 2005, 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'05).

[3]  Yoshiki Ohshima The early examples of Kedama: a massively parallel system in Squeak , 2005, Third International Conference on Creating, Connecting and Collaborating through Computing (C5'05).

[4]  Mitchel Resnick,et al.  Turtles, termites, and traffic jams - explorations in massively parallel microworlds , 1994 .

[5]  Donald E. Knuth,et al.  Semantics of context-free languages , 1968, Mathematical systems theory.