Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/800223.806764acmconferencesArticle/Chapter ViewAbstractPublication PagesfpcaConference Proceedingsconference-collections
Article
Free access

ALICE a multi-processor reduction machine for the parallel evaluation CF applicative languages

Published: 18 October 1981 Publication History
  • Get Citation Alerts
  • Abstract

    The functional or applicative languages have long been regarded as suitable vehicles for overcoming many of the problems involved in the production and maintenance of correct and reliable software. However, their inherent inefficiences when run on conventional von Neumann style machines have prevented their widespread acceptance. With the declining cost of hardware and the increasing feasibility of multi-processor architectures this position is changing, for, in contrast to conventional programs where it is difficult to detect those parts that may be executed, concurrently, applicative programs are ideally suited to parallel evaluation.
    In this paper we present a scheme for the parallel evaluation of a wide variety of applicative languages and provide an overview of the architecture of a machine on which it may be implemented.
    First we describe the scheme, which may be characterized as performing graph reduction, at the abstract level and discuss mechanisms that allow several modes of parallel evaluation to be achieved efficiently. We also show how a variety of languages are supported.
    We then suggest an implementation of the scheme that has the property of being highly modular; larger and faster machines being built by joining together smaller ones. Performance estimates illustrate that a small machine (of the size that we envisage would form the basic building block of large systems) would provide an efficient desk-top personal applicative computer, while the larger versions promise very high levels of performance Indeed. The machine is designed to be ultimately constructed from a small number of types of VLSI component.
    Finally we compare our approach with the other proposes schemes for the parallel evaluation of applicative languages and discuss planned future developments.

    References

    [1]
    Ackerman W.B. A Structure Memory for Data Flow Computers. Laboratory for Computer Science, MIT, LCS/TR-186, 1977.]]
    [2]
    Arvind, Gostelow K. P. and Plouffe W. An Asynchronous Programming Language and Computing Machine. University of California (Irvine) Report, Dept. of Computer Science, 1978.]]
    [3]
    Backus J. Can programming be Liberated from the von Neumann Style?. ACM Turing Award Lecture. CACF Vol. 21 No. 8, Aug. 1978.]]
    [4]
    Baron I. The Transputer. In 'The Microprocessor and its Applications', ed. Aspinall D., Cambridge University Press, 1978.]]
    [5]
    Berkling K. Reduction Languages for Reduction Machines. |Proc. Second Int. Symp. on Computer Architecture,# 1975.]]
    [6]
    Browning S. A. The Tree Machine. Ph.D. Thesis, Computer Science Dept., California Institute of Technology, 1980.]]
    [7]
    Burstall R.M., MacQueen D. B. and Sannella D.T. HOPE: An Experimental Applicative Language. Internal Report, Dept. of Computer Science, University of Edinburgh, 1980.]]
    [8]
    Burstall R.M. and Darlington J. A Transformation System for Developing Recursive Programs. JACM Vol. 24 No. 1, Jan. 1977.]]
    [9]
    Burstall R.M. Design Consideration for a Functional Programming language. Proc. of Infotech State of the Art Conference, Copenhagen, 1977.]]
    [10]
    Burton F.W. and Sleep M. R. Large Symmetrical Processor Networks with Short Communication Paths. School for Computing Studies and Accountancy, University of Fast Anglia, Report CS/80/019/I, 1980.]]
    [11]
    Campbell R.H., Greenberg I. B. and Miller T. J. Path Pascal User Manual. Dept. of Computer Science, University of Illinois at Champaign-Urbana, 1978.]]
    [12]
    Clark K. L. and Gregory S. A Relational Language for Parallel Programming. Dept. of computing, Imperial College, London. This conference.]]
    [13]
    Clark K. L., McCabe F. G. and Gregory S. IC-Prolog Reference Manual. Research Report, Dept. of Computing, Imperial College, London. (Under revision.)]]
    [14]
    Darlington J. The Structured Description of Algorithm Derivations. Invited paper. International Symposium on Algorithms, Amsterdam, 1981.]]
    [15]
    Dennis J. B., Leung C. K. C. and Misunas D. P. A Highly Parallel Processor Using a Data Flow Machine Language. Laboratory for Computer Science, MIT, CSG Memo 134-1, June 1979.]]
    [16]
    Friedman D. P. and Wise D. S. CONS Should Not Evaluate Its Arguments. In 'Automata, Language and Programming', eds. Michaelson S. and Milner R., Edinburgh University Press, 1976.]]
    [17]
    Fuller S. H. and Harbison S. P. The C.mmp Multiprocessor. Dept. of Computer Science, Carnegie-Mellon University. Technical Report CMU-CS-78-146, 1978.]]
    [18]
    Gurd J. R., Watson I. and Glauert J. R. W. A Multilayered Data Flow Computer Architecture (3rd issue). Internal Report, Dept. of Computer Science, University of Manchester, 1980.]]
    [19]
    Henderson P. and Morris J.H. A Lazy Evaluator. Proc. Third Annual ACM SIGACT-SIGPLAN Symp. on Principles of Programming Languages, 1976.]]
    [20]
    Henderson P. 'Functional programming'. Prentice-Hall, 1980.]]
    [21]
    Henderson P. Working Material for the Lectures of P. Henderson. Advanced Course on Functional Programming and Its Applications, University of Newcastle Upon Tyne, July 1981.]]
    [22]
    Hewitt C. The Apiary Network Architecture for Knowledgeable Systems. Proc. of the 1980 LISP Conference, 1980.]]
    [23]
    Kahn G. and McQueen D. Coroutines and Networks of Parallel Processes. Proc. IFIP Congress 77, North Holland Publishing Co., 1977.]]
    [24]
    Keller R. M., Lindstrom G. and Patil S. An Architecture for a Loosely-Coupled Parallel Processor. Dept. of Computer Science, University of Utah, Tech. Report UUCS-78-105, 1978.]]
    [25]
    Kowalski R. A. Logic as a Programming Language. Proc IFIP Congress 74, *North Holland Publishing Co.,| 1974.]]
    [26]
    Kowalski R. A. 'Logic for Problem Solving'. North Holland Publishing Co., 1979.]]
    [27]
    Mago G. A. A Network of Microprocessor to Execute Reduction Languages. Int. Journal of Computer and Information Sciences, Vol. 8 No. 5 and Vol. 8 No. 6, 1979.]]
    [28]
    Manna Z. 'Mathematical Theory of Computation' McGraw-Hill, 1974.]]
    [29]
    Mycroft A. Theory and Practice of Transforming Call By Need Into Call By Value. Fourth Int. Symp. on Programming, 1980.]]
    [30]
    Patel J.H. Processor-Memory Interconnections for Multiprocessors. Proc. Sixth Int. Symp. on Computer Architecture, 1979.]]
    [31]
    Reeve M. J. The ALICE Compiler Target Language. Internal Report, Dept. of Computing, Imperial College, London, 1981.]]
    [32]
    Sleep M. R. and Burton F. W. Towards a Zero Assignment Parallel Processor. Proc. Second Int. Conference on Distributed Computing Systems, 1980.]]
    [33]
    Swan R. S., Fuller S.H. and Siewiorek D. P. Cm*: A Modular Multi-Microprocessor. AFIPS Conf. Proc. Vol. 46, National Computer Conference, 1977.]]
    [34]
    Treleaven P. C. et al. Data Driven and Demand Driven Computer Architecture. Computing Laboratory, University of Newcastle upon Tyne, Internal Report ARM/15, 1980.]]
    [35]
    Proc. of the Joint SRC / University of Newcastle upon Tyne Workshop on VLSI: Machine Architecture and Very High Level Languages. ed. Treleaven P. C. University of Newcastle upon Tyne, Computing laboratory, Technical Report series, No. 156, 1980.]]
    [36]
    Turner D.A. A New Implementation Technique for Applicative Languages. Software, Practice and Experience, Vol. 9, 1979.]]
    [37]
    Turner D.A. Programming Languages - Current and Future Developments. Proc. of Infotech State of the Art Conference, Software Development Techniques, London, 1980.]]
    [38]
    Turner D.A. Aspects of the Implementation of Programming Languages. D.Phil. Thesis, University of Oxford, 1981.]]

    Cited By

    View all

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    FPCA '81: Proceedings of the 1981 conference on Functional programming languages and computer architecture
    October 1981
    228 pages
    ISBN:0897910605
    DOI:10.1145/800223
    Permission to make digital or hard copies of all or part 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, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 18 October 1981

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)100
    • Downloads (Last 6 weeks)14
    Reflects downloads up to

    Other Metrics

    Citations

    Cited By

    View all
    • (2019)Garbage Collection as a Joint VentureQueue10.1145/3317287.332513217:1(98-115)Online publication date: 1-Feb-2019
    • (2019)Online Event ProcessingQueue10.1145/3317287.332161217:1(116-136)Online publication date: 1-Feb-2019
    • (2016)Approximate robust optimization for the Connected Facility Location problemDiscrete Applied Mathematics10.1016/j.dam.2015.10.011210:C(246-260)Online publication date: 10-Sep-2016
    • (2015)Architectural support for task schedulingThe Journal of Supercomputing10.1007/s11227-015-1383-271:6(2309-2338)Online publication date: 1-Jun-2015
    • (2014)Locality analysisACM SIGMETRICS Performance Evaluation Review10.1145/2627534.262756541:4(102-105)Online publication date: 17-Apr-2014
    • (2014)Dual direction big data download and analysisACM SIGMETRICS Performance Evaluation Review10.1145/2627534.262756441:4(98-101)Online publication date: 17-Apr-2014
    • (2014)A fast derivation of Karhunen-Loeve transform kernel for first-order autoregressive discrete processACM SIGMETRICS Performance Evaluation Review10.1145/2627534.262755541:4(61-64)Online publication date: 17-Apr-2014
    • (2014)Modeling the value of information granularity in targeted advertisingACM SIGMETRICS Performance Evaluation Review10.1145/2627534.262754741:4(42-45)Online publication date: 17-Apr-2014
    • (2014)Revenue Models, Price Differentiation and Network Neutrality Implications in the InternetACM SIGMETRICS Performance Evaluation Review10.1145/2627534.262754041:4(20-23)Online publication date: 17-Apr-2014
    • (2014)Unifying functional and object-oriented programming with ScalaCommunications of the ACM10.1145/259101357:4(76-86)Online publication date: 1-Apr-2014
    • Show More Cited By

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media