[ Home | Class Roster | Syllabus | Status | Glossary | Search | Course Notes]
Address shared memory as abstraction - permits adaptation to environment and application
flat distributed persistent globally shared space
addressed using 128 IDs
read/write
can map to private virtual memory
peer based
region: block of client data with common attributes, with contiguous addresses.
page: minimum chunk of memory managed
operations:
reserve/unreserve contiguous range of global addresses
allocate/free physical memory for a reserved global region
lock/unlock parts of regions
read/write subparts of a region using lock context
get/set attributes of a region including
consistency level
consistency protocol
access control info
minimum number of replicas (fault tolerance)
no higher level "object' abstraction (generality and light weight)
currently only strict consistency
region descriptor
home node (keeps a copy and track of all copies)
address map: for allocation and discovery of home nodes
implemented as distributed tree
subtrees keep details
each tree node is of fixed size
contains set of regions/home nodes or locations of subtrees
replicated using relaxed consistency protocol
clusters: groups of closely connected nodes
managed by cluster manager
daemon keeps track of locally reserved but unused address space
if not sufficient contacts cluster manager
reserves large region to be locally managed (1 gig)
no defragging
caches regions descriptors which contain the home node)
If cache miss, contacts cluster manager which caches
Else "walks" tree
Consistency managers
run on a replicated site
need lock
user notifies CM of updates
treat entire address space as a single "disk"
superblock and i-node
each i-node is a region
regions are 4KB blocks
performs poorly so far
CORBA and COM
replicate instead of RPC
lacks fine grained consistency management
preliminary