Re[2]: Comparison of high-level concurrency models?
John Carter <[email protected]>
| Newsgroups | gmane.comp.programming.language-of-the-year |
|---|---|
| Message-ID | <[email protected]> |
On Tue, 27 May 2008, Gregg Irwin wrote: > This being the prag list, and hoping to save my own fingers from as > much crispiness as possible, what would be the "harsh, but simplifying > restrictions" you would impose, or what models/lanugages worked for > you (or didn't)? My context is more distributed workflow oriented than > pure HPC, but any thoughts based on your experience would be most > welcome. Harsh but simplifying... Basically choose one of the models like mapreduce XOR message passing XOR ... and stick RELIGIOUSLY with it. Attempting to kludge the odd thing with backdoors like passing data via globals or shm segments, ad hoc synchronization techniques like semaphores etc. etc as well is the sure route to crispy finger hell. Some frameworks, especially by Big Vendors offer you The Works. Every data passing technique, every synchronization technique in the textbooks. Madness lies that way. Moores Law has been upgrading our CPU's for the last 20 years, but it's done sweet nothing for our brains. When we go concurrent, we need to go simple and consistent. Keep It Simple Stupid. Very simple. A basic rule of thumb is if a sequence of events happened in one order, but can arrive on any subsystem out in another order, you're doing it wrong and it's going to bite you in the bum when you aren't looking. John Carter Phone : (64)(3) 358 6639 Tait Electronics Fax : (64)(3) 359 4632 PO Box 1645 Christchurch Email : [email protected] New Zealand