[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/53990.54017acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
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.

Cited By

View all
  • (2024)Multi-threaded OpenSmalltalk VM: Choosing a Strategy for ParallelizationCompanion Proceedings of the 8th International Conference on the Art, Science, and Engineering of Programming10.1145/3660829.3660846(87-93)Online publication date: 11-Mar-2024
  • (2009)Hosting an object heap on manycore hardwareACM SIGPLAN Notices10.1145/1837513.164014944:12(99-110)Online publication date: 26-Oct-2009
  • (2009)Hosting an object heap on manycore hardwareProceedings of the 5th symposium on Dynamic languages10.1145/1640134.1640149(99-110)Online publication date: 26-Oct-2009
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

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
  • 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
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: 01 June 1988

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

PLDI88
Sponsor:
PLDI88: SIGPLAN 88
June 20 - 24, 1988
Georgia, Atlanta, USA

Acceptance Rates

Overall Acceptance Rate 406 of 2,067 submissions, 20%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)133
  • Downloads (Last 6 weeks)19
Reflects downloads up to 03 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Multi-threaded OpenSmalltalk VM: Choosing a Strategy for ParallelizationCompanion Proceedings of the 8th International Conference on the Art, Science, and Engineering of Programming10.1145/3660829.3660846(87-93)Online publication date: 11-Mar-2024
  • (2009)Hosting an object heap on manycore hardwareACM SIGPLAN Notices10.1145/1837513.164014944:12(99-110)Online publication date: 26-Oct-2009
  • (2009)Hosting an object heap on manycore hardwareProceedings of the 5th symposium on Dynamic languages10.1145/1640134.1640149(99-110)Online publication date: 26-Oct-2009
  • (2005)Concurrent programming in COBConcurrency: Theory, Language, and Architecture10.1007/3-540-53932-8_49(142-156)Online publication date: 7-Jun-2005
  • (1998)Design and implementation of a parallel cellular language for MIMD architecturesComputer Languages10.1016/S0096-0551(98)00007-124:3(125-153)Online publication date: 1-Oct-1998
  • (1993)A survey of implementations of concurrent, parallel and distributed SmalltalkACM SIGPLAN Notices10.1145/165364.16537528:9(29-35)Online publication date: 1-Sep-1993
  • (1992)The design and implementation of HoMEACM SIGPLAN Notices10.1145/143103.14311727:7(44-54)Online publication date: 1-Jul-1992
  • (1992)The design and implementation of HoMEProceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation10.1145/143095.143117(44-54)Online publication date: 1-Jul-1992
  • (1992)Scalable concurrent computingSadhana10.1007/BF0281134317:1(193-220)Online publication date: Mar-1992
  • (1991)Parallel generational garbage collectionACM SIGPLAN Notices10.1145/118014.11795626:11(16-32)Online publication date: 1-Nov-1991
  • Show More Cited By

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