141 citations found. Retrieving documents...
Brian N. Bershad, Edward D. Lazowska, and Henry M. Levy. PRESTO: A system for object-oriented parallel programming. Software---Practice and Experience, 18(8):713--732, August 19(

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents  Next 50

The Mercury User's Manual - Kontothanassis (1993)   (1 citation)  (Correct)

....supported this work. 1 Introduction Mercury is a library package for writing object oriented parallel programs in shared memory multiprocessors. It runs on the Mips based Silicon Graphics multiprocessor using the 3. 10 release of the C compiler and is derived from the PRESTO library package [Bershad, 1988; Betshad el al. 1988] with which it is upwards compatible . The main additions are the introduction of a new construct called template which implements a very light weight task facility, the distribution of all data structures to avoid bottlenecks, the ability to control the scheduling of either ....

....difference in the start routine which differs from its PRESTO equivalent in that it requires two extra parameters of variable may not be of much use to the average Mercury programmer but is used heavily in the runtime library itself. The existence of these two types is largely due to the PRESTO [Bershad, 1988] ancestry of Mercury. 2.3 Objects All other Mercury objects are derived from this basic class called 0bj ect. objects.h class Object int char o type; o nale; o next; o prev; Object(Jut t=O, char n=O) virtual void error(char s) int type( char name( Instances of the ....

B. N. Betshad, E. D. Lazowska, and H. M. Levy, "PRESTO: A system for Object-oriented Parallel Programming," Software Praclice and Experience, pages 713-732, 1988.


Adjustable Block Size Coherent Caches - Dubnicki, LeBlanc (1992)   (40 citations)  (Correct)

....S cholesky performs parallel factorization of a sparse matrix; S mp3d solves a problem in fluid flow simulation. Both programs, which were written for a bus based multiprocessor, exhibit fine grain sharing and poor processor locality. Presto applications Four programs were implemented in Presto [1]. P li]e is a parallel implementation of Con way s game of life, p qsort implements parallel quicksort, p matmult is a matrix multiplication program, and p gauss is a Gaussian elimination program. Like the SPLASH programs, these applications were written for a bus based multiprocessor, and ....

B.N. Betshad, E.D. Lazowska, and H.M. Levy. Presto: A system for object-oriented parallel programming. Software - Practice and Experience, 18(8), August 1988.


Reconciling Sharing and Spatial Locality Using Adjustable.. - Dubnicki, LeBlanc   (Correct)

....cholesky performs parallel factorization of a sparse matrix; S mp3d solves a problem in fluid flow simulation. Both programs, which were written for a bus based multiprocessor, exhibit fine grain sharing and poor processor locality. Presto applications Four programs were implemented in Presto [2]. P life is a parallel implementation of Conway s game of life, p qsort implements parallel quicksoft, praatrault is a matrix multiplication program, and p gauss is a Gaussian elimination program. Like the SPLASH programs, these applications were written for a bus based multiprocessor, and exhibit ....

B.N. Betshad, E.D. Lazowska, and H.M. Levy. Presto: A system for object-oriented parallel programming. Software - Practice and Experience, 18(8), August 1988.


Distributed Smalltalk: Inheritance and Reactiveness in.. - Bennett (1988)   (1 citation)  (Correct)

....of reliable distributed programs. Examples include Argus [Liskov 82b] Clouds [Dasgupta 86] ISIS [Birman 85] and TABS [Spector 85] The object oriented methodology has also been applied to more tightly coupled multiprocessor systems. Examples of such systems include Sloop [Lucco 87] and Presto [Bershad 87] In this section we will examine several of these systems including Eden, Argus, Sloop, and Emerald. 27 Eden Eden [Lazowska 81, Almes 85, Black 85] was a distributed, object oriented operating system developed at the University of Washington over the five year period 1980 1985. One of Eden s ....

Brian N. Bershad, Edward D. Lazowska, and Henry M. Levy. PRESTO: A System for Object-Oriented Parallel Programming. Technical Report 8709 -01, Department of Computer Science, University of Washington, Seattle, Washington 98195, September 1987.


Software Support for Distributed and Parallel Computing - Freeh (1996)   (Correct)

....deadlock. If two nodes attempts to pin the same pages and each node only pins some of the pages, then the system will deadlock. This solution is crude, but effective. 2.4 Related Work Many threads packages have been written. Those that support efficient parallelism include Threads [21] Presto [6], System [9] C [8] and Sun Lightweight Processes [51] We will call these standard packages because they have a stack for each thread. The goal of standard packages is to provide the user with a natural thread abstraction and many of the usual concurrent programming primitives; different ....

B.N. Bershad, E.D. Lazowska, and H.M. Levy. PRESTO: A system for object-oriented parallel programming. Software---Practice and Experience, 18(8):713--732, August 1988.


Gryphon: A Dynamically Tailorable Mechanism for Customizing . . . - Griff (2000)   (Correct)

....for current location, toggling on off the change location feature, and moving an object to be with another object. The related PRESTO library does not create a new language but instead provides an environment for writing object oriented parallel programs for shared memory multiprocessors using C [BLV88]. This library provides primitives including threads for concurrency and locking mechanisms for synchronization. The Aster system creates a configuration based development environment using a declarative language and a set of tools [IBS98] Aster provides automated configuration of middleware ....

B. N. Bershad, E. D. Lazowska, & H. M. Levy. (1988, August). PRESTO: A system for object-oriented parallel programming. Software: Practice and Experience, 18(8), 713-732.


SYMPAL: a software environment for implicit concurrent.. - Aridor, Cohen, Yehudai (1997)   (Correct)

....like SYMPAL (rather than dataparallel COOP languages (Gannon and Lee 1993, Larus et al. 1992) They can be classified as following either an explicit or an implicit approach to parallel programming. In the explicit approach, parallelism is supported either by providing class libraries (Bershad et al. 1988), without changing the object model, or by providing special language constructs and extensions to the object model. To compare with SYM PAL, Table 2 describes how SYMPAL s features are supported by several representative explicit COOP languages. Object consistency in Table 2 means keeping an ....

Bershad, B., Lazowska, E. and Levy, H. (1988) Presto: A system for object-oriented parallel programming. Software -- Practice and Experience, 18(8), 713--32.


Pthreads for Dynamic and Irregular Parallelism - Narlikar, Blelloch (1998)   (4 citations)  (Correct)

....is their flexibility to support multiple schedulers. Therefore, it may be necessary to simplify the task of adding new schedulers to a threads implementation. A solution is to separate the scheduler from the rest of the threads implementation via a well defined interface, similar to previous work [7, 28]. Acknowledgements We would like to thank the Berkeley NOW and Clumps projects for providing us access to their UltraSPARC based workstations and Enterprise servers. ....

B. N. Bershad, E. Lazowska, and H. Levy. PRESTO : A system for object-oriented parallel programming. Software -- Practice and Experience, 18(8):713--732, August 1988.


ACT++ 2.0 : A Class Library for Concurrent Programming.. - Kafura, Mukherji.. (1992)   (Correct)

....concurrent computation [Agha 86, Agha and Hewitt 87] Kafura and Lee 90] describes the design issues and the implementation details of an earlier version of ACT . This paper describes ACT 2.0, the latest version which enhances the earlier one in three respects. First, we have used the PRESTO [Bershad et al. 88, Bershad 90] threads package as the underlying system to control concurrent objects. PRESTO was used because it is written in C and provides a high level abstraction for concurrent programming using light weight processes called threads. Second, we have implemented a concurrency control ....

Bershad, B.N., Lazowska, E.D., and Levy, H.M., "PRESTO: A System for Object-Oriented Parallel Programming," Software Practice and Experience, 1988.


Smart Messages: An Object-Oriented Communication Mechanism - Arjomandi, al. (1996)   (3 citations)  (Correct)

....was an issue. C is rapidly replacing C as the language of choice for systems programming, and is starting to be adopted by scientific programmers, who have traditionally been the largest users of parallel computers. For this reason, numerous attempts have been made to add concurrency to C [2, 4, 5, 6, 7, 8, 9, 10, 12]. Most such systems require extensive compiler extensions and or preprocessors. Attempts using purely a class library approach have often not fully utilized OOP in their design and implementation, or have imposed unreasonable limitations on the users. For example, some libraries [2, 7, 8] limit ....

B. Bershad, E. D. Lazowska and H. M. Levy, "PRESTO: A System for Object-Oriented Parallel Programming", Software--Practice and Experience, Vol. 18(8), (August 1988) pp. 713-732.


Concurreny Support for C++: An Overview - Arjomandi, O'Farrell, Kalas   (Correct)

....languages can use the compiler to provide higher level constructs, compile time type checking, and enhanced performance. C is increasingly becoming the language of choice among developers. It is therefore not surprising to see the many attempts that have been made to add concurrency to C [2, 3, 4, 9, 10, 15, 18, 19, 20, 22, 25, 27, 35, 37]. This paper reviews and analyzes some of the concurrent C based systems. We study the various approaches taken in adding concurrency to C and how these approaches interact with the object oriented paradigm. We give special attention to concurrent C systems that have used the ....

....from monitors are explicitly managed by the users through enter and exit routines. Threads are explicitly managed by operations such as wait and wakeup. As in AT T s task library, EPT C allows only one level of subclassing. Communication is primarily through explicit message queues. PRESTO [4] is a class library for the creation and management of threads. There are PRESTO classes for each concurrency concept, principally threads, locks, and monitors. Creating a thread object creates, within the thread object data area, the structures necessary for a thread s existence (for example, a ....

B. Bershad, E. D. Lazowska and H. M. Levy, PRESTO: A System for Object-Oriented Parallel Programming, Software-Practice and Experience, Vol. 18(8), 713-732, August 1988.


RT++ - Higher Order Threads for C++: Tutorial and Reference.. - Schreiner (1996)   (Correct)

....system schedules these threads on one or several Unix processes which in turn are scheduled by the operating system. If the underlying hardware is a multi processor, processes and thus threads are executed truly in parallel. There exists a variety of thread packages that do the same (e.g. PRESTO [BLLW88], FastThreads [And90] uC [BDS92] Pthreads [Mue93] Chant [HCM94] Solaris threads [Sun96] see also the Threads Page [Thr96] Still it is surprisingly difficult to find a package that has been ported to a larger portion of the of workstation and multi processor brands that are in use ....

Brian N. Bershad, Edward D. Lazowska, Henry M. Levy, and David B. Wagner. PRESTO: A System for Object-Oriented Parallel Programming. Software --- Practice and Experience, 18(8):713--732, 1988. System available at ftp://ftp.cs.washington.edu /pub /presto1.0.tar.Z.


pSather: Layered Extensions to an Object-Oriented.. - Murer, Feldman, Lim.. (1993)   (18 citations)  (Correct)

....discussing other specific parallel object oriented languages) can be found in [48] 8.1 Processes Threads There are three general ways to create parallel processes or threads in object oriented languages. ffl A thread may be explicitly treated as a first class object in the system (e.g. Presto [11]) In this case, methods are defined in the threads class to activate, suspend and perform other synchronization operations (e.g. fork join) In this model, threads are independent of data objects and multiple threads can execute on an object in parallel. ffl A second approach is to have active ....

Brian N. Bershad, Edward D. Lazowska, and Henry M. Levy. PRESTO: A System for ObjectOriented Parallel Programming. Software -- Practice and Experience, 18(8):713--732, August 1988.


Imperative Concurrent Object-Oriented Languages: An Annotated.. - Philippsen (1995)   (3 citations)  (Correct)

....there is no post processing in this case. If postprocessing is used, the Actor may not change its state after the become statement. fault tolerance. None. Availability: ACT version 3. 0 has been implemented on a Sequent Symmetry multiprocessor with shared memory using the PRESTO thread package [29, 30], see section 2.82. A port for single Sun3 and Dec5000 is planned. Some papers and the software on ACT can be accessed by anonymous ftp from ftp: actor.cs.vt.edu pub Email address: Dennis Kafura Gamma kafura cs.vt.edu References: 121] 122] 123] 124] 125] 2.7 Act1 Developer: ....

....For synchronization Presto offers a variety of primitives, e.g. spin locks, locks, mutex objects, and condition variables, and coordination futures. fault tolerance. Availability: The source code (Presto 1.0) is available via anonymous ftp from ftp: ftp.cs. washington.edu pub References: [29] [30] 2.83 Procol Developer: University of Leiden, The Netherlands Description: oo. Procol is an object based language without inheritance. memory model. parallelism. Message passing only. Return values, if any, must be passed back by separate messages. Rendezvous. Procol offers a multicast: ....

B. N. Bershad, E. D. Lazowska, and H. M. Levy. Presto: A system for object-oriented parallel programming. Software -- Practice and Experience, 1998.


Imperative Concurrent Object-Oriented Languages - Philippsen (1995)   (3 citations)  (Correct)

.... i v i t c a y r a d n u o b POOL, POOL T, POOL I [8, 9, 10, 11, 215, 236] Phi Phi Delta Delta H H A A Phi Phi Delta Delta H H A A Phi Phi Delta Delta H H A A Phi Phi Delta Delta H H A A y t i v i t c a y r a d n u o b Presto [33, 34] Phi Phi Delta Delta H H A A Phi Phi Delta Delta H H A A m y t i v i t c a y r a d n u o b ftp: ftp.cs.washington.edu pub Procol [41, 147, 148] Phi Phi Delta Delta H H A A Phi Phi Delta Delta H H A A Phi Phi Delta Delta H H A A Phi Phi ....

B. N. Bershad, E. D. Lazowska, and H. M. Levy. Presto: A system for object-oriented parallel programming. Software -- Practice and Experience, 1998. 51


Obtaining Sequential Efficiency for Concurrent.. - Plevyak, Zhang, Chien (1995)   (29 citations)  (Correct)

....in helping define the programming and implementation models described here. However, their focus was not on extensive compiletime inter object transformations. A variety of other parallel object oriented systems pursue the approach of relying on an underlying sequential language for efficiency [4, 8, 18, 29, 32, 40]. Our work also draws on developments in both the sequential and parallel compiler community. While most of our techniques are familiar ones, we have adapted them significantly to the COOP model. Many researchers have studied inlining for sequential languages [2, 28, 34] however, their main ....

B.N. Bershad, E.D. Lazowska, and H.M. Levy. Presto: A system for object-oriented parallel programming. Software --- Practice and Experience, 18(8):713--732, August 1988.


Object-Oriented Implementation of Communication Protocols - Granö   (Correct)

....roughly three ways to support concurrency within objectoriented languages [21] Concurrency is explicit if the system supports first class thread objects with methods to activate, preempt and fork other objects. This usually requires that the language supports first class functions (e.g. PRESTO [7]) In semi implicit concurrency results when threads are opaque and are managed by the run time system. Typically a mechanism for invoking parallel communication is all that is provided for the programmer (e.g. the async mechanism in the OTSO system [15] A third approach, which might be termed ....

Bershad B., Lazowska E., Levy H.: PRESTO: A System for Object-Oriented Parallel Programming. Software -- Practice and Experience, 18, 8, 1988, 713-732.


A Common Library Interface to Shared-Memory Multiprocessors - Lawrence Crowl Computer (1994)   (Correct)

....and a global memory. It also needs NUMA programming techniques. The common view of these disparate memory models is the more complex one one global memory, one local memory per processor, and remote access to other processor s local memories. While a UMA view of memory, such as in Presto [4], is substantially easier to program, programs with the UMA view perform poorly on NUMA machines. On the other hand, programs with a NUMA view perform reasonably well on all machines. See section 4. Furthermore, the trend in shared memory multiprocessors indicates that programs written with a ....

B. N. Bershad, E. D. Lazowska, and H. M. Levy. PRESTO: A system for object-oriented parallel programming. Software---Practice and Experience, 18(8):713--732, August 1988.


Proposal for a Protocol Engineering Language - Granö, Harju, Paakki, Järvinen (1994)   (Correct)

....roughly three ways to model concurrency within object oriented languages [MFL93] Concurrency is explicit if the system supports first class thread objects with methods to activate, preempt and fork other objects. This usually requires that the language supports first class functions (e.g. PRESTO [BLL88]) in order to pass them to the activating thread object. In semi implicit concurrency threads are opaque and managed by the run time system. Typically a mechanism for invoking parallel communication is all that is provided to the 1 Finite state automata (machines) augmented with variables and ....

Bershad B., Lazowska E., Levy H.: PRESTO: A System for Object-Oriented Parallel Programming. Software -- Practice and Experience 18, 8, 1988, 713-732.


Techniques for Efficient Execution of Fine-Grained.. - Chien, Feng.. (1992)   (2 citations)  (Correct)

.... of the cumulative number of invocations, identifying the most preferred neighbors (frequently communicated with) Summing the invocations to the preferred neighbors for each object, and normalizing by the num 3 We have examined CST [12] CA [8] ABCL [18] POOL [3] Rosette [16] and Presto [4] programs. ber of invocations, yields the overall invocation locality over the program. This aggregate measure of communication to preferred neighbors approximates the reduction in communication which can be obtained by specializing the invocation sequence between an object and its preferred ....

B. Bershad, E. Lazowska, and H. Levy. Presto: A system for object-oriented parallel programming. Software -- Practice and Experience, 18(8), 1988.


Smart Messages: An Object-Oriented Communication Mechanism - Arjomandi, O'Farrell, Wilson (1996)   (3 citations)  (Correct)

....was an issue. C is rapidly replacing C as the language of choice for systems programming, and is starting to be adopted by scientific programmers, who have traditionally been the largest users of parallel computers. For this reason, numerous attempts have been made to add concurrency to C [2, 4, 5, 6, 7, 8, 9, 10, 12]. Most such systems require extensive compiler extensions and or preprocessors. Attempts using purely a class library approach have often not fully utilized OOP in their design and implementation, or have imposed unreasonable limitations on the users. For example, some libraries [2, 7, 8] limit ....

B. Bershad, E. D. Lazowska and H. M. Levy, "PRESTO: A System for Object-Oriented Parallel Programming", Software--Practice and Experience, Vol. 18(8), (August 1988) pp. 713-732.


A Distributed Garbage Collector for Active Objects - Puaut (1994)   (7 citations)  (Correct)

....in object oriented languages. There are (at least) two ways for introducing concurrency in an object oriented framework: first, as notably discussed in [3] the process notion may be integrated within the object notion, thus leading to active objects; second, as done for example in Presto [4], parallelism may be introduced through system libraries defining classes to be used for implementing concurrency control (i.e. thread and synchronization classes) thus leading to passive objects. As argued in [5] garbage collection in systems of active objects (actors in the mentioned ....

....a consistent state, while the system state in C 2 is not consistent (V T 3 [2] V T 2 [2] the message sent from p 2 to p 3 is captured as received in p 3 s state and not yet sent in p 2 s state. A Distributed Garbage Collector for Active Objects 11 [1,0,0] 2,0,0] 0,1,0] 2,2,0] 2,3,0] [2,4,0] [0,0,1] 0,0,2] 2,4,3] 3,3,0] C 1 C 2 Process p 1 Process p 2 Process p 3 Figure 3: Vector timestamps 3.3.2 Protocol for detecting global garbage The principle of the protocol used for detecting global garbage is to record a global snapshot of the state of the system relevant to ....

[Article contains additional citation context not shown here]

B. N. Bershad, E. D. Lazowska, and H. M. Levy. Presto: A system for object-oriented parallel programming. Software Practice and Experience, 18(8):713--732, 1988.


A Parallel Object-Oriented System for Realizing Reusable and.. - Lim (1993)   (7 citations)  (Correct)

....2.2.2. Processes Threads In order for parallelism to exist, independent processes (or threads 4 of control) must be created to execute concurrently. There are three main views of threads in an object oriented language. A thread may be treated as a first class object in the system (e.g. PRESTO [33]) just like any other data objects. In this case, routines (or methods in traditional OO terminology) are defined in the threads class to activate, suspend and perform other synchronization operations (e.g. fork join) on the threads. New types of threads can be defined via class inheritance. ....

....give the design characteristics of the following languages in Table 2. 1, but omit any description Natasha [78] Amber [64] Mentat [115, 116, 183] PROCOL [224] CLIX [141] Dragoon [19] Sloop [167] Hybrid [184] PRESTO (and other systems which provides threads and synchronization libraries [94, 33, 27, 90]) SOS [206, 169] Rosette [217] POOL2 [8, 9, 10] We have however described some of their more interesting characteristics earlier. Parallel Versions of Smalltalk We first look at some parallel implementations of Smalltalk. Distributed Smalltalk Bennett [31] describes an implementation of ....

[Article contains additional citation context not shown here]

Brian N. Bershad, Edward D. Lazowska, and Henry M. Levy. PRESTO: A System for ObjectOriented Parallel Programming. Software -- Practice and Experience, 18(8):713--732, August 1988.


Dependence Driven Execution for Data Parallelism - Vajracharya   (Correct)

....simple matrix vector multiplication, an example taken from [7] The central node, node P01 has to be further expanded (not shown) to specify an equally complex graph computing the inner product. 3.3 Data driven Runtime Systems 3.3. 1 Chores The Chores system [23] is implemented on top of Presto [14] and runs on the Sequent Symmetry. A per processor worker (a user level thread) grab chunks of work from a central queue using the 13 SELF SCHEDULED SETUP FOR MATRIX VECTOR MULTPLY NODE P10 PRODUCT INNER COMPUTE NODE P01 OUTPUT RESULT VECTOR NODE P11 A(M,N) AFILE XFILE X(N) ....

B.N. Bershad, E.D. Lazowska, and H.M. Levy. PRESTO: A System for Object-Oriented Parallel Programming. Software Practice and Experience, 18(8):713--732, August 1988. 38


Efficient Scheduling of Strict Multithreaded Computations - Fatourou, Spirakis (1999)   (Correct)

.... NESL [5] data ow languages like ID [21] control parallel languages with fork join constructs like CILK [8, 27] CC [19] and Proteus [40] languages with synchronization primitives like Multilisp [30] Mul T [35] COOL [20] SISAL [25] Jade [49] and various other user level thread libraries [3, 46, 53]. For the execution of a multithreaded computation on a parallel computer, one should specify which processor executes which threads and when each thread should be executed. Clearly, this is not a desirable task to be undertaken by a programmer. Moreover, compile time analysis of programs with ....

....has been employed by several parallel programming languages, like [2, 20, 25, 30, 35, 49] Finally, there exist computations that use more complex synchronization techniques such as mutexes, semaphores, or condition variables. Although there exist a number of general purpose thread libraries [3, 46, 53] that provide such arbitrary primitives, it is usually dicult to model them through the multithreaded model of computation, because the computations produced are not usually deterministic. Much work has been done on the ecient scheduling of multithreaded computations produced by any of the above ....

[Article contains additional citation context not shown here]

B. Bershad, E. Lazowska and H. Levy, "Presto: A system for object-oriented parallel programming," Software { Practice and Experience, 18(8):713-732, August 1988.


Job Scheduling in Multiprogrammed Parallel Systems - Feitelson (1997)   (16 citations)  (Correct)

.... is the concept of virtual PEs the difference being that the different code fragments can interact with each other with the mapping to physical PEs hidden in the runtime system [581] Examples include the multiprocessor implementation of concurrent C [124, 224] and various thread packages [130, 612, 59, 192, 87, 105, 55, 529]. The Psyche operating system on the BBN Butterfly provides a similar notion of virtual PEs at the operating system interface [510] Scheduling in Mach can also be interpreted in this light, with threads as virtual PEs that are executed by whatever number of physical PEs are assigned to the ....

....is used in the Hydra system on C.mmp [621, chap. 12] in the Dynix system on the Sequent Balance [570] in Mach [65, 68] in IRIX on Silicon Graphics multiprocessor workstations [370, 48] and in the DASH system which is based on IRIX [357, 106] It is also used in thread packages such as Presto [59, 192], and in microtasking on multiprocessor Cray supercomputers [220] Much progress has been made lately regarding the efficient implementation of locks, especially by way of exploiting local caches with hardware coherence [491, 19, 239, 246, 399] The main idea behind these implementations is that ....

[Article contains additional citation context not shown here]

B. N. Bershad, E. D. Lazowska, and H. M. Levy, "PRESTO: a system for object-oriented parallel programming ". Software --- Pract. & Exp. 18(8), pp. 713--732, Aug 1988.


Design and Performance of Multithreaded Architectures - Thekkath (1995)   (Correct)

....of programs were written using different parallel programming paradigms. The optimized programs, which include some of the original SPLASHbenchmarks[SWG92] use fork( instructions to explicitly create processes. The unoptimized programs [TE94c] use the PRESTO parallel programming environment [BLL88] and create threads using calls to a user level threads library. The optimized programs are also somewhat coarser than the unoptimized programs in their parallel thread granularity, typically having fewer and larger threads. In both types of programs, thread synchronization is performed using ....

B. N. Bershad, E. D. Lazowska, and H. M. Levy. PRESTO: A system for object-oriented parallel programming. Software: Practice and Experience, 18(8):713--732, August 1988. 91


ABC++: Concurrency by Inheritance in C++ - Arjomandi, O'Farrell, Kalas.. (1995)   (2 citations)  (Correct)

....constructs. An accept( statement specifies the set of methods that the active object is prepared to serve at a given time, depending on its internal state. C [48] has increasingly become the language of choice among developers and numerous attempts have been made to add concurrency to it [6, 11, 12, 14, 18, 22, 29, 42, 43]. For a more complete review of the literature and approaches taken in adding concurrency to C see [2] Two approaches can be used to add concurrency to an object oriented language such as C . In the first approach, the language is extended in order to add the concurrency constructs. The ....

....to provide higher level constructs, compile time type checking, and enhanced performance. Concurrent C based systems often require extensive compiler extensions. Previous attempts to add concurrency to C without compiler extensions have imposed unreasonable limitations on the users [5, 6, 18, 25]. These limitations can include using explicit message queues in object interaction, limiting the number of inheritance levels to one, explicitly managing threads through the use of start( routines and managing synchronization and mutual exclusion through the use of explicit mechanisms to wait on ....

[Article contains additional citation context not shown here]

B. Bershad, E. D. Lazowska and H. M. Levy, PRESTO: A System for ObjectOriented Parallel Programming, Software-Practice and Experience, Vol. 18(8), 713-732, August 1988.


Concurrent Object-Oriented Programming for Distributed.. - Katsumi Maruyama Ntt   (Correct)

....such as banking systems, but will be too heavy for telecommunication systems. ConcurrentSmalltalk [12] supports inter object concurrency by introducing atomic objects and asynchronous message passing. It is upwardly compatible with Smalltalk 80, and less efficient for real time systems. PRESTO [1] is not a language but a programming environment for writing object oriented parallel programs in C [9] in a multi processor environment. It provides a library of basic tools constructed in C , and run time system for execution support. The library includes thread objects which provide ....

Bershad B. N., et. al., "PRESTO: A system for object-oriented parallel programming", Software Practice and experiences, Vol.18, No.8, 1988.


Affinity Scheduling of Unbalanced Workloads - Saskatoon (1993)   (Correct)

....space is not needed for each unit of sequential execution. In the lowest cost implementations, units of sequential execution that share address spaces (often termed lightweight processes or threads) are implemented outside the operating system, in a user level thread library (user level threads) [9] [20] 21] 33] although they may also be implemented in the operating system (kernel threads) Ideally, the availability of cheap threads would allow the programmer to structure a program in a very natural way, representing each logically separate unit of sequential computation by a separate ....

....of the schedulable entity. The authors propose object affinity scheduling (OAS) as a means to effectively address the locality issue in fine grain parallel programs. The scheduling strategy is integrated into Mercury [33] an object oriented parallel programming environment derived from Presto [9]. Due to the object oriented nature of Mercury, each thread has an object that is associated with it. This object usually contains data that the thread accesses and in many cases has already been used by another thread. Under such circumstances, it is beneficial to schedule a new thread on the ....

B. N. Bershad, E. D. Lazowska, H. M. Levy, "PRESTO: A System for ObjectOriented Parallel Programming", Software -- Practice and Experience, Vol. 18, No. 8 (August 1988), pp. 713-732.


VMPP: A Proposal for a Virtual Machine for Parallel Processing - Loyot, Jr.   (Correct)

....needed to detect, when a result is actually used, and to block and unblock Mentat objects, is performed by the Mentat compiler, this same kind of analysis can be performed by a VMPP front end. The resulting dataflow information can easily be expressed in the VMPP program graphs. PRESTO PRESTO [15] is another parallel object oriented programming system. Like Mentat, PRESTO is based on C , but unlike Mentat, PRESTO uses the shared memory approach for objects. In the PRESTO system, parallelism is achieved through user managed objects called threads. Threads are PRESTO s basic unit of ....

Brian N. Bershad, Edward D Lazowska, and Henry M. Levy, "PRESTO: A System for Object-Oriented Parallel Programming", Software - Practice and Experience, Vol. 18, No. 8, pp. 713-732, August 1988.


Models and Languages for Parallel Computation - Skillicorn, Talia (1996)   (51 citations)  (Correct)

....perform all the operations required to satisfy an action. Therefore, a process can execute within many objects, changing its address space when an invocation to another object is made. Whereas the object oriented models discussed before use the first approach, systems like Argus [140] and Presto [28] use the second approach. In this case, languages provide mechanisms for creating and controlling multiple processes external to the object structure. Argus supports coarse grain and medium grain objects, and dynamic process creation. In Argus guardians contain data objects and procedures. A ....

B.N. Bershad, E. Lazowska, and H. Levy. Presto: a system for object-oriented parallel programming. Software--Practice and Experience, August 1988.


A Class Library Approach To Concurrent Object-Oriented.. - Parkes (1994)   (2 citations)  (Correct)

....is either automatic or under program control via the C placement syntax [29] Parallelism in ES kit is specified through the use of remote function calls and futures [30] The original target of the ES Kit was special purpose hardware. 2.6. 5 Amber The Amber system [31] derived from Presto [32], is an extension of C , via a preprocessor and a supporting run time library, targeted specifically toward workstation clusters running the Topaz operating system [33] In Amber, the approach is to explicitly locate a shared datum on a particular node and then to cluster Topaz threads on that ....

B. N. Bershad, E. D. Lazowska, and H. M. Levy, "PRESTO: A system for object-oriented parallel programming," Software---Practice and Experience, vol. 18, pp. 713--731, Aug. 1988.


Improving Performance by Use of Adaptive Objects.. - Bodhisattwa Mukherjee.. (1993)   (1 citation)  (Correct)

.... [SGB87] must offer several representations of objects and object invocations to support the different degrees of coupling, task granularities, and invocation semantics existing in real time applications[GS] Such experiences in the real time domain are mirrored by work in multiprocessor scheduling[CCLP83, BLL88] that demonstrates the importance of using applicationdependent information or algorithms while making scheduling decisions. Similarly, for scientific applications executing on distributed memory machines, the support of multiple semantics of task communication by low level operating system ....

....of a method procedure defined by an object. The object model is important to our research because the encapsulation property of objects hide their implementation from other program components, thereby permitting the alteration of an object implementation without changing its interface. PRESTO[BLL88] system and the CHAOS[GS, GS89, SGZ90] use this property of objects to construct configurable parallel programming environments. CHAOS also captures differences in object implementation by introduction of explicit object attributes that may be used for static or dynamic object configuration. With ....

[Article contains additional citation context not shown here]

B. Bershad, E. Lazowska, and H. Levy. Presto: A system for object-oriented parallel programming. Software: Practice and Experience, 18(8):713--732, August 1988.


Experimentation with Configurable, Lightweight Threads.. - Ghosh, Mukherjee, Schwan (1993)   (1 citation)  (Correct)

....College of Computing Georgia Institute of Technology Atlanta, Georgia 30332 0280 1 Introduction Lightweight threads packages have been built for a variety of parallel and sequential machines. Typical arguments for their use include complete user level control over threads scheduling[BLL88] and possibilities regarding the customization of threads synchronization[ALL89] or communication constructs[BALL90] Our research requires user level lightweight threads for two reasons: 1) to permit the customization of threads package functions to specific target applications, and (2) to ....

B. Bershad, E. Lazowska, and H. Levy. Presto: A system for object-oriented parallel programming. Software: Practice and Experience, 18(8):713--732, August 1988.


Experiments with Configurable Locks for Multiprocessors - Bodhisattwa Mukherjee Bodhi (1993)   (2 citations)  (Correct)

.... offer several representations of objects and object invocations to support the different degrees of coupling, task granularities, and invocation semantics existing in real time applications[GS93] Such experiences in the real time domain are mirrored by work in multiprocessor scheduling[CCLP83, BLL88] that demonstrates the importance of using application dependent information or algorithms while making scheduling decisions. Similarly, for scientific applications executing on distributed memory machines, the support of multiple semantics of task communication by low level operating system ....

....an extra memory write at registration time. Simple conditional locks result when the timeout parameter is set accordingly. A thread waiting for such a lock returns unsuccessfully if it cannot acquire the lock in a specified time. 5 Related Research Some of the notions introduced in PRESTO[BLLW88, BLL88] CHOICES[CJR87] and CHAOS[GS89a, GS93, GS89b, SGZ90b, SGZ90a] are somewhat similar to this work. PRESTO supports two kinds of synchronization primitives: spinlocks and synchronization objects. A synchronization object is made of a spinlock (spinlock implements the mutual exclusion) a queue ....

B. Bershad, E. Lazowska, and H. Levy. Presto: A system for object-oriented parallel programming. Software: Practice and Experience, 18(8):713--732, August 1988.


CDCS: computer assistance for development of object-oriented.. - Futo, Strausz   (Correct)

....within each process, since no sharing of sequential objects is possible. Therefore, all requests to the methods of a usual C object are also serialized. This eliminates the need for synchronization inside the methods of objects. Conclusions As mentioned above, concurrent C based systems[2 6], with the exception of ABC [1] are primarily thread packages and have not attempted to exploit the object oriented facilities of C for concurrency creation and control. These limitations can include limiting the number of inheritance level to one, explicitly managing threads through the use ....

B.Bershad, E.D. Lazowska, H.M.Levy, "PRESTO: A System for ObjectOriented Parallel Programming", Software - Practice and Experience 18, No.8, pp.713-132 (August 1988).


SOFTWARE---PRACTICE AND EXPERIENCE, VOL. 24(11), 981--999.. - Techniques For File   Self-citation (Lazowska)   (Correct)

No context found.

Brian N. Bershad, Edward D. Lazowska,and Henry M. Levy, `PRESTO: A system for object-oriented parallel programming', Software -- Practice and Experience, 18, (8), 713--732, (August 1988).


Toward Large-Scale Shared Memory - Multiprocessing John Bennett   (Correct)

No context found.

Brian N. Bershad, Edward D. Lazowska, and Henry M. Levy. PRESTO: A system for object-oriented parallel programming. Software---Practice and Experience, 18(8):713--732, August 19(


Experience With Distributed Smalltalk - John Bennett Department (1990)   (6 citations)  (Correct)

No context found.

Brian N. Bershad, Edward D. Lazowska, and Henry M. Levy. PRESTO: A System for Object-Oriented Parallel Programming. Technical Report 87-09-01, Department of Computer Science, University of Washington, Seattle, Washington 98195, September 1987.


AdaptiveSoftware Cache Managementfor - Distributed Shared Memory   (Correct)

No context found.

Brian N. Bershad, Edward D. Lazowska, and Henry M. Levy. PRESTO: A system for objectoriented parallel programming. Software--- PracticeandExperience, 18(8):713--732, August 1988. 9


Tools for the Development of Application-Specific - Virtual Memory Management   (Correct)

No context found.

Bershad, B., Lazowska, E., and Levy, H. PRESTO: A System for ObjectOriented Parallel Programming. Software---Practice and Experience, 18(8):713--732, August 1988.


Techniques for File System Simulation - Oct Ob Er   (Correct)

No context found.

Brian N. Bershad, Edward D. Lazowska, and Henry M. Levy. PRESTO: A system for object-oriented parallel programming. Software -- Practice and Experience, 18(8):713--732, August 1988.


Andrew S. Grimshaw - Department Of Computer   (Correct)

No context found.

B. N. Bershad, E. D. Lazowska, and H. M. Levy, "Presto: A System for Object-Oriented Parallel Programming, " Software - Practice and Experience, 18(8), pp. 713-732, August, 1988.


C++: Concurrency in the Object-oriented Language C++ - Buhr, Ditchfield.. (1992)   (2 citations)  (Correct)

No context found.

B. N. Bershad, E. D. Lazowska and H. M. Levy, `PRESTO: a system for object-oriented parallel programming', Software--Practice and Experience, 18, (8), 713--732 (1988).


PARC++: A Parallel C++ - Tödter, Hammer, Struckmann (1995)   (Correct)

No context found.

B. N. Bershad, E. D. Lazowska and H. M. Levy, `PRESTO: a system for object-oriented parallel programming', Software---Practice and Experience, 18, (8), 713--732 (1988).


EcliPSe: A System for High Performance Concurrent Simulation - Sunderam, Rego (1991)   (5 citations)  (Correct)

No context found.

B. Bershad, E. D. Lazowska and H. M. Levy, `PRESTO: a system for object-oriented parallel programming', Software---Practice and Experience, 18, 713--732 (1988).


Concurrent Object-Oriented Languages and the Inheritance Anomaly - Kafura, Lavender (1993)   (5 citations)  (Correct)

No context found.

B. Bershad and E. Lazowska and H. Levy. #Presto: A system for object-oriented parallel programming," Software: Practice and Experience, 18#8#, pp. 713#732, August 1988.


Cohesion : An Efficient Distributed Shared Memory System.. - De Ls   (Correct)

No context found.

Brian N. Bershad, Edward D. Lazowska, and Henry M. Levy. PRESTO : A system for object-oriented parallel programming. Software - Practice and Experience, 18(8), August 1988.


Designing Optimal Parallel Volume Rendering Algorithms - Wittenbrink (1993)   (1 citation)  (Correct)

No context found.

B. N. Bershad, et al. "PRESTO: A System for Object-Oriented Parallel Programming, " tech. rep. Dept. of Computer Science, University of Washington, Seattle, WA, Jan. 1988, tech rep. 87-09-01.

First 50 documents  Next 50

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC