[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Cost of Choise operators in CSP?

I have a blog article that implements something fairly like the CSP choice operator (i.e. it allows choice on input and output operations) using Software Transactional Memory: http://chplib.wordpress.com/2010/03/04/choice-over-events-using-stm/

Some recent benchmarking I did for a paper on conjunction suggested the following as costs for channels, at least in Haskell: adding choice to channels made normal (not-involving-choice) communications about twice as slow as standard STM channel communications.  That's a bit woolly though, and comes with lots of caveats.

Incidentally, I seem to recall Peter saying that the CSP choice operator technically has some nasty complexity arising from choosing based on the value coming over the channel.  I think you can get things like one side agreeing to communicate any number over 4 billion, and the other side agreeing to communicate any prime number, and the run-time has to sort it out.  My article above doesn't cover that, but talks about implementing choice to the level of occam+output guards.


-------- Original Message --------
Subject: Cost of Choise operators in CSP?
From: "Campbell, John" <John.Campbell@xxxxxxxxxxxxxx>
Date: Tue, May 18, 2010 11:25 pm
To: "Occam Family" <occam-com@xxxxxxxxxx>

Hi All
Can anyone point me at a discussion of the cost of actually implementing the
choice operator as it functions in CSP?
Thanks. -jc