Parallel architectures with physically distributed memory providing co
mputing cycles and large amounts of memory are becoming more and more
common. To make such architectures truly usable, programming models an
d support tools are needed to ease the programming effort for these pa
rallel systems. Automatic data distribution tools and techniques play
an important role in achieving that goal. This paper discusses state-o
f-the-art approaches to fully automatic data and computation partition
ing. A kernel application is used as a case study to illustrate the ma
in differences of four representative approaches. The paper concludes
with a discussion of promising future research directions for automati
c data layout. (C) 1998 Elsevier Science B.V. All rights reserved.