| | |
Summary: High Level Programming Methodologies for Data Intensive Computations
Gagan Agrawal 1
Renato Ferreira 2
Joel Saltz 3
Ruoming Jin 4
1 Introduction
Solving problems that have large computational and storage requirements is becoming increasingly critical for advances in
many domains of science and engineering. By allowing algorithms for such problems to be programmed in widely used or
rapidly emerging highlevel paradigms, like objectoriented and declarative programming models, rapid prototyping and easy
development of computational techniques can be facilitated.
Our research focuses on an important class of scientific and engineering problems, data intensive computations. The
datasets associated with these applications are usually multidimensional. The data dimensions can be spatial coordinates,
time, or varying experimental conditions such as temperature, velocity or magnetic field. The increasing importance of such
applications has been widely recognized. Runtime systems like the Active Data Repository [5, 6] and the Passion runtime
library [18, 19] allow high performance on data intensive applications, but do not address the need for programming with
highlevel abstractions.
We target two highlevel programming models for this important class of computations:
1. ObjectOriented (Java Based): Objectoriented features like encapsulation and polymorphism can ease software devel
opment and allow better longterm management of large computational projects. We target a dialect of Java for expressing
data intensive computations. This dialect of Java includes extensions for allowing multidimensional collection of objects,
|