\section{Introduction}

Wanted for highly concurrent systems:  a low-overhead, high-level
construct for mutex on shared resources.
Answer: managers.



bundle data with lock

view manager as state machine

low overhead

non-busy-waiting

highly available

fine grained concurrency

non-strictness (parallelism within manager bodies)

mailboxes for deferred responses

composition

object oriented (overloading for type checking)

applicable to distributed systems
        many concurrent processes
        busy-waiting undesirable

type checking better with abstype

parallelism inside call; composite resources, split state/response