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