A Course-Based Usability Analysis of Cilk Plus and OpenMP
May 2015 • Conference Paper
Michael Coblenz (Carnegie Mellon School of Computer Science), Robert C. Seacord, Brad Myers, Joshua Sunshine (Institute for Software Research), Jonathan Aldrich
In this paper, the authors compare Cilk Plus and OpenMP to evaluate the design tradeoffs in the usability and security of these two approaches.
Cilk Plus and OpenMP are parallel language extensions for the C and C++ programming languages. The CPLEX Study Group of the ISO/IEC C Standards Committee is developing a proposal for a parallel programming extension to C that combines ideas from Cilk Plus and OpenMP. We conducted a preliminary comparison of Cilk Plus and OpenMP in a master's-level course on security to evaluate the design tradeoffs in the usability and security of these two approaches. The eventual goal is to inform decision making within the committee. We found several usability problems worthy of further investigation based on student performance, including declaring and using reductions, multi-line compiler directives, and the understandability of task assignment to threads.