[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

how to write parallel programs

how to write parallel programs
Hash: SHA1

> Mike Champion:
> That is, perhaps "encapsulation" of data 
> is not such a good thing after all ... 
> or at least it's not scaling well to the Web. 
> Perhaps it makes more sense to expose the data 
> via generic operations rather than exchange 
> objects that encapsulate data behind customized 
> operations. I'm not sure, but things are getting 
> interesting ....

Carriero and Gelernter's "How to Write Parallel Programs" claim 3
fundamental paradigms for parallel programs. What they have to say
is cogent with respect to distributed programming, and the question
of how REST, (OO)RPC and the whole web architecture shooting match
squares with their claims is an interesting one. This book is,
astonishingly, out of print, so I'll quote liberally:

"We can envision parallelism in terms of a program's 
result, a program's agenda of activities or of an 
ensemble of specialists that collectively constitute 
the program. We begin with an analogy.

Suppose you want to build a house. Parallelism - using 
many people on the job - is the obvious approach. But 
there are several different ways in which parallelism 
might enter.

First, we might envision parallelism by starting with 
the finished product, the result. [...] In sum each 
worker is assigned to produce one piece of the result 
[...] This is the result parallel approach.

At the other end of the spectrum we might envision 
parallelism by starting with the crew of workers who 
will do the building. [...] In sum, each worker is 
assigned to perform one specified kind of work [...] 
This is the specialist parallel approach.

Finally, we might envision parallelism in terms of an 
agenda of activities that must be completed in building 
a house. [...] In sum, each worker is assigned to pick 
a task from the agenda and do that task - and repeat, 
until the job is done [...] This is the agenda parallel 

The boundaries between the three paradigms can sometimes 
be fuzzy, and we will often mix elements of several paradigms 
in getting a particular job done [...] It's nonetheless an 
essential point that these three paradigms represent three 
clearly separate ways of thinking about the problem."

They go on to describe how the paradigms imply different
relationships between processes and data. The first two
relationships are message passing (enclose data within a process)
and live data (enclose processes inside data). The defining
difference between these is whether processes are created
explicitly (message passing) or implicitly (live data). The third
is an intermediate: many processes share access to many data and
may communicate by reading and writing data; these are called
distributed data structures. Specialist parallelism maps onto
message passing. Result parallelism maps onto live data. Agenda
parallelism maps onto distributed data structures.

Bill de hÓra

Version: PGP 7.0.4



Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
First Name
Last Name
Subscribe in XML format
RSS 2.0
Atom 0.3

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.

Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.