Philosopher

                                                                     -Solving synchronisation problem in a different way 





Have you heard about STM(Software Transactional Memory). It is said to be the future of computing in which there are no locks.
And all of you must have heard about Dining Philosopher's problem.
So the project is about solving the above problem using STM.

Download link : Philosopher

I have used SXM middleware from Microsoft Research. The middleware is in C#..NET 2.0 framework is used.
This is based on the research paper on STM by Tim Harris and Simon Peyton Jones of Microsoft Research.

I am not going in detail here, but this is what I can say about locks and STM:

1.Fine grained locks often involve lot of context switches.

2. Coarse locks often lock large sections at same time and hence performance loss.

3.Deadlocks are common when using locks.

4.Last, but not the least programmer finds it really abstract when working with locks and muliple threads.

Why STM?

1.No explicit locks are used.

2.Use the principle of transactions of database systems.

3.More onus is put on readers than writers.

Links: 

 Download page for SXM