| S. Murer, J. A. Feldman, C. Lim, and M. Seidel. pSather: Layered extensions to an object-oriented language for efficient parallel computation. Technical Report TR-93-028, International Computer Science Institute, Berkeley, CA, 1993. |
.... without handling the exception or passing it on to an outer block that can handle it; this policy was chosen to prevent the problems that would result if the exception was passed to a parent task asynchronously [9] The designers of pSather chose to forbid exceptions in a concurrent context [5] [11] [14] These solutions deny concurrent programmers the expressive and robustness benefits of exceptions. Programmers should be able to use exceptions in concurrent constructs as they would normally in the programming language, and be able to reason about their behavior. A good semantics for ....
S. Murer, J. A. Feldman, C. Lim, and M. Seidel. pSather: Layered extensions to an object-oriented language for efficient parallel computation. Technical Report TR-93-028, International Computer Science Institute, Berkeley, CA, 1993.
.... without handling the exception or passing it on to an outer block that can handle it; this policy was chosen to prevent the problems that would result if an exception were passed to a parent task asynchronously [12] The designers of pSather chose to forbid exceptions in a concurrent context [13] [14]. These solutions deny concurrent programmers the expressive and robustness benefits of exceptions. Programmers should be able to use exceptions in concurrent constructs as they would normally in the programming language, and be able to reason about their behavior. A good semantics for uncaught ....
S. Murer, J. A. Feldman, C. Lim, and M. Seidel. pSather: Layered extensions to an objectoriented language for e#cient parallel computation. Technical Report TR-93-028, International Computer Science Institute, Berkeley, CA, 1993.
.... without handling the exception or passing it on to an outer block that can handle it; this policy was chosen to prevent the problems that would result if the exception was passed to a parent task asynchronously [6] The designers of pSather chose to forbid exceptions in a concurrent context [7] [8] [9] These solutions deny concurrent programmers the expressive and robustness bene ts of exceptions. Programmers should be able to use exceptions in concurrent constructs as they would normally in the programming language, and be able to reason about their behavior. A good semantics for ....
Murer, S., Feldman, J.A., Lim, C., Seidel, M.: pSather: Layered extensions to an object-oriented language for ecient parallel computation. Technical Report TR-93-028, International Computer Science Institute, Berkeley, CA (1993)
....the management of complex and large software systems can be made easier by employing OOP. I will now examine in more depth the object oriented counterparts of each of the concepts summarized above. Concurrency There are 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 ....
....in sequential OOP: the sender is suspended for the duration of processing. In concurrent OOP, asynchronous messages might also be available (both can be mutually modeled, as shown by America [3] In distributed environments one may have to specify the location of the recipient (e.g. pSather [21]) or it may be transparent (e.g. Emerald [14] The conversions to message representation implied by the transmission of messages in a heterogeneous distributed environment are not explicitly supported in any OOPL I know of. In other words, distributed OOP systems are usually closed by nature. ....
Murer S., Feldman J.A., Lim C.: pSather: Layered Extensions to an Object-Oriented Language for Efficient Parallel Computation. International Computer Science Institute, Report TR-93-028, 1993.
....entities (shortly just peers) and vertical concurrency within layer entities of a protocol stack, although the latter form is often just conceptual, as components of the stack may run on a single processor. There are 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 ....
....synchronous in sequential object oriented programming: the sender is suspended for the duration of processing. In concurrent object oriented programming, asynchronous messages might also be available. In distributed environments one may have to specify the location of the recipient (e.g. pSather [MFL93]) or it may be transparent (e.g. Emerald [JLH88] The conversions to message content implied by the transmission of messages in a heterogeneous distributed environment are not explicitly supported in any object oriented programming language we know of. In other words, distributed object oriented ....
Murer S., Feldman J.A., Lim C.: pSather: Layered Extensions to an Object-Oriented Language for Efficient Parallel Computation. International Computer Science Institute, Report TR-93-028, 1993.
....idea presented in this paper is to exploit properties of strongly typed object oriented languages. Since the programming language Sather[7, 8] has a clear, clean, and elegant type system, it is used as basis for the further explanation. This section essentially is a brief summary of [7, 8] and [6]. Section 2.1 is, for the most part, taken literally from the Sather report[8] 2.1 Sather Data structures in Sather are constructed from objects. Each object has a unique type which defines the operations which may be performed on it. Each Sather variable has a declared type which determines ....
....for massively parallel computers. Two features of pSather are of interest to this paper, namely threads and the notion of object location. To avoid confusion, it must be pointed out that the Sather language extensions described in section 3 deviate from pSather, as defined by the current report[6]. Serial) Sather extended with threads and the notion of location as found in pSather, and extended with few other features is used as the substrate to explain the contribution of this paper. Threads Each routine can be called either synchronously, i.e. the caller awaits its completion, or ....
S. Murer, J. Feldman, Chu-Cheow Lim, and Martina-Maria Seidel. psather: Layered extensions to an object-oriented language for efficient parallel computation. Technical Report TR-93-028, ICSI, Dec 1993.
....technology motivates implementing a COOP language by extending an existing sequential object oriented language, such as C or Smalltalk, with a notion of process or thread. In particular, given the popularity and portability of C ,a number of COOP languages based on C have proliferated [23, 69, 47, 73, 27, 87, 86, 95]. We describe a few examples below. Compositional C (CC ) 69] extends C with a number of abstractions for process creation and synchronization. Synchronization is done via special shared variables. COOL [27] is targeted for shared memory multiprocessors. Invocation of a parallel function ....
....ones; programmers are required to specify what classes are to be executed in parallel. Mentat objects map one to one onto processes in a virtual machine. By contrast, Charm requires programmers take the responsibility of mapping of objects onto processing nodes. pC [87] C [86] and pSather [95] are all C based COOP languages which are designed to support data parallelism. They differ in how to initiate data parallel execution. CST [61, 38] and DistributedConcurrentSmalltalk (DCS) 96] are two of many COOP languages which extended Smalltalk 80 [43] CST supports concurrency using ....
S. Murer, J.A. Feldman, C.-C. Lim, and M.-M. Seidel. pSather: Layered Extensions to an ObjectOriented Language for Efficient parallel Computation. Technical Report TR-93-028, ISCI, December 1993.
....hierarchical abstractions into programming languages. The Cedar Fortran language [35] included storage classes and looping constructs to express multiple levels of parallelism and locality for the Cedar machine. The pSather language is based on a cluster machine model for specifying locality [36], and implements a twolevel shared address space in the framework of a concurrent object oriented model. Bader and J aJ a have developed SIMPLE [37] a set of collective communication operations for SMP clusters. SIMPLE provides more general, lower level primitives than KeLP, such as reductions ....
S.Murer, J.Feldman, C.-C. Lim, and M.-M. Seidel, pSather: Layered Extensions to an ObjectOriented Language for Efficient Parallel Computation, Tech. Report TR-93-028, Computer Science Division, U.C. Berkeley, Dec. 1993.
....of target machines. We therefore refer to optimization techniques to get both: high level parallel programs and efficient code on parallel architectures. 1 Introduction parSather is a parallel, object oriented, imperative language. It is based on Sather [Omo93] Sather K [Goo93] and pSather [MFL93]. Sather itself has its origin in Eiffel [Mey88] and was developed as a kernel object oriented. Hence, we add as few language features as necessary to make parallel programming possible and to keep the language simple. In the following sections we introduce language features for defining control ....
S. Murer, A. J. Feldman, and C.-C. Lim. pSather: Layered extension to an object-oriented language for efficient parallel computation. Report of ICSI Berceley, CA, june 1993.
....debugging even for parallel programs. The primary goal is to allow for deterministic replay, i.e. for identically reexecuting a previous program run, especially an erroneous one. This paper deals with our current workon a debugger for the parallel object oriented programming language pSather [11]. For the reasons mentioned above, we have decided to develop a tool similar to sequential debuggers, thus providing for cyclic debugging. In this paper, the following familiar key concepts of sequential debuggers are discussed for a parallel pSather debugger: ffl Deterministic replay ffl ....
....we discuss breakpoint and singlestepping issues outlined above. The paper concludes with an outlook on further debugging aspects not completed so far. 2 pSather This section lists aspects and features of pSather which are crucial for cyclic debugging. For a full description of pSather see [11]. Objects in pSather are passive, whereas threads are the loci of control. Threads are not first class objects, they are independent of any object and managed by the system (e.g. the scheduler) Objects consist of attributes and methods which can be declared private. Methods can be started ....
S. Murer, J. A. Feldman, and C.-C. Lim. pSather: Layered extension to an object-oriented language for efficient parallel computation. Technical Report TR-93-028, International Computer Science Institute, Berkeley, California, Dec. 1993.
....for users. Compilers and tools must be developed which is costly and takes time. Only a small number of languages had a real chance to become popular. Users accept new languages only if new qualities come with the language. Object oriented languages like Emerald, Sather pSather, Parasol, or SINA [2, 6, 14, 29] are examples for scientific developments. In contrast, Java is on a good way becoming widely accepted and used. It is more easier extending EM of existing languages than designing new ones. This was extensively done with C which is an established language and thus attractive for researchers. ....
Feldman, J.A., Murer, S., and Lim, C.C. pSather: Layered Extensions to an Object-Oriented Language for Efficient Parallel Computation. Technical report, Technical Report TR-93-028, International Computer Science Institute, Berkeley, California, USA, June 1993.
....(x 3.4) non binding concurrency, implicit thread granularity p p p p p Robust messaging (x 3.5) global object space p p p p Thread scheduling for load balance (x 3.5) non binding concurrency p p Table 3. Runtime optimizations contributing to good parallel performance. Actor based languages [1, 20, 42, 29] are most similar in terms of high level programming support, but have focused less [39, 27] on efficient implementation. Task parallel object oriented languages, mostly based on C extensions [16, 23, 6] support irregular parallelism and some location independence, but require programmer ....
S. Murer, J. A. Feldman, C.-C. Lim, and M.-M. Seidel. pSather: Layered extensions to an object-oriented language for efficient parallel computation. Technical Report TR93 -028, International Computer Science Institute, Berkeley, CA, June 1993 Nov. 1993.
....computation to make it work more effectively on workstation clusters. These include dpSather [Sch92] Dino [RSW91] DataParallel C [HQ92] C [LRV92] and many others. These systems all restrict the use of parallel data structures to arrays, and lack support for general purpose computing. PSather [MFL93] provides support for parallelism in a fashion that resembles data parallelism, and can be used to build nested, data parallel data structures in terms of a non uniform memory access distributed shared memory. However, it does not provide compiler support for analyzing and optimizing those ....
S. Murer, J. Feldman, and C. Lim. psather: Layered extensions to an object-oriented language for efficient parallel computation. Technical report, ICSI, University of California at Berkeley, 1993.
....It is clear that future developments in parallel distributed systems will make use of the structure and benefits of object orientation. Already, there are many languages and systems which merge the two technologies, for example, Concurrent C [4] POOL[1] CORBA[12] Java[6] and pSather[11]. Many would agree that the use of object oriented programming techniques represents a step forward in reliable system development. Meyer[9] states that object oriented design has the potential for significantly improving the quality of software, and that it is here to stay. However, the body of ....
Stephen Murer, Jerome Feldman, Chu-Cheow Lim, and Martina-Maria Seidel. pSather: Layered extensions to an object-oriented language for efficient parallel computation. Technical Report TR-93-028, ICSI and Computer Science Division, U.C. Berkley, December 1993.
....effect. The process continues execution and any notification of the lost exception is left up to the programmer to explicitly implement, as is the case with C [5] Ada 95[1] and Java[7] However, other differing and perhaps more extreme implementations also exist. In Modula 3[8] and pSather[17], if an exception is not handled within a thread, the entire program terminates. In the case of asynchronous exceptions in RIDL, once an exception occurs the caller may be contacted, or indeed interrupted, immediately. In this event, the danger of course is that the interrupted thread or process ....
Stephen Murer, Jerome Feldman, Chu-Cheow Lim, and Martina-Maria Seidel. pSather: Layered extensions to an object-oriented language for efficient parallel computation. Technical Report TR-93-028, ICSI and Computer Science Division, U.C. Berkley, December 1993.
.... structures or coarser grained architectures by relaxing these assumptions while preserving the basic concepts of data parallel programming[22, 29, 28, 9, 16] or by providing constructs which will allow programmers to implement data parallel programs, while not explicitly supporting data parallelism[10, 24, 13] . For example, a more loosely synchronous data parallelism can be achieved through the SPMD [21] approach in which the data is distributed over the memories of the individual processors and each processor executes the same program. However, these languages, while successfully allowing programmers ....
Stephan Murer, Jerome Feldman, and Chu-Cheow Lim. pSather: Layered extensions to an objectoriented language for efficient parallel computation. Technical Report TR-93-029, ICSI/CSD, University of California at Berkeley, 1993.
....the sequential codes on a network cluster. Current approaches to parallel programming for network clusters can be divided into explicit message passing [AH92, Chi92, GKSK94, JH93, SGDM94, MPI94] coarse grain data parallel[LRV92, RSW91, Ble90, Sch92] and distributed shared memory systems[CG90, MFL93] Explicit message passing and distributed shared memory systems are both difficult to use for complex data structures in general purpose applications, since they do not provide any explicit support for the design and implementation of parallel data structures. Data parallelism has become the ....
Stephan Murer, Jerome Feldman, and Chu-Cheow Lim. pSather: Layered extensions to an object-oriented language for efficient parallel computation. Technical Report TR-93-029, ICSI/Computer Science Division, University of California at Berkeley, June 1993.
No context found.
S. Murer, J. Feldman, and C. C. Lim, "pSather: Layered Extensions to an Object-Oriented Language for Efficient Parallel Computation", Technical Report TR-93-028, International Computer Science Institute, Berkeley, Ca., June 1993.
....a into b (stopping at the end of the shorter of the two) loop b.set (a.elt ) end To compute the sum of the products of the elements of two such arrays: loop x: sum (a.elt b. elt ) end Other examples providing set and elt composition iterators include sparse and distributed (cf. pSather [Murer et al. 1993]) arrays with complex underlying data structures. Although there are routines to access and write each element separately, the knowledge that a whole set of contiguous elements is to be written allows for a 6 Delta Stephan Murer et al. much more efficient implementation of the corresponding ....
Murer, S., Feldman, J. A., Lim, C.-C., and Seidel, M.-M. 1993. pSather: Layered extensions to an object-oriented language for efficient parallel computation. Tech. Rep. TR-93-028 (December), International Computer Science Institute.
....the shorter of the two) loop b.set (a.elt ) end To compute the sum of the products of the elements of two such arrays we use loop x: sum (a.elt b. elt ) end 6 Delta Stephan Murer et al. Other examples providing set and elt composition iterators include sparse and distributed (cf. pSather [Murer et al. 1993]) arrays with complex underlying data structures. Although there are routines to access and write each element separately, the knowledge that a whole set of contiguous elements is to be written allows for a much more efficient implementation of the corresponding iterators compared to the ....
Murer, S., Feldman, J. A., Lim, C.-C., and Seidel, M.-M. 1993. pSather: Layered extensions to an object-oriented language for efficient parallel computation. Tech. Rep. TR-93-028, International Computer Science Institute, Berkeley, Calif.
No context found.
S. Murer, J. Feldman, C. Lim, "pSather: Layered Extensions to an Object-Oriented Language for Efficient Parallel Computation", International Computer Science Institute technical report TR-93-028 June 1993. Available at http://www.icsi.berkeley.edu/Sather.
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