[erlang-questions] How to Name Concurrency Patterns

Hugo Mills hugo@REDACTED
Thu Feb 20 00:03:16 CET 2014


On Wed, Feb 19, 2014 at 10:14:11PM +0100, Joe Armstrong wrote:
> Hello, I'm giving a course in distributed and parallel programming in
> Erlang ...
> 
> Next week I'll be talking about common concurrency patterns, I was
> talking with the course adviser, and I rattled off the names of a few
> concurrency patterns that were well-known and easy to explain. I said
> I'll do PUB-SUB, pipeline, map-reduce, parallel map, and so on.
> 
[snip]
> 
> Pipeline is another example: The output of the first process is the
> input to the next process and so on...
> 
> Now I start having problems.
> 
> Suppose I want to generalize a regular map.
> 
> To be precise. Suppose map(F, L) means [F(I) || I <- L]
> 
> pmap(F, L) is parallel map (easy) all the F(I)'s are computed concurrently.
> 
> pmap(F, L, Max) behaves like map(F,L) with at most Max F(I)'s computed
> concurrently.
> 
> What should this be called? "Pool of workers"
> 
> There seem to be things with well-known names "Load-balancer" "map-reduce"
> etc.
> 
> Then there are things that we know of but that are not named. For
> example my DNS resolver has two DNS names DNS1 and DNS2.  If DNS1 is
> broken the resolver tries DNS2 - what is concurrency pattern called
> (Pool of responders) or what?
> 
> The other day I suggested that for fault tolerance it was much easier
> to let the client go to multiple machines rather than use an expensive
> load balancer and fail-over system on the server - but there was no
> convenient name to capture this idea.
> 
> There sees to be no accepted terminology here - so I'd appreciate any
> suggestions you have as to the names of common currency patterns that
> you use together with definitions of what the names mean.

   Not directly concurrency patterns, but on the face of it, it seems
that there's an overlap with Roy Fielding's classification of
distributed systems patterns[1] here.

   Hugo.

[1] https://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm

-- 
=== Hugo Mills: hugo@REDACTED carfax.org.uk | darksatanic.net | lug.org.uk ===
  PGP key: 65E74AC0 from wwwkeys.eu.pgp.net or http://www.carfax.org.uk
   --- The last man on Earth sat in a room.  Suddenly, there was a ---   
                           knock at the door.                            
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 811 bytes
Desc: Digital signature
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20140219/6e958482/attachment.bin>


More information about the erlang-questions mailing list