With the availability of cheap networking hardware and fast
commodity computer systems,
clusters have become an
extremely cost-effective way of gaining massive processing power.
The alternative, to buy single specialized high-performance
computers is becoming less interesting all the time, because of
their much higher prices for equivalent performance.
However, there are still reasons for not using clusters. The
good reason is, that some problems cannot be parallelized
well. The other reason is, that it takes time and effort to
successfully parallelize old sequential programs into parallel
programs that will run efficiently on the cluster.
This work addresses the latter reason. This is a description of an
attempt made, to fully automate the process of not only
parallelizing, but also distributing or
scheduling
an otherwise serial program.
The work described herein was conducted for the Department of
Mathematical Modelling, at the Technical University of Denmark.
Supervisors on the project were Per Christian Hansen and
Jens Clausen.
The original idea for the TONS computing environment that some of the
ideas in this work builds upon, came from Kenneth Geisshirt.