05.08.2014 Views

here - Stefan-Marr.de

here - Stefan-Marr.de

here - Stefan-Marr.de

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!