[python-uk] [pyconuk] Minimalistic software transactional memory

Richard Taylor r.taylor at eris.qinetiq.com
Thu Dec 20 08:55:11 CET 2007


Mike

On Wednesday 19 December 2007, Michael Sparks wrote:
> The thing here all of these functions have in common is they are all
> read-write on the state (eg creating non-pre-existing vars). So rather than
> having separate read & write locks, I've decided on a single lock for
> read-write.

That is reasonable. There can be performance improvements from using separate 
read/write locks under certain loads, but I doubt that is an issue here.

> I agree generally speaking about using decorators, however, this is intended 
> to be used in Kamaelia's core concurrency framework "Axon". At present that 
> code is largely python 2.2.late compatible, meaning that it should be 
> portable to Nokia Series 60 phones as well as Jython. The other aspect is we 
> have very very minimal reimplementations of the core in Ruby & C++ (as well 
> as a shedskin compiled version), and I've even seen a Java reimplementation 
> of the core as well.... 

I see your problem. Decorators are not for you at the moment.
 
> > I agree. Where possible we use 'pipe and filter' or 'message queue'
> > patterns for inter-thread communication. We have a library based around 
the
> > MASCOT design method that uses concepts of 'queues' and 'pools', which has
> > proved very powerful for large multi-threaded applications. 
> 
> I'd not heard of MASCOT - I'll take a look into it. It sounds very similar 
to 
> what we currently do in Kamaelia. I suspect pools maybe similar to what we 
> call backplanes.

You won't find much on MASCOT unfortunately: 
http://en.wikipedia.org/wiki/Modular_Approach_to_Software_Construction_Operation_and_Test 
gives you the bare bones but not much else. Although I currently work for the 
successor of the Royal Radar Establishment at Malvern, where the method was 
developed, I did not learn it here. I was taught it as part of my decree 
course at Aberystwyth in the late 80s. 

Anyone else out there still using MASCOT?

Regards

Richard



-- 
QinetiQ                                  
B009 Woodward Building
St. Andrews Road
Malvern
Worcs WR14 3PS
Jabber: RichardTaylor at jabber.org
PGPKey: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xA7DA9FD9
Key fingerprint = D051 A121 E7C3 485F 3C0E  1593 ED9E D868 A7DA 9FD9
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
Url : http://mail.python.org/pipermail/python-uk/attachments/20071220/f2da20cc/attachment.pgp 


More information about the python-uk mailing list