language: en

Tolerating Latency with Dagger

Attila Gursoy and L.V.Kale
Department of Computer Science University of Illinois at Urbana-Champaign

[Urbana IL 61801, USA]

{fgursoy,kaleg}@cs.uiuc.edu

Abstract The communication latency is a major issue that must be dealt with in parallel computing. The parallel computation model therefore must provide the ability to tolerate such latencies. Communication using blocking receives is the commonly used mechanism in parallel programming today. Message driven execution is an alternate mechanism which does not use receive style statements at all. The message driven execution style promotes the overlap of computation and communication: Programs written in this style exhibit increased latency tolerance. However, they are often difficult to develop and debug. We present a coordination language called Dagger to alleviate this problem. The language has a mechanism which is called expect, that replaces the receive statement. It has been implemented in the Charm parallel programming system, and runs programs portably on a variety of parallel machines.

1. INTRODUCTION