State management in a distributed UNIX system
P.J. Roy, David Noveck, W.J. Bryant · 1996
Operating systems maintain and manipulate objects that represent resources such as processes, files and I/O devices. In an operating system distributed across multiple nodes, management of object state and object references is a critical factor affecting the system's architecture, performance and complexity. This paper discusses object state management and caching in AD 2, a distributed, single-system-image UNIX operating system that runs on multicomputers and clusters. AD 2 maintains the coherency of distributed objects via token abstraction; support for tokens is implemented by the Token Module, a generic state-management facility that enables AD 2 services to efficiently control access to object state that is distributed across multiple nodes. The paper details the Token Module's architecture and functionality, including the features supporting scalability, piggybacking of tokens to avoid messages, and flexibility with respect to maintaining cache coherency and resolving conflicting accesses. Also described is how AD 2 services use tokens and the associated Token Module features to implement distributed access to UNIX files, mounted file systems and shared open file structures.