Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
The C++ programming language
The C programming language
Object-based real-time programming
OOPSLA/ECOOP '88 Proceedings of the 1988 ACM SIGPLAN workshop on Object-based concurrent programming
Programming languages for distributed computing systems
ACM Computing Surveys (CSUR)
The Amber system: parallel programming on a network of multiprocessors
SOSP '89 Proceedings of the twelfth ACM symposium on Operating systems principles
Parallel programming with coordination structures
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Delirium: an embedding coordination language
Proceedings of the 1990 ACM/IEEE conference on Supercomputing
An adaptive load balancing method in the computational field model
OOPSLA/ECOOP '90 Proceedings of the workshop on Object-based concurrent programming
Orca: A Language for Parallel Programming of Distributed Systems
IEEE Transactions on Software Engineering
A dynamic scheduling method for irregular parallel programs
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
Language concepts using dynamic and distributed objects
CSC '91 Proceedings of the 19th annual conference on Computer Science
PANDA - Supporting Distributed Programming in C++
ECOOP '93 Proceedings of the 7th European Conference on Object-Oriented Programming
Hi-index | 0.01 |
Sloop is a parallel language and environment that employs an object-oriented model for explicit parallel programming of MIMD multiprocessors. The Sloop runtime system transforms a network of processors into a virtual object space. A virtual object space contains a collection of objects that cooperate to solve a problem. Sloop encapsulates virtual object space semantics within the object type domain. This system-defined type provides an associative, asynchronous method by which one object gains access to another. It also provides an operation for specifying groups of objects that should, for efficiency, reside on the same physical processor, and supports exploitation of the topology of the underlying parallel machine. Domains also support the creation of indivisible objects, which provide implicit concurrency control. The encapsulation of these semantics within an object gives the programmer the power to construct an arbitrary hierarchy of virtual object spaces, facilitating debugging and program modularity. Sloop implementations are running on a bus-based multiprocessor, a hypercube multiprocessor, and on a heterogeneous network of workstations. The runtime system uses object relocation heuristics and coroutine scheduling to attain high performance.