Green Technology Blog

November 30, 2008

Useable building blocks as concurrency patterns

While learning INGI1131, my coinciding programming course, I have got yet more impressed by a coincident paradigm, that is to say operable programming extended with threads and ports, which I call up multi-agent dataflow programming. This paradigm has many well properties:

  • The declarative simultaneous subset (no ports) has no race conditions and can be programmed like a operative language. The introductory concept is dataflow synchronization of single-assignment variables. A utile data structure is the stream, a list with dataflow tail utilized as a communication channel.
  • Nondeterminism can be contributed on the nose where asked and minimally, by employing ports. A port is only a called stream to which any thread can post.
  • All working building blocks are concurrency patterns. Map, fold, filter, etc., are all utile for building up simultaneous programs. Hither are two examples: a sign on nett protocol and an evident port object. Chapter 5 of CTM generates many more examples.
  • Coincident systems can be configured in any order and yet at the same time with factual use of the system. Take down that this is reliable for ports yet though they can state nondeterminism.
  • Projecting coincidental programs is amazingly well-fixed. For example, any indicative part of the program can be submited its ain thread, relaxing the coupling between system’s parts, without altering correctness.
  • The paradigm is well-off to apply expeditiously.
  • The paradigm is easy expanded to sustain fault-large-minded lucid circulated programming: figure Raphael Collet’s dissertation. Google’s MapReduce is a illustrious example.

This paradigm looks to be precisely what is needed for both little and large parallel systems (both multicore and Internet, close and open coupling). I am stormed that it is not applyed more oftentimes. What do you recollect? Does it merit a bad role?

Related Posts:
I’m All the same Departing Farsighted and Skiping the Markets Go away Down

Comments

The URI to TrackBack this entry is: http://medonza.blogsome.com/2008/11/30/useable-building-blocks-as-concurrency-patterns/trackback/

No comments yet.

RSS feed for comments on this post.

Leave a comment

Sorry, the comment form is closed at this time.






















Get free blog up and running in minutes with Blogsome
Theme designed by Helga Cleve