Experience Using a Globally Shared State Abstraction to Support Distributed Applications
The Khazana Project
Technical Report UUCS-98-016
The Flux Research Group
Department of Computer Science
University of Utah
50 S. Central Campus Drive Rm. 3190
Salt Lake City, Utah 84112-9205
In this paper, we evaluate the effectiveness of basing distributed systems
on a persistent globally shared address space abstraction, as implemented
Khazana provides shared state management services to distributed
application developers, including consistent caching, automated replication
and migration of data, location management, access control, and (limited)
We report on our experience porting three applications to Khazana: a
distributed file system (KFS), a distributed name service (KNS), and a
cooperative drawing program based on xfig (KFIG).
The basic Khazana abstraction of persistent shared memory made it easy to
create fairly efficient distributed services with flat data abstractions
(KFS and KNS), but our port of xfig made it clear that a higher level
abstraction is preferable for applications with more structured state.
As a result, we extended Khazana to support a limited set of object-like
functions (reference swizzling, event upcalls, and update propagation).
We present herein the current Khazana design and implementation, and
discuss the lessons learned from our initial evaluation of it.
The full technical report is also available.