Performance of concurrent software on multicore processors

Posted by Giorgio on Programmers See other posts from Programmers or by Giorgio
Published on 2012-07-07T22:55:22Z Indexed on 2012/07/08 3:22 UTC
Read the original article Hit count: 278

Recently I have often read that, since the trend is to build processors with multiple cores, it will be increasingly important to have programming languages that support concurrent programming in order to better exploit the parallelism offered by these processors.

In this respect, certain programming paradigms or models are considered well-suited for writing robust concurrent software:

  • Functional programming languages, e.g. Haskell, Scala, etc.
  • The actor model: Erlang, but also available for Scala / Java (Akka), C++ (Theron, Casablanca, ...), and other programming languages.

My questions:

  • What is the state of the art regarding the development of concurrent applications (e.g. using multi-threading) using the above languages / models? Is this area still being explored or are there well-established practices already?
  • Will it be more complex to program applications with a higher level of concurrency, or is it just a matter of learning new paradigms and practices?
  • How does the performance of highly concurrent software compare to the performance of more traditional software when executed on multiple core processors?
  • For example, has anyone implemented a desktop application using C++ / Theron, or Java / Akka? Was there a boost in performance on a multiple core processor due to higher parallelism?

© Programmers or respective owner

Related posts about functional-programming

Related posts about scala