here - Stefan-Marr.de
here - Stefan-Marr.de
here - Stefan-Marr.de
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
3.2. A Survey of Parallel and Concurrent Programming Concepts<br />
Table 3.3.: Survey Subjects: Languages and Papers<br />
Active Objects [Laven<strong>de</strong>r and Schmidt, 1996] JCSP [Welch et al., 2007]<br />
Ada Java 7 [Gosling et al., 2012]<br />
Aida [Lublinerman et al., 2011] Java Views [Demsky and Lam, 2010]<br />
Alice Join Java [Itzstein and Jasiunas, 2003]<br />
AmbientTalk [Van Cutsem et al., 2007] Linda [Gelernter, 1985]<br />
Ateji PX MPI [Message Passing Interface Forum, 2009]<br />
Axum MapReduce [Lämmel, 2008]<br />
Briot et al. [1998] MultiLisp [Halstead, Jr., 1985]<br />
C# Occam-pi [Welch and Barnes, 2005]<br />
C/C++11 [ISO, 2011, 2012]<br />
OpenCL<br />
Chapel OpenMP [OpenMP Architecture Review Board, 2011]<br />
Charm++ Orleans [Bykov et al., 2011]<br />
Cilk [Blumofe et al., 1995] Oz [Mehl, 1999]<br />
Clojure Parallel Actor Monitors [Scholliers et al., 2010]<br />
CoBoxes [Schäfer and Poetzsch-Heffter, 2010] Parallel Prolog [De Bossc<strong>here</strong>, 1997; Gupta et al., 2001]<br />
Concurrent Haskell Reactive Objects [Nordlan<strong>de</strong>r et al., 2002]<br />
Concurrent ML [Reppy et al., 2009] SCOOP [Morandi et al., 2008]<br />
Concurrent Objects [Herlihy, 1993] STM [Shavit and Touitou, 1995a]<br />
Concurrent Pascal Skillicorn and Talia [1998]<br />
Concurrent Smalltalk [Yokote, 1990] Sly [Ungar and Adams, 2010]<br />
Erlang [Armstrong, 2007] StreamIt [Thies et al., 2002]<br />
Fortran 2008<br />
Swing<br />
Fortress UPC [UPC Consortium, 2005]<br />
Go X10 [Charles et al., 2005]<br />
Io<br />
XC<br />
Thus, common libraries and extensions for these languages are consi<strong>de</strong>red as<br />
separate subjects.<br />
3.2.2. Results<br />
The analysis of the subjects given in Tab. 3.3 resulted in 97 i<strong>de</strong>ntified concepts.<br />
Since most of them are accepted concepts in the literature and major ones<br />
have been covered in Sec. 2.4, this section restricts their discussion to the results<br />
of the survey questions. As mentioned earlier, some concept variations<br />
have been consi<strong>de</strong>red together as a single concept. For example, the distinct<br />
concepts of monitors and semaphores, have been regar<strong>de</strong>d as part of locks<br />
in this survey. Similarly, the concept of parallel bulk operations also covers the<br />
concept of parallel loops for the purpose of this discussion, because both are<br />
similar enough and have closely related implementation strategies. With these<br />
subsumptions, Tab. 3.4 needs to cover only the 66 major concepts and their respective<br />
survey results. See Tab. 3.5 for the <strong>de</strong>tails about which concepts have<br />
been consi<strong>de</strong>red together.<br />
59