+ All Categories
Home > Documents > Concurrent Programming and Languages

Concurrent Programming and Languages

Date post: 23-Feb-2016
Category:
Upload: mahola
View: 59 times
Download: 0 times
Share this document with a friend
Description:
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 - PowerPoint PPT Presentation
13
Concurrent Programming and Languages Behrooz Nobakht
Transcript
Page 1: Concurrent Programming  and Languages

Concurrent Programming and Languages

Behrooz Nobakht

Page 2: Concurrent Programming  and Languages

Approaches Actor Model Software Transactional Memory Data Flow Programming

Page 3: Concurrent Programming  and Languages

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

Page 4: Concurrent Programming  and Languages

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.

Page 5: Concurrent Programming  and Languages

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

Page 6: Concurrent Programming  and Languages

Languages and Libraries

Page 7: Concurrent Programming  and Languages

JAVA: TASK Relevant: Killim, Clojure

Page 8: Concurrent Programming  and Languages

JAVA: EXECUTOR SERVICE

Page 9: Concurrent Programming  and Languages

SCALA: ACTORS Similars: Erlang, ActorFoundry, Jetlang

Page 10: Concurrent Programming  and Languages

MULTIVERSE STM on Groovy/Java

Page 11: Concurrent Programming  and Languages

HADOOP Map/Reduce

Page 12: Concurrent Programming  and Languages

All-in-onesGPars

Haskell

Based on Groovy and Java Parallel Collection Functions Data Flows and MapReduce Actors

forkIO and Mvars STM Foreign Function Interface Nested Data Parallelism

Page 13: Concurrent Programming  and Languages

Hybrid SolutionsAkka

MPI

Actors and Remote Actors STM Transactors: Transactional Actors

Message Passing Interface Distributed Memory C, C++, Fortran, Boost Library


Recommended