The Dining-Philosophers
When learning about concurrency, the Dining-Philosophers Problem is perhaps the quintessential example that illustrates the fundamental issues involved in resource allocation and scheduling. Unfortunately, the pedagogy used in most college courses to teach this particular class of problems is less than ideal, usually focusing on trivialities such as syntax, introductory data structures, and basic thread initialization rather than the true issues at hand. Even more frustrating is the fact that students will turn in theoretically broken code that appears to work as a result of the granularity of timeslicing between threads on their operating system of choice. Fortunately, Jim Plank at the University of Tennessee provides an excellent approach to teaching this problem. His technique is a general driver that provides a foundation framework for experimenting with and benchmarking this classic synchronization problem. And for self-study, Jim offers several potential solutions, sample output data, and an analysis of each technique and its various advantages and disadvantages.
0 Comments »
No comments yet.
RSS feed for comments on this post. TrackBack URI