<Otal Hakswsi> wrote in message
news:42***********************@news.optusnet.com.a u...
Assume that we have a complex application with many math operations and it
is written in an ANSI C++ code and running on a single PC without any
problem.
Is there an automatic way to execute the same application on a cluster of
PCs to speed-up the execution? (How?)
Or does it has to be re-written in some special way to be executed on the
cluster?
The programming language best suited to solving this problem is Ada which
has facilities for both distributed processing and concurrency built into the
design of the language.
You could design the architecture you need with Ada and incorporate your
C code into that architecture. Ada is very friendly with C. There are
built-in facilities for mixing your C code with Ada.
The Ada Distributed Systems Annex allows you to distribute an application
over multiple platforms while maintaining consistency of the overall design.
Ada tasking allows you to have multiple active objects on each single
processor. The language also includes excellent facilities for mutual
exclusion.
This approach, using Ada for the architecture while coding low-level
source code in C has turned out to be a very powerful approach to
solving problems of exactly the kind that you describe.
Richard Riehle