Generative communication in Linda
ACM Transactions on Programming Languages and Systems (TOPLAS)
Language Support for Loosely Coupled Distributed Programs
IEEE Transactions on Software Engineering - Special issue on distributed systems
A Remote Procedure Call Facility for Interconnecting Heterogeneous Computer Systems
IEEE Transactions on Software Engineering
Choices (class hierarchical open interface for custom embedded systems)
ACM SIGOPS Operating Systems Review
SOSP '87 Proceedings of the eleventh ACM Symposium on Operating systems principles
Facilitating Mixed Language Programming in Distrbuted Systems
IEEE Transactions on Software Engineering
Firefly: A Multiprocessor Workstation
IEEE Transactions on Computers - Special issue on architectural support for programming languages and operating systems
SIGCOMM '88 Symposium proceedings on Communications architectures and protocols
An open enviornment for building parallel programming systems
PPEALS '88 Proceedings of the ACM/SIGPLAN conference on Parallel programming: experience with applications, languages and systems
Large-scale parallel programming: experience with BBN butterfly parallel processor
PPEALS '88 Proceedings of the ACM/SIGPLAN conference on Parallel programming: experience with applications, languages and systems
Concurrent operations on priority queues
Communications of the ACM
Lightweight remote procedure call
SOSP '89 Proceedings of the twelfth ACM symposium on Operating systems principles
Matchmaker: an interface specification language for distributed processing
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Supporting distributed applications: experience with Eden
Proceedings of the tenth ACM symposium on Operating systems principles
Evolution of an Operating System for Large-Scale Shared-Memory Multiprocessors
Evolution of an Operating System for Large-Scale Shared-Memory Multiprocessors
Algorithms for scalable synchronization on shared-memory multiprocessors
ACM Transactions on Computer Systems (TOCS)
Scheduler activations: effective kernel support for the user-level management of parallelism
SOSP '91 Proceedings of the thirteenth ACM symposium on Operating systems principles
Architecture support for single address space operating systems
ASPLOS V Proceedings of the fifth international conference on Architectural support for programming languages and operating systems
Scheduler activations: effective kernel support for the user-level management of parallelism
ACM Transactions on Computer Systems (TOCS)
ACM Transactions on Computer Systems (TOCS)
Sharing and protection in a single-address-space operating system
ACM Transactions on Computer Systems (TOCS) - Special issue on computer architecture
Scheduler-conscious synchronization
ACM Transactions on Computer Systems (TOCS)
First-class user-level threads
SOSP '91 Proceedings of the thirteenth ACM symposium on Operating systems principles
Meeting the application in user space
EW 6 Proceedings of the 6th workshop on ACM SIGOPS European workshop: Matching operating systems to application needs
Parallel Processing in the DARPA Strategic Computing Vision Program
IEEE Expert: Intelligent Systems and Their Applications
SilkRoad II: mixed paradigm cluster computing with RC_dag consistency
Parallel Computing
Weaves: a framework for reconfigurable programming
International Journal of Parallel Programming - Special issue: The next generation software program
Protected shared libraries: a new approach to modularity and sharing
ATEC '97 Proceedings of the annual conference on USENIX Annual Technical Conference
30 seconds is not enough!: a study of operating system timer usage
Proceedings of the 3rd ACM SIGOPS/EuroSys European Conference on Computer Systems 2008
Hi-index | 0.00 |
Many different parallel programming models, including lightweight processes that communicate with shared memory and heavyweight processes that communicate with messages, have been used to implement parallel applications. Unfortunately, operating systems and languages designed for parallel programming typically support only one model. Multi-model parallel programming is the simultaneous use of several different models, both across programs and within a single program. This paper describes multi-model parallel programming in the Psyche multiprocessor operating system. We explain why multi-model programming is desirable and present an operating system interface designed to support it. Through a series of three examples, we illustrate how the Psyche operating system supports different models of parallelism and how the different models are able to interact.