• DocumentCode
    652644
  • Title

    Benchmarking Usability and Performance of Multicore Languages

  • Author

    Nanz, Sebastian ; West, Sam ; Soares Da Silveira, Kaue ; Meyer, Bertrand

  • Author_Institution
    ETH Zurich, Zurich, Switzerland
  • fYear
    2013
  • fDate
    10-11 Oct. 2013
  • Firstpage
    183
  • Lastpage
    192
  • Abstract
    Developers face a wide choice of programming languages and libraries supporting multicore computing. Ever more diverse paradigms for expressing parallelism and synchronization become available while their influence on usability and performance remains largely unclear. This paper describes an experiment comparing four markedly different approaches to parallel programming: Chapel, Cilk, Go, and Threading Building Blocks (TBB). Each language is used to implement sequential and parallel versions of six benchmark programs. The implementations are then reviewed by notable experts in the language, thereby obtaining reference versions for each language and benchmark. The resulting pool of 96 implementations is used to compare the languages with respect to source code size, coding time, execution time, and speedup. The experiment uncovers strengths and weaknesses in all approaches, facilitating an informed selection of a language under a particular set of requirements. The expert review step furthermore highlights the importance of expert knowledge when using modern parallel programming approaches.
  • Keywords
    benchmark testing; multiprocessing systems; parallel programming; programming languages; software libraries; Chapel; Cilk; Go; TBB; benchmarking usability; coding time; execution time; expert knowledge; libraries; multicore computing; multicore languages; parallel benchmark programs; parallel programming; parallelism; programming languages; sequential benchmark programs; source code size; synchronization; threading building blocks; Benchmark testing; Measurement; Multicore processing; Parallel processing; Parallel programming; Usability;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Empirical Software Engineering and Measurement, 2013 ACM / IEEE International Symposium on
  • Conference_Location
    Baltimore, MD
  • ISSN
    1938-6451
  • Print_ISBN
    978-0-7695-5056-5
  • Type

    conf

  • DOI
    10.1109/ESEM.2013.10
  • Filename
    6681351