Experience Using a Globally Shared State Abstraction to Support Distributed Applications
Sai Susarla,
Anand Ranganathan,
John Carter
{sai,anand,retrac}@cs.utah.edu
The Khazana Project
Technical Report UUCS-98-016
August 1998
The Flux Research Group
Department of Computer Science
University of Utah
50 S. Central Campus Drive Rm. 3190
Salt Lake City, Utah 84112-9205
Abstract
In this paper, we evaluate the effectiveness of basing distributed systems
on a persistent globally shared address space abstraction, as implemented
by Khazana.
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)
fault tolerance.
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.