Learn More
Current technology trends make it possible to build communication networks that can support high-performance distributed computing. This paper describes issues in the design of a prototype switch for an arbitrary topology point-to-point network with link speeds of up to 1 Gbit/s. The switch deals in fixed-length ATM-style cells, which it can process at a(More)
An axiomatic method for proving a number of properties of parallel programs is presented. Hoare has given a set of axioms for partial correctness, but they are not strong enough in most cases. This paper defines a more powerful deductive system which is in some sense complete for partial correctness. A crucial axiom provides for the use of auxiliary(More)
Competitive analysis is concerned with comparing the performance of on-line algorithms with that of an optimal off-line algorithm. For some problems, ran-domized on-line algorithms have yielded better performance ratios than deterministic on-line algorithms, assuming that the input sequences are generated by an adversary that has no knowledge about the(More)
A liveness property asserts that program execution eventually reaches some desirable state. While termination has been studied extensively, many other liveness properties are important for concurrent programs. A formal proof method, based on temporal logic, for deriving liveness properties is presented. It allows a rigorous formulation of simple informal(More)
A common operation in multiprocessor programs is acquiring a lock to protect access to shared data. Typically , the requesting thread is blocked if the lock it needs is held by another thread. The cost of blocking one thread and activating another can be a substantial part of program execution time. Alternatively, the thread could spin until the lock is(More)