Abstract
Future parallel computers will be characterized at least by: i) high parallelism and scalability exploiting VLSI technology, and ii) efficient and reliable support to logic / /functional/ object oriented languages. Massive parallelism machines with regular architectures seem to represent the key for such computers. Here we study the features of high level, concurrent machine languages for parallel computers able to support a large variety of languages and applications (multi-style machines). The various concurrency approaches (imperative, logic, functional, data-flow) are analyzed in order to understand their aptitude for multi-style machines. The concurrency issues taken into account are communication and synchronization, nondeterminism, parallelism exploitation, fault tolerance, and programming environment tools.
Key words and phrases
This work has been supported by the Esprit Project 415, by the National Project of the Education Ministry on Systems for Logic and Functional Programming, and by the CNR Strategic Project on Parallel Computing.
Preview
Unable to display preview. Download preview PDF.
References
W. B. Ackerman, "Data Flow Languages". In Proc. of AFIPS, NCC 79, pp. 1087–1095, 1979.
DOD, "Reference Manual for the Ada Programming Language". ANSI MIL-STD 1815A, 1983
G.R. Andrews, "Synchronizing Resources". ACM TOPLAS, vol. 3, N. 4, PP. 405–430, October 1981.
G.R. Andrews and F.B. Schneider, "Concepts and Notations of Concurrent Programming". ACM Computing Surveys, vol. 15, n. 1, pp. 3–43, March 1983.
K.R. Apt, N. Francez and W.P. de Roever, "A Proof System for Communicating Sequential Processes". ACM TOPLAS, vol. 2, n. 3, pp. 359–385, July 1980.
K.R. Apt and E-R. Olderog, "Proof Rules and Transformations for Dealing with Fairness", Science of Computer Programming, vol. 3, pp. 65–100, 1983.
E.A. Ashcroft and W.W. Wadge" "Lucid, a Nonprocedural Language with Iteration". CACM, vol. 7, n. 20, pp. 519–526, July 1977.
E. Astesiano and E. Zucca: "Semantics of CSP Via Translation into CCS", CNET Report n. 22, Institute of Math., Univ. of Genova., 1981.
G. Attardi, Lecture Notes for the ESPRIT Summer School on Future Parallel Computers, Pisa, June 1986
F. Baiardi, A. Fantechi, M. Vanneschi, "Language Constructs for a Robust Distributed Environment", Int. Rep., Dept. of Comp. Science S-81-9, Univ. of Pisa, May 1981.
F. Baiardi, A. Fantechi, A. Tomasi, M. Vanneschi, "Mechanisms for a Robust Multiprocessing Environment in the MuTEAM Kernel", Proc. of 11th Fault Tolerant Computing Symp, Portland (USA), June 1981, pp. 20–24.
F. Baiardi, L. Ricci, M. Vanneschi, "Static Checking of Interprocess Communication in ECSP", ACM SIGPLAN Symposium on Compiler Construction, Montreal, June 1984.
F. Baiardi, A. Fantechi, A. Tomasi, M. Vanneschi, "Distributed Implementation of Nested Communicating Processes and Termination", 13th Int. Conf. on Parallel Processing, Aug. 1984.
F. Baiardi, L. Ricci, A. Tomasi, M. Vanneschi, "Structuring processes for a cooperative approach to fault-tolerant distributed software". Proc. of 4th Symp. on Reliability in Distributed Software and Database Systems, Oct. 1984.
F. Baiardi, N. De Francesco, G. Vaglini, "Development of a Debugger for a Concurrent Language". IEEE Trans. on Software Eng., April 1986.
A. J. Bernstein, "Output Guards and Nondeterminism in Communicating Sequential Processes", ACM TOPLAS, vol. n. 2, pp. 234–238, April 1980.
D. Bjørner and C. B. Jones (eds.), "The Vienna Development Method: The Meta-Language". Lecture Notes in Comp. Sc., 61, Springer-Verlag 1979.
W. Brauer (ed.), "Net Theory and Applications". Lecture Notes in Comp. SC., 84, Springer-Verlag, 1980.
S.D. Brookes, C.A.R. Hoare and A.W. Roscoe, "A Theory of Communicating Sequential Processes". JACM, vol. 31, n. 3, pp. 560–599, July 1984.
M. Broy, "A Fixed Point Approach to Applicative Multiprogramming". In M. Broy and G. Schmidt (eds.): Theoretical Foundations of Programming Methodology, pp. 565–623, D. Reidel, 1982.
M. Broy, "Fixed Point Theory for Communication and Concurrency". In D. Bjørner (ed.): IFIP TC2 Working Conference on Formal Description of Programming Concepts, Garmisch, June 1982, pp. 125–147, North-Holland 1983.
M. Broy, "Extensional Behaviour of Concurrent, Nondeterministic Communicating Systems". NATO ASI Series, vol. F14, Control Flow and Data-Flow: Concepts of Distributed Programming (M. Broy ed.), Springer Verlag, 1985.
R.E. Bryant, J.B. Dennis, "Concurrent Programming", MIT Report, Cambridge, Mass., 1978.
G. Candido, R. Di Giovanni, "Communicating processes with data-flow behaviour". Graduation Thesis, Dept. of Comp. Sciences, Univ. of Pisa, 1984 (in Italian).
K. Clark, S. Gregory, "Parlog: Parallel Programming in Logic". Res. Rep. DOC/84, Imperial College, London.
P. J. Denning, "Fault tolerant operating system", ACM Computing Surveys, vol. 8, n. 4, dicembre 1976, pp. 359–389.
,J.B. Dennis, "Data-flow computation". Nato ASI Series, vol. F14, Control Flow and Data Flow: Concepts of Distributed Programming (M. Broy ed.), Springer Verlag, 1985.
E.W. Dijkstra, "Guarded Commands, Nondeterminacy, and Formal Derivations of Programs". CACM, vol. 18, n. 8, pp. 453–457, Aug. 1975.
J.A. Feldmann, "High Level Programming Language for Distributed Computing", CACM, vol.22, n.6, June 1979, pp. 353–368.
R.E. Filman and D.P. Friedman, "Coordinated Computing — Tools and Techniques for Distributed Software", McGraw-Hill 1984.
N. Francez, C.A.R. Hoare, D. J. Lehmann, and W.P. de Roever, "Semantics of Nondeterminism, Concurrency, and Communication", Jorurnal of Computer and System Sciences, vol. 19, 1979, pp.290–308.
P. Brinch Hansen, "Distributed Processes: A Concurrent Programming Concept". CACM, vol. 21, n. 11, pp. 934–941, Nov. 1978.
E.C.R. Hehner and C.A.R. Hoare, "A more Complete Model of Communicating Processes".Theor. Computer Science, 26 vol. 1, pp. 105–120, 1983.
Peter Henderson, "Functional Programming — Application and Implementation". Prentice Hall 1980.
Peter Henderson, "Purely Functional Operating Systems". In J. Darlington, P. Henderson and D.A. Turner (eds.): Functional Programming and its Applications, pp. 177–192, Cambridge Univ. Press 1982.
C.A.R. Hoare, "Communicating Sequential Processes". CACM, vol. 21, n. 8, pp. 666–677, Aug. 1978.
C.A.R. Hoare, "A Calculus for Total Correctness for Communicating Processes". Science of Computer Programming, vol. 1, pp. 49–72, 1981.
Inmos Ldt., "Occam Reference Manual". Prentice Hall, Series in Computer Science 1984.
G. Kahn, "The Semantics of a Simple Language for Parallel Programming". In Proc. of IFIP 74, pp. 471–475, North Holland 1974.
G. Kahn and D.B. MacQueen, "Coroutines of Network of Parallel Processes". In Proc. of IFIP 77, pp. 993–998, North Holland 1977.
R.Karia, Lecture Notes for ESPRIT Summer School on Future Parallel Computers, Pisa, June 1986.
L. Lamport, "Time, Clocks, and the Ordering of Events in a Distributed Systems". CACM, vol. 21, n. 7, pp. 558–565, July 1978.
L. Lamport, "What Good is Temporal Logic". In Proc. of IFIP 83, pp. 657–668, 1983.
L. Lamport. "Using Time instead of Timeout for Fault-Tolerant Distributed Systems". ACM TOPLAS, vol. 6, n.2, April 1984
H.C. Lauer and R.M. Needham, "On the Duality of Operating System Structures". Operating System Review, vol. 13, n. 2, pp. 3–19, April 1979.
B. Liskov and R. Scheifler, "Guardians and Actions: Linguistic Support for Robust, Distributed Programs". ACM TOPLAS, vol. 5, n. 3, pp. 381–404, July 1983.
L. Locuratolo, "Implementation of concurrent logic languages". Graduation Thesis, Dept. of Comp. Sciences, Univ. of Pisa, 1986 (in Italian).
H.H. Lovengreen, "On concurrency formalization". Ph. D. Thesis, Dept. of Computer Science, Technical University of Denmark, 1985.
J.R. McGraw, "The VAL Language: Description and Analysis". ACM TOPLAS, vol. 4, n. 1, pp. 44–82, January 1982.
Robin Milner, "A Calculus of Communicating Systems". Lecture Notes in Computer Science, 92, Springer-Verlag 1980.
M. Nielsen, G. Plotkin, and G. Winskel, "Petri Nets, Event Structures and Domains, Part I". Theoretical Computer Science, vol. 13, pp. 85–108, 1981.
E. R. Olderog and C.A.R. Hoare, "Specification Oriented Semantics for Communicating Processes". Tech. Mon. PRG-37, Oxford Univ., Programming Res. Group, Oxford, 1984.
R.Patterson, Lecture Notes for ESPRIT Summer School on Future Parallel Computers, Pisa, June 1986.
J.L. Peterson, "Petri Nets', ACM Computing Surveys, vol. 9, n. 13, pp. 223–252, September 1977.
J. L. Peterson, "Petri Nets Theory and The Modeling of Systems". Prentice-Hall, 1981.
G.D. Plotkin, "A Structural Approach to Operational Semantics". Lecture notes. Aarhus University 1981.
A. Pnueli, "The Temporal Logic of Programs". In Proc. of the 19th FOCS, pp. 46–57, IEEE, October 1977.
J. Rattner, "Concurrent processing: a new direction in scientific computing". AFIPS 85, NCC, 1985.
N. Rescher, A. Urquhart, "Temporal Logic", Springer-Verlag, 1971.
C.L. Seitz, "Concurrent VLSI architectures". IEEE Trans. on Comp., Vol. C-33, n. 12, Dec. 1984.
E. Shapiro, "A subset of Concurrent Prolog and its Interpreter". ICOT Techn. Report TR-003, Febr. 1983.
E. Shapiro, "Systolic programming: a paradigm of parallel processing". Proc. of Int. Conf. on Fifth Generation Computer Systems, ICOT, 1984.
R.E. Strom, S. Yemini, "NIL: An Integrated Language and System for Distributed Programming". ACM SIGPLAN Notices, vol.18, n. 6, June 1983.
P.C. Treleaven, D.R. Brownbridge and R.P. Hopkins, "Data Driven and Demand Driven Computer Architecture". ACM Computing Surveys, vol. 14, n.1,March 1982.
P.C. Treleaven, J. E. Lima, "Future computers: Logic, Data Flow,..., Control Flow". 10th Int. Symp. on Computer Arch., 1983.
K.Uchida, Lecture Notes for ESPRIT Summer School on Future Parallel Computers, Pisa, June 1986.
S.R. Vegdahl, "A Survey of Proposed Architectures for the Execution of Functional Languages". IEEE Trans on Comp., vol. C-33, n. 12, December 1984.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1987 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Baiardi, F., Vanneschi, M. (1987). Parallelism issues in multi — Style computers. In: Treleaven, P., Vanneschi, M. (eds) Future Parallel Computers. Lecture Notes in Computer Science, vol 272. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-18203-9_1
Download citation
DOI: https://doi.org/10.1007/3-540-18203-9_1
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-18203-0
Online ISBN: 978-3-540-47806-5
eBook Packages: Springer Book Archive