Controlling concurrent access to objects in the Raven system
Donald Acton, Gerald Neufeld · 2003
The paper presents the rationale and design of the concurrency control features of Raven, an object-oriented distributed and parallel programming language and system. Raven's parallel constructs support coarse grained parallelism and are designed to permit programmers to use parallelism with relative ease. To achieve this Raven provides automatic concurrency control on an object's instance data at method invocation time. Raven allows multiple execution threads to access an object strictly for reading or a single execution thread to access an object for the updating of instance data. Raven is operational on a variety of machine architectures, including a shared memory multiprocessor. Experience indicates Raven's concurrency support simplifies the task of converting sequential code to run in a parallel or distributed environment.>