MULTILISP: a language for concurrent symbolic computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Experience and evolution of concurrent Smalltalk
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
Concurrent programming in concurrent Smalltalk
Object-oriented concurrent programming
Pool-T: a parallel object-oriented language
Object-oriented concurrent programming
Promises: linguistic support for efficient asynchronous procedure calls in distributed systems
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Actra-a multitasking/multiprocessing smalltalk
OOPSLA/ECOOP '88 Proceedings of the 1988 ACM SIGPLAN workshop on Object-based concurrent programming
OOPSLA/ECOOP '90 Proceedings of the workshop on Object-based concurrent programming
CASCON '92 Proceedings of the 1992 conference of the Centre for Advanced Studies on Collaborative research - Volume 2
Hi-index | 0.00 |
The programming of parallel and distributed systems is difficult. Existing approaches to coarse-grained parallelism rely upon some form of process creation combined with the exchange or sharing of data. Coarse-grained parallelism usually is in the form of a combination of pipes, message passing, or shared memory. The problem with this approach is that in addition to coping with decomposing programs into functions and procedures, is added the task of managing low-level process creation, interprocess communication and process synchronization, and of maintaining the consistency of concurrently accessed data. These additional responsibilities increase the complexity of writing, debugging, and maintaining an application program in a parallel environment.The approach taken is to provide a C toolkit that allows for the creation of objects and for their manipulation. The toolkit uses the method interface of an object to extract parallelism through this interaction point with the object. This extension to method usage is accomplished through facilities to achieve parallelism at the point when an object is invoked or through the way the method is run. The toolkit provides a runtime environment to support these parallel operations and a locking system to arbitrate concurrent accesses to an object.