Multiprocessor smalltalk: A case study of a multiprocessor-based programming environment

6Citations
Citations of this article
5Readers
Mendeley users who have this article in their library.

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 versatility 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.

Cite

CITATION STYLE

APA

Pallas, J., & Ungar, D. (1988). Multiprocessor smalltalk: A case study of a multiprocessor-based programming environment. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) (Vol. 20-24-June-1988, pp. 268–277). Association for Computing Machinery. https://doi.org/10.1145/53990.54017

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free