1 / 13

Concurrent Programming and Languages

Concurrent Programming and Languages. Behrooz Nobakht. Approaches. Actor Model Software Transactional Memory Data Flow Programming . Actor Model. Actor: an autonomous and concurrent entity sending “messages” In response to a “message”, an actor may

mahola
Download Presentation

Concurrent Programming and Languages

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Concurrent Programming and Languages BehroozNobakht

  2. Approaches • Actor Model • Software Transactional Memory • Data Flow Programming

  3. Actor Model • Actor: an autonomous and concurrent entity sending “messages” • In response to a “message”, an actor may • Send an finite set of messages to known actors • Create a finite set of new actors • Define how it will respond to future messages

  4. Software Transactional Memory • Translating sequential object implementation to concurrent non-blocking ones • Transaction: a finite sequence of local and shared memory machine instructions • The illusion: Isolation and Atomicity • A shared object plays the role of an STM.

  5. Data Flow Programming • Divide, conquer, merge the processing data • MapReduce • Map: map incoming data to intermediate results • Reduce: merge intermediate results to final results • Specialized File System

  6. Languages and Libraries

  7. Java: Task Relevant: Killim, Clojure

  8. Java: Executor Service

  9. Scala: Actors Similars: Erlang, ActorFoundry, Jetlang

  10. Multiverse STM on Groovy/Java

  11. Hadoop Map/Reduce

  12. All-in-ones GPars • Based on Groovy and Java • Parallel Collection Functions • Data Flows and MapReduce • Actors • forkIO and Mvars • STM • Foreign Function Interface • Nested Data Parallelism Haskell

  13. Hybrid Solutions Akka • Actors and Remote Actors • STM • Transactors: Transactional Actors • Message Passing Interface • Distributed Memory • C, C++, Fortran, Boost Library MPI

More Related