next up previous contents
Next: Some problems with C Up: The language Previous: The language   Contents

Existing languages

A lot of time and effort has been spent by compiler vendors and others, to produce automatically parallelizing compilers. Still, the compilers available today suffer from several shortcomings: The third observation is a fundamental design-oriented flaw in today's systems. It has little to do with the virtual machine language, but a lot to do with the design of this system as a whole.

From the first two observations, it could seem as an impossible task to create a fully automatically parallelizing computing system, that even runs on distributed memory systems.

I believe that it is not so. The compilers that seek to automatically parallelize code, are working with languages that by nature are not parallel. These languages are usually Fortran or C.

Since the TONS system is designed from scratch, it is not at all necessary to base the system on an existing language. A new language was designed, one that lends itself well to parallelism, yet has no way for the user to represent parallelism. This may sound corny, but keep in mind that we want the machines to do the work. If a feature was put in the language, that would allow the user to ``hint'' the system, we would soon end up with something as messy as the existing parallelizing compilers.

Note that this new language is the language which translates directly into the code understood by the virtual machine. It is not the language we intend our end-users to see.

The end-user language, the language referred to as ``TAL'' in Section 1.2, will undoubtedly borrow a lot of ideas from existing languages. In order to make the new computing environment useful to anyone, we must of course have a language that is both intuitive and looks somewhat familiar to our prospected users (the people using C, Fortran and MatLab now). For now we will look at the kind of language that is nice to parallelize, not necessarily nice to look at.




next up previous contents
Next: Some problems with C Up: The language Previous: The language   Contents

1999-08-09