Code : Teaching

SimpleTS

SimpleTS was created as a simplified Tuple Space system after reviewing PyBrenda and PyLinda for use in the parallel programming course. Since the students are only using tuple spaces in one of the projects, I wanted something that had a smaller code base and was simpler to set up and use, so I wrote this version. It doesn't have the full Linda semantics for tuple matching, borrowing the simplifications from PyBrenda.

SimpleTS uses Pyro (Python Remote Objects). An archived copy of Pyro 3.5 (the version we have tested SimpleTS with) is here.

The source code is now available on GitHub as https://github.com/jmbjorndalen/SimpleTS.

PyCSP

The PyCSP project is an on-going project project to bring CSP (Communicating Sequential Processes) to Python. The main goals of this project is to support our research projects and for teaching.

2007-04-27: The projects home page has now been moved.

DSM Example

A simple Distributed Shared Memory (DSM) implementation for Linux. The example code is used to show students how a page-based DSM system could be built at user level based on standard system calls and mechanisms such as signal handlers, mprotect and mmap.

It starts off with a central server that keeps all the pages. Page faults in a client trigger the signal handler, which then requests pages to be migrated from the server (or from other clients) to the page faulting client. The server may also tell the clients to evict pages that needs to be forwarded to other clients.

It is used to illustrate how things can be done, and the quality is thereafter. Feel free to play with it.

dsm-example.tar.gz


- John Markus Bjørndalen