ACM Computing Surveys
28A(4), December 1996,
http://www.acm.org/pubs/citations/journals/surveys/1996-28-4es/a40-best/. Copyright ©
1996 by the Association for Computing Machinery, Inc. See the permissions statement below.
Some Major Dichotomies
Relating to Future Research in Concurrency
Eike Best
Universität Oldenburg,
Fachbereich Informatik
(Theoretische Informatik,
Parallele Systeme),
Postfach 25 03, 26111 Oldenburg, Germany
eike.best@informatik.uni-oldenburg.de,
http://theoretica.informatik.uni-oldenburg.de/personal/Best.Eike.html
1 Introduction
The past decades have seen various advances in the theory
of concurrency. Nevertheless, the issues involved are by
their nature hard and many questions remain unsolved.
In particular, the dictum:
`get as simple as possible but not simpler'
has not yet been achieved for languages and formal
models used in concurrency. In my opinion, in addition
to the ones already enjoying wide attention at present
(such as achieving unifications of models),
three challenges are of major concern and importance.
2. Correctness versus efficiency
The languages and (sometimes overly complicated)
formal models used in semantics and verification of
parallel systems are still almost disjoint from the
languages and (sometimes overly idealised) formal
models used in parallel complexity theory.
The challenge is to create a basis for the study of
the two basic concerns of any design - correctness
and efficiency - within the same (or at least within
a significantly compatible) formal framework.
3. Automatability versus heuristics
Automated verification can only be part of the
answer when it comes to ensuring the correctness
of a design. Automated parallelisation can only be
part of the answer when it comes to distributing an
algorithm efficiently on a multiprocessor system.
Both must be complemented by heuristic guidelines
- linking a specification with its realisation -
which can be taught in classes to improve the skills
of designers and programmers. The challenge is to
complement known heuristics for sequential systems
by a set of new heuristics guaranteeing correct and
efficient use of the `parallel operator'.
4. General purpose languages versus hardware topologies
Concurrency adds another dimension to the idea of
general-purpose programming languages. There is as
yet no language that allows one to express parallel
algorithms of wide variety and, at the same time,
can be implemented efficiently on a wide spectrum
of hardware topologies. Creating a parallel system
involves exploiting parallelism inherent in the
problem while being constrained by parallelism
available on the target machine. The challenge is
to cope with this dichotomy by designing a good
general-purpose general-topology concurrent language.
If (as seems likely) this cannot be achieved easily,
the challenge is to embark on designing a spectrum
of languages serving, as a whole, a similar purpose.
This may involve standardising a set of guidelines
for creating different general-purpose languages for
different machines.
- [Best 1996]
- Best, E., 1996.
Some Major Dichotomies Relating to Future Research in Concurrency,
Computing Surveys,
28A, 4 (December),
http://www.acm.org/pubs/citations/journals/surveys/1996-28-4es/a40-best/
Permission to make digital
or hard copies of part or all of this work for personal or classroom
use is granted without fee provided that copies are not made or
distributed for profit or commercial advantage and that copies bear
this notice and the full citation on the first page. Copyrights for
components of this work owned by others than ACM must be honored.
Abstracting with credit is permitted. To copy otherwise, to
republish, to post on servers, or to redistribute to lists, requires
prior specific permission and/or a fee. Request permissions from
Publications Dept, ACM Inc., fax +1 (212) 869-0481, or
permissions@acm.org.
Last modified: Sat Nov 16 12:00:00 MET 1996
Eike Best
<eike.best@informatik.uni-oldenburg.de>