skip to main content
article
Free access

Multiprocessor Smalltalk: a case study of a multiprocessor-based programming environment

Published: 01 June 1988 Publication History

Abstract

We have adapted an interactive programming system (Smalltalk) to a multiprocessor (the Firefly). The task was not as difficult as might be expected, thanks to the application of three basic strategies: serialization, replication, and reorganization. Serialization of access to resources disallows concurrent access. Replication provides multiple instances of resources when they cannot or should not be serialized. Reorganization allows us to restructure part of the system when the other two strategies cannot be applied.
We serialized I/O, memory allocation, garbage collection, and scheduling, we replicated the interpreter process, software caches, and a free-list, and we reorganized portions of the scheduling system to deal with some deep-seated assumptions. Our changes yielded a fairly low static overhead. We attribute our success to the choice of a small, flexible operating system, a set of constraints which simplified the problem, and the versality of the three strategies for dealing with concurrency. The current system has a moderate amount of overhead when parallelism is being used—25% to 65%. It is acceptable, but we believe it can be improved.

References

[1]
Khayri Abdel-Hamid Mohamed All. Objecl- Oriented Storage Managemeat and Garbage Collection in Distributed Processing Systems. PhD thesis, Royal Institute of Technology, Stockholm, Sweden, December 1984. Published as TRITA- CS-8406.
[2]
Brian M. Barry, John R. Altoft, D. A. Thomas, and Mike Wilson. Using objects to design and build RADAR ESM systems. In O OPSLA '87 Conference Proceedings, pages 192-201, Association for Computing Machinery, October 1987.
[3]
John Bennett. Distributed raalltalk: Inheritance and Reactiveness in Distributed Systems. PhD thesis, University of Washington, 1987. In preparation.
[4]
John K. Bennett. The design and implementation of Distributed Smalltalk. in OOPSLA '87 Conference Proceedings, pages 318-330, Association for Computing Machinery October 1987.
[5]
David R. Cheriton. The V kernel: a software base for distributed systems. IEEE Software, 1(2), April 1984.
[6]
David R. Cheriton, Gert A. Slavenburg, and Patrick D. Boyle. Software-controlled caches in the VMP multiprocessor. In Proceedings of the 13tk Annual International Symposium on Computer Architecture, pages 366-374, June 1986.
[7]
E. W. Dijkstra, Leslie Lamport, A. J. Martin, C. S. Scholten, and E. F. M. Steffens. On-thefiy garbage collection: an exercise in cooperation. Communications of the A CM, 21(11):966- 975, 1978.
[8]
Adele Goldberg and David Robson. Smalltalk- 80: The Language and its Implementation. Addison-Wesley, 1983.
[9]
Carl Hewitt. The Apiary network architecture for knowledgeable systems. In Conference Record of the 1980 LISP Conference, pages 107- 117, August 1980.
[10]
Carl ttewitt and Henry Lieberman. A real-time garbage collector based on the lifetimes of objects. Communications of the A CM, 26(6):419- 429, June 1983.
[11]
Hill, et al. SPUR: A VLS} Multiprvcessor Workstation. Technical Report UCB/CSD 86/273 University of California, Berkeley, 1985.
[12]
H. T. Kung and S. W. Song. An Efficient Parallel Garbage Collection System and its Correctness Proof. Technical Report, Carnegie-Mellon University, september 1977.
[13]
Leslie Lamport. Garbage collection with multiple processes' an exercise in parallelism. In Philip H. Enslow Jr., editor, Proceedings of the 1976 INternational Conference on Parallel Processing, pages 50-54, Computer Society Press of the IEEE, August 1976.
[14]
Kim McCall. The Smalltalk-80 benchmarks. In Glenn Krasner, editor, Smalltalk-80: Bits of History, Words of Advice, chapter 9, pages 153-173, Addison-Wesley, 1983.
[15]
Guy L. Steele J. Multiprocessing compact~fyinn garbage collection. Communications of the ACM, 18(9):495-508, September 1975.
[16]
Daniel C. Swinehart, Polle T. Zellweger, Richard J. Beach, and Robert B. Hagmann. A structural view of the Cedar programming environment. A CM Transactions on Progmmmin# Languages and Systems, 8(4):419-490, October 1986.
[17]
Charles P. Thacker and Lawrence C. Stewart. Firefly: a multiprocessor workstation. In Proceedings of the Second interuaiional Conference on Architectural Support for Programming Lagguages and Operating Systems (ASPLOS II), pages 164-172, Computer Society Press of the IEEE, October 1987.
[18]
David A. Thomas, Wilf R. LaLonde, and John R. Pugh. A ctraA Multitasking/Multiprocessing Smalltglk. Technical Report SCS-TR-92: Carleton University, May 1986.
[19]
David Ungar. Generation scavenging: a nondisruptive high performance storage reclamation algorithm. In Software Engineering Symposium on Practical Software Development Envito,merits, pages 157-167, Pittsburgh, PA, April 1984.
[20]
David M. Ungar and David A. Patterson. Berkeley Smalltalk: Who knows where the time goes? In Glenn Krasner, editor, Smalltalk-80: Bits of History, Words of Advice, chapter 11, pages 189- 206, Addison-Wesley, 1983.
[21]
Stephen C. Vestal. Garbage Collection: An Exercise in Distributed Fault-Tolerant Programming. PhD thesis, University of Washington, January 1987. Published as Technical Report 87-01-03.
[22]
Zorn, et al. SPUR Lisp: Design and Implementation. Technical Report UCB/CSD 87/373, University of California, Berkeley 1987.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 23, Issue 7
Proceedings of the SIGPLAN '88 conference on Programming language design and implementation
July 1988
338 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/960116
Issue’s Table of Contents
  • cover image ACM Conferences
    PLDI '88: Proceedings of the ACM SIGPLAN 1988 conference on Programming language design and implementation
    June 1988
    338 pages
    ISBN:0897912691
    DOI:10.1145/53990
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]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 June 1988
Published in SIGPLAN Volume 23, Issue 7

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)133
  • Downloads (Last 6 weeks)30
Reflects downloads up to 06 Feb 2025

Other Metrics

Citations

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media