This paper proposes a challenge to language designers who are interested in concurrency about how to support highly-concurrent data structures. An implementation of a concurrentobject is wait-free if it guarantees th...
详细信息
This paper proposes a challenge to language designers who are interested in concurrency about how to support highly-concurrent data structures. An implementation of a concurrentobject is wait-free if it guarantees that any process will complete any operation within a fixed number of steps, independent of the level of contention and the execution speeds of the other processes. The paper suggests some research directions that could lead to progress in this area.
The object-oriented style of programming (OOP) is gaining increasing importance as a practical technique for organizing large designs and programs. Another striking aspect of OOP is its potential for concurrent and di...
详细信息
The object-oriented style of programming (OOP) is gaining increasing importance as a practical technique for organizing large designs and programs. Another striking aspect of OOP is its potential for concurrent and distributed applications which is based on the fact that objects may coexist in time and concurrently may exchange information by message passing. Up to now, however, there is only little progress in the development of formal computation models that exploit the full power of concurrency inherent in the OOP paradigm. We propose a model of concurrentobjects that integrates ideas from three different research areas to cope with what we think is the substance of the object-oriented paradigm.
This short paper discusses exploitation of parallelism in BLAZE 2, focusing on the issue of parallel object access. The object-oriented paradigm provides an elegant way to incorporate state into a programming language...
详细信息
This short paper discusses exploitation of parallelism in BLAZE 2, focusing on the issue of parallel object access. The object-oriented paradigm provides an elegant way to incorporate state into a programming language, without introducing the level of uncontrolled 'aliasing' and side-effects present in most conventional languages. In addition, the object approach can provide powerful abstraction facilities and type polymorphism. Thus the approach is natural for parallel programming. It allows effective exploitation of parallelism, while also providing a higher level of expressiveness than that of most conventional languages.
CST is a programming language based on Smalltalk-80 that supports concurrency using locks, asynchronous messages, and distributed objects. Distributed objects have their state distributed across many nodes of a machin...
详细信息
CST is a programming language based on Smalltalk-80 that supports concurrency using locks, asynchronous messages, and distributed objects. Distributed objects have their state distributed across many nodes of a machine, but are referred to by a single name. Distributed objects are capable of processing many messages simultaneously and can be used to efficiently connect together large collections of objects. They can be used to construct a number of useful abstractions for concurrency. We describe the CST language and give examples of its use.
Many programming languages for developing system software introduce built-in language facilities to describe the concurrent activities. They all center around the notion of the concurrent activity models and the relev...
详细信息
Many programming languages for developing system software introduce built-in language facilities to describe the concurrent activities. They all center around the notion of the concurrent activity models and the relevant synchronization facilities. These models should reflect the most fundamental and the most common properties about the concurrent activities. Unfortunately, they could hardly be brought into play in some particular situations, for example, the distributed computing situation. This paper discusses the development of a new approach to the discription of the concurrent activities. The basis of the approach is the CLUSTER 86, an object-oriented programming language which differs from other similar languages by its 'all-out-of-nothing' design philosophy.
Concurrency has been with us almost from the beginning of computing. Managing and programming for concurrency is a difficult problem and various solutions have been suggested over the years. Debates on message passing...
详细信息
Concurrency has been with us almost from the beginning of computing. Managing and programming for concurrency is a difficult problem and various solutions have been suggested over the years. Debates on message passing vs. remote procedure call, synchronous vs. asynchronous message passing, bounded vs. unbounded buffers, active vs. passive objects etc. still continue. No solution is entirely satisfactory. concurrentprogramming usually depends heavily on the nature of the problem at hand and the architecture of the target machine. This article argues that object-oriented programming may bring new hope for a better solution for the concurrentprogramming problem.
Acore is a concurrentprogramming language based on the actor model of computation, and which also takes ideas from lambda calculus based languages such as Scheme (Lisp). An experimental version of Acore has been impl...
详细信息
Acore is a concurrentprogramming language based on the actor model of computation, and which also takes ideas from lambda calculus based languages such as Scheme (Lisp). An experimental version of Acore has been implemented as part of the MPSG's Actors Project, and currently runs on an Actor Machine Emulator on Symbolics Lisp Machines. This paper gives a quick introduction to some of the concepts of Acore. Some background in Lisp, the lambda calculus, and the actor model would be helpful to the reader.
Recently, a number of concurrent computers have been designed. Taking advantage of concurrency on these computers will require new languages, operating systems, and environments to support the programming, monitoring ...
详细信息
Recently, a number of concurrent computers have been designed. Taking advantage of concurrency on these computers will require new languages, operating systems, and environments to support the programming, monitoring and control of applications. This paper describes the Rosette project at MCC to develop a system architecture for general-purpose concurrent computation based on the Actor model. The aim of the Rosette architecture is to support the use of concurrent computers in solving computationally intensive problems whose structure is not statically determined. The architecture will support variable grain size, dynamic resource management, reflection, and heterogeneity.
Technological advances are making multiprocessors more readily available, but despite impressive progress at the hardware level, it is still difficult to realize these machines' potential for parallelism. In the s...
详细信息
Technological advances are making multiprocessors more readily available, but despite impressive progress at the hardware level, it is still difficult to realize these machines' potential for parallelism. In the sequential domain, 'object-oriented' programming methodologies based on data abstraction are widely recognized as an effective means of enhancing modularity, expressibility, and correctness. Our paper describes the foundations for a new approach to extending object-oriented methodologies to highly-concurrent shared-memory multiprocessors. The basic idea is the following: rather than communicating through low-level machine constructs such as bytes, words, registers, etc., processes communicate through abstract data structures called concurrentobjects.
This paper discusses the question whether the Actor model could implement a wait-free shared queue. Processes are guaranteed to complete queue operations in a finite amount of steps even if other processes may fail at...
详细信息
This paper discusses the question whether the Actor model could implement a wait-free shared queue. Processes are guaranteed to complete queue operations in a finite amount of steps even if other processes may fail at arbitrary points. Consequently, the queue may not have an implementation based on mutual exclusion, but may be implemented with non-trivial atomic operations. The main topics are concurrent queue implementation and the implementation of the actor model under the Matrashka model.
暂无评论