Practical Unix Programming:
A Guide to Concurrency, Communication, and Multithreading

by Kay. A. Robbins and Steven Robbins

Chapter 15: Project: Tuple Space

Linda is an elegant programming language designed to support parallel processing on networks of computers. The language is built on simple primitives and a tuple space model that uses shared data for communication and synchronization, in contrast to traditional message passing or shared memory approaches. David Gelernter, Linda's originator, says in expressing the philosophy of Linda, ``Elegance in writing software is achieving maximum functionality from minimal complexity,.... It's the same as good prose --- getting the most value from each word you write.'' This chapter develops a specification of a simplified tuple space model and illustrates its use by building a distributed cooperative search application. The project integrates most concepts covered in previous chapters, culminating with a threaded remote procedure call server for a Linda subset. The machinery developed in this chapter is amazingly powerful, building the foundation for a true distributed operating system.

Next chapter

Back to chapter summaries