EFL: Implementing and Testing an Embedded Language Which Provides Safe and Efficient Parallel Execution - Dayan, David; Goldstein, Moshe; Mizrahi, Shimon; Rabin, Max; Berlovitz, Devora; Berlovitz, Or; Levy, Elad Bussani; Naaman, Moshe; Nagar, Mor; Soudry, Ditsa; Yehezkael, Raphael B.; Popovic, Miroslav (2015 4th Eastern European Regional Conference on the Engineering of Computer Based Systems, 2015)
As a deterministic parallel programming language that guarantees safety of parallel executions, EFL was designed to allow the embedding of parallel code blocks into a sequential host language program. An EFL pre-compiler, which is described here, has been implemented that translates EFL blocks into the host language. The EFL pre-compiler and runtime supports parallel building blocks such as parallel assignments, parallel for loops, etc. EFL was successfully tested on a task tree architecture, using the work-span method to estimate parallelism and speedup, followed by experiments to measure actual execution times and calculate real speedups on a specific platform. Results show that speedup increases almost linearly with the size of a task tree.