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: 314
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