Asynchrony versus bulk-synchrony in QRQW PRAM models

The QRQW ASYNCHRONOUS PRAM model Bulk-Synchrony in QRQW PRAM models Yossi Matias Vljaya Ramachandran” AT&T Bell Laboratories Dept. of Computer Sciences 600 Mountain Avenue University of Texas at Austin Murray Hill NJ 07974 Austin TX 78712 matias@research. at t . com vlr@cs.ut exas.edu [2] was introduced by the authors as the asynchronous variant of the QRQW family of models [3], suitable for algorithm design in an asynchronous multi-process setting. The QRQW models permit concurrent reading and writing of shared memory locations at a cost that is linear in the number of such readers and writers. Each memory location is viewed as having a queue which can service at most one request at a time. Unlike related models accounting for contention (e.g. [1, 6]), the QRQ w models permit pipelining: individual processors may have multiple requests in progress concurrently. The QRQW PRAM model is well suited for the design and analysis of bulk-synchronous algorithms on machines such as the forthcoming Tera MTA multiprocessor. The MTA provides a QRQW contention rule at the memory cells, supports the pipelining of memory requests, and provides sufficient processor-to-memory bandwidth to support communication at each step. Efficient bulk-synchronization is an option on the machine, but is not imposed. The QRQW ASYNCHRONOUS PRAM model can be used to design and analyze algorithms in contexts in which the bulk-synchrony is not employed. Indeed, Burton Smith, Chairman and Chief Scientist of Tera Computer, refers to the MTA as “roughly a QRQW ASYNCHRONOUS PRAM” [7] (and to our knowledge makes no such claims about other mo”dels). In this communication, we briefly report on some of our results to date on comparing the asynchronous QRQW model to the bulk-synchronous QRQW model, and some open problems that remain. We describe the features of the two models that are needed for this communication; their complete definitions can be found in [2, 3]. In the (bulk-synchronous) QRQW PRAM, each processor executes a series of reads to shared memory locations, a series of local computation steps, a series of writes to shared memory locations, and then synchronizes with all the other processors. The time for such a bulk-synchronous step is the maximum of the number of reads, compute steps, and writes by any one processor and the maximum contention at any one location. Thus each processor waits until all queues have emptied. In the QRQW ASYNCHRONOUS PRAM, each processor executes reads, compute steps, and writes, but processors proceed at their own pace with no intervening synchronization. Algorithms must be correct under worst case assumptions on the finite delays “ Supported in part by NSF grant CCR-90-23059 and Texas Advanced Research Program Grant 003658480. Permission to make dlgitel/hml copies of all or part of tlds material for personal or clmsrmm use is granted without fee provided that the copies are not made or distributed for prufit or connnemial advantage, tie copyright notice, the tide of the publication and its date appear, and notice is given that copyright is by perrniaaion of the ACM, Inc. To copy otherwise, to republish, to post on servers or to redkibute to lists, requires specific permission andlor fee. PODC’96, Pbilstdelphia PA, USA O 1996 ACM &89’791-8(J@2/96/05. .$3.50 incurred by processors and in processing memory requests. However, the running time of an algorithm is analyzed using an optimistic (synchronous) time metric in which, at each unit-time step, each processor performs a local computation step or issues a shared memory request, with all requests to the same location appended to the queue for that location, and then each nonempty queue services the request at the head of its queue. Thus each processor waits only on the queues for which it has pending requests. We have developed a simple deterministic algorithm for computing the OR of n bits on the QRQW ASYNCHRONOUS PRAM that exploits the lack of bulk-synchrony and runs in O(lg n/ lg lg n) time, linear work [5]; we have a matching lower bound. In contrast, no o(lg n) time QRQW PRAM algorit hm is known, and even on a CRQw PRAM, no deterministic o(lg n) time algorithm is known. We have developed a simple randomized O(lg n) time, O(rr lg n) work QRQW ASYNCHRONOUS PRAM algorithm to sort an array of n elements [5]. The algorithm is almost exactly the same as the 61(lgz n/ lg lg n) time randomized sorting algorithm we developed earlier for the QRQw PRAM [4], but we exploit asynchrony by allowing elements to flow through the ‘binary search fat trees’ at their own pace. The QRQW PRAM was proven to have a fast work preserving emulation on machines such as the Tera MTA. However, one can construct QRQW ASYNCHRONOUS PRAM algorithms that do not map well to such machines. An open problem is to refine the cost metric of the QRQW ASYNCHRONOUS PRAM to make it as robust as the QRQW PRAM.