Friday, June 02, 2006


Introduction Final

So a belated introduction:

I, Charles Reiss, am an American student working on adding Software Transactional Memory support to Parrot. Software Transactional Memory brings those transactions we all know and love in databases into ‘ordinary’ multithreaded programming and are, fortunately, a well-studied area with one mainstream implementation in the Haskell compiler GHC. Implementations of STM provide better performance than traditional locking under most circumstances by optimistically assuming that there will be no contention: different transactions are allowed to execute concurrently under the assumption that they will not conflict; if they do, only one is allowed to commit and the other is retried.

I've created a separate branch for this project in Parrot's repository (parrot/branches/stm) and placed some (preliminary) design/documentation in the repository (.../docs/stm). In addition to the usual orientation stuff everyone will probably mention, I've added some atomic operations implementation and made it easier extend Ref there, and I next plan on creating the user-visible side of the implementation (ops, PMCs, etc.) and making it call a stub backend.

<< Home

This page is powered by Blogger. Isn't yours?