Next: Titanium
Up: Related Systems
Previous: JavaParty
Contents
Timber
Timber [47] is a Java-based programming language for semi-automatic
array-parallel programming, in particular for programming array-based
applications. The language has been designed as part of the Automap
project, in which a compiler and run-time system are being developed
for distributed-memory systems. Apart from a few minor modifications,
Timber is still a superset of Java.
We see some array declarations of array variables in Timber, for example:
Even if ident and vv have the same initialization
expression, they are different arrays. ident is a
two-dimensional array, and vv is a one-dimensional array of
one-dimensional arrays. Array accessing is very similar to that in
other languages.
Timber provides the each and foreach constructs, which
specify that the iterations can be executed in arbitrary order, but
that each iteration is to be executed sequentially. For some analysis,
the compiler can translate most foreach constructs into
explicit parallel loops in SPC [46] form. This intermediate form is
used for automatic task mapping.
For the each construct, s1 and s2 are executed in
arbitrary order. The foreach construct is a parameterized
version of the each construct. In above example, it
invokes the init() method on members of array a.
Like HPJava, Timber introduces multidimensional arrays, array sections,
and a parallel loop. They have some similarities in syntax,
but semantically Timber is very different to HPJava. Although Timber
supports parallel operations such as each, foreach
constructs, it is difficult to say Timber targets massively parallel
distributed memory computing, using HPF-like multiarrays, and supports
lower-level access to the parallel machines. Moreover, for
high-performance, Timber chose C++ as its target language. But it
becomes its own bottleneck since Java has been improved and C++ is
less portable and secure in the modern computing environment.
Next: Titanium
Up: Related Systems
Previous: JavaParty
Contents
Bryan Carpenter
2004-06-09