FGCS Assessment

Gilles Kahn
INRIA Sophia Antipolis, FRANCE

next previous contents
The Central Issue 

As I see it now, the FGCS project has been attacking a fundamental problem in 
Computing, namely concurrency; and it has chosen a line of attack, Logic Program-
ming. This is a priori how good projects get started: with a difficult and deep problem 
on the one hand, with an original idea on how to solve it on the other hand. Indeed, 
the problem of concurrency in computing, which has been with us practically since the 
invention of computers, has become ever more essential in the past 10 years. Let us 
review for a moment the positive and negative aspects of your approach. 

On the plus side, we can see many advantages: first the attack is extremely original, 
almost far fetched for some. The Japanese effort appears immediately as a leader, 
because noone else is betting on this direction of work on the same scale, even though 
a number of very bright individual researchers around the world have had successes. 
Second, your approach is a software approach, i.e. you are concerned a priori with the 
intellectual control of parallel hardware, with putting into hardware mechanisms that 
will make it easier to program. Let us go more quickly through the other 
advantages: the problem seems tractable, opens many questions, leads to basic re-
    search; it focusses on fine grain parallelism, which is a priori harder, on irregular 
    problems that occur in symbolic computing -of course-, but even in numerical 
    computing (finite elements), in geometry or in discrete events simulation. 

On the negative side, the major problem is that the approach is 
very difficult: 
how can one have an efficient computing system that combines parallelism with 
non-determinism, which is implied by a declarative approach? Parallelism means that 
you parcel out work to remote computing units, non-determinism means that you may 
discover at any time that this work is useless and should be canceled immediately. In 
fact, the problem is so difficult that one of these two aspects runs the risk of being 
short-changed. Clearly, GHC and KL1 have shown their bias in favor of parallelism. 
The second problem with your approach is that people have misunderstood it: they 
considered that you worked on Logic Programming, using parallelism to compensate 
for its intrinsic inefficiencies. Another difficulty, linked to the originality of your ap-
proach, Is that when you started, there were very few applications based on the logic 
programming paradigms, so that you ended up having to mount your own effort to 
build applications. 

Let me add two remarks regarding the difficulty of your project. First I have 
stated in my talk that the Logic Programming community, as a scientific group, was 
"weird" . As there were many proeminent members of that community in the audience, 
I received a large number of inquiries about what that statement really meant. First, 
Logic Programming, in 1981, was virtually unknown in the United States. The group 
of scientists who had been fighting for it was necessarily a bit paranoid about that 
fact. Second, there was, and unfortunately there still is, in this community -usually 


					- 68 -