this paper we develop the constraints that the projection functions must satisfy, based on the information obtained in the usage table. The usage table may have many other applications. For example, when parallel code is generated, it can be used for communication optimization (message vectorization, detection of common communication patterns, such as broadcast, scatter, gather, total exchange,
... [Show full abstract] scans, etc.) It may also form the basis of the analysis necessary to generate sender initiated communications. The remainder of this paper is organized as follows. We follow this introduction with a review of related work. Next, we describe the Alpha language, system, and our compilation methodology.