41 citations found. Retrieving documents...
RINARD, M. C., SCALES, D. J., AND LAM, M. S. Jade: A high-level, machine-independent language for parallel programming. IEEE Computer 26, 6 (1993), 28--38.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents

High Level Support for Distributed High Performance Computing - Laure (2001)   (Correct)

....which is employed in multithreading systems is to protect accesses to shared data with appropriate mutex variables. This approach is taken in pthreads [114] where the user has to deal with mutex variables explicitly, as well as in Java [7] where an implicit mutex is provided for any object. Jade [164] takes a different approach in not protecting the data directly, but forcing the user to specify all accesses to shared data; the compiler then inserts the required protection based on these access specifications. In Opus we take a higher level approach and relieve the user from dealing with ....

M. Rinard, D. Scales, and M. Lam. Jade: A High-Level, Machine-Independent Language for Parallel Programming. IEEE Computer, 26(6):28--38, June 1993.


Executing Multithreaded Programs Efficiently - Blumofe (1995)   (12 citations)  (Correct)

....in some of these other systems, though Cilk s algorithm uses randomness and is provably efficient. Many multithreaded programming languages and runtime systems are based on heuristic scheduling techniques. Though systems such as Charm [91] COOL [27, 28] Id [3, 37, 80] Olden [22] and others [29, 31, 38, 44, 54, 55, 63, 88, 98] are based on sound heuristics that seem to perform well in practice and generally have wider applicability than Cilk, none are able to provide any sort of performance guarantee or accurate machine independent performance model. These systems require that performance minded programmers become ....

Martin C. Rinard, Daniel J. Scales, and Monica S. Lam. Jade: A high-level, machineindependent language for parallel programming. Computer, 26(6):28--38, June 1993.


Low-Contention Depth-First Scheduling of Parallel Computations.. - Fatourou (2001)   (1 citation)  (Correct)

....of ffl as small as e GammaT 1 , the space complexity of our algorithm is at most S1 O(PT1 log(PT1 ) with probability at least 1 Gamma e GammaT 1 . These bounds include all time and space costs for both the computation and the scheduler. 1 Introduction Many parallel programming languages [3, 7, 11, 12, 14, 18, 20, 22, 28] support dynamic threads. The multithreaded model of parallel computation is a general approach to model This work was done while the author was affiliated with the MaxPlanck Institute fur Informatik, Saarbrucken, Germany and was partially supported by the IST Programme of the European Union under ....

....the nested parallel or fully strict computations, where threads synchronize only with their parents. These last classes of computations do not include e.g. parallel programs using futures [11, 20, 22] lenient or speculative evaluation [2] or general user specified synchronization constraints [28], which can be implemented using write once synchronization variables [6] Our algorithm is randomized and employs the work stealing paradigm, combined with the depth first technique. The algorithm not only exhibits the good space complexity of depth first schedulers, but also has good scheduling ....

[Article contains additional citation context not shown here]

M. Rinard, D. Scales, and M. Lam. Jade: A highlevel, machine-independent language for parallel programming. IEEE Computer, 26(6):28--38, June 1993.


Attributes of Molecular Dynamics Calculations: Accounting for CPU.. - Clark (1997)   (Correct)

.... dynamics is often used to evaluate computing systems, placing it in benchmark suites such as SPEC (System Performance and Evaluation Cooperative) and SPLASH [28] As a benchmark, MD is often used alongside other applications to evaluate computer architectures [18, 26, 32] languages and compilers [7, 13, 17, 25], and software systems [10] Efforts to improve molecular dynamics performance include sequential algorithms addressing the pairlist calculation [1, 22, 30] and numerous vectorization [3, 14, 15, 29] and parallelization efforts [4, 5, 6, 11, 12, 23] A common application of a benchmark uses ....

M.C. Rinard, D.J. Scales, and M.S. Lam. Jade: a high-level, machine-independent language for parallel programming. IEEE Computer, 26(6):28--38, June 1993.


Annotating Spar/Java for data-parallel programming - van Reeuwijk, Kuijlman.. (2000)   (Correct)

....However, even the current results show that the performance and scalability of the Spar version matches the HPF and even the F77 MPI version quite closely. 10 Related work Although several attempts have been made to de ne a proper model for capturing semi implicit parallelism in languages [6, 8, 10, 17], success has been limited due to limitations in expressibility, parallel constructs being too explicit, limitations in automatic analysis [11] or incorporation into languages such as Fortran which are less suited to embedded systems programming. The most successful of these attempts is HPF, ....

M.C. Rinard, D.J. Scales, and M.S. Lam. A high-level, machine independent language for parallel programming. Computer, pages 28-38, June 1993.


Code generation techniques for the task-parallel.. - Kuijlman, van..   (Correct)

.... such as Fortran through compile time dependence analysis, thus providing portability [13] Due to the inherent limitations of this analysis, however, parallelizability is typically restricted to regular cases [10] To alleviate these detection problems, language extensions such as in Jade [15] and Fx [9] have been proposed that aid the compiler in analyzing the program. As a compromise, data parallel languages such as HPF [6] extend the implicit parallel paradigm by offering data mapping annotations that induce data parallelism. To express task based parallelism extensions such as ....

M.C. Rinard, D.J. Scales, and M.S. Lam. Jade: A high-level, machine-independent language for parallel programming. Computer, pages 28--38, June 1993.


Optimizing Atomic Functions using Compile-Time Information - Rühl, Bal (1995)   (Correct)

....fewer messages. This result is quite surprising since the function in Orca is not executed atomically. This good performance of our new algorithm is due to the compiler and RTS optimizations. 8 Related work Our work is related to the work on the programming languages Mentat [8] and Jade [13], which also depend on dynamic data dependency evaluation. The Mentat compiler generates code that performs asynchronous object invocations, and adds explicit resolve calls when results are needed. Pending operation results can be passed as arguments, which is not possible on our system. ....

Martin C. Rinard, Daniel J. Scales, and Monica S. Lam. Jade: A high-level, machine-independent language for parallel programming. IEEE Computer, 26(6):28--38, June 1993.


Scoped Behaviour for Optimized Distributed Data Sharing - Lu (2000)   (Correct)

.... For example, the DASH multiprocessor [Lenoski et al. 1992] has influenced the support for locality optimizations in the Concurrent Object Oriented Language (COOL) Chandra et al. 1994] Other programming environments exist for DASH (e.g. the ANL parallel macros [Boyle et al. 1987] and Jade [Rinard et al. 1993]) and other cache coherent sharedmemory multiprocessors have also been built (e.g. Alewife [Agarwal et al. 1995] and NUMAchine [Abdelrahman et al. 1994] but we focus on DASH and COOL as an interesting and representative case study. DASH is a cache coherent shared memory parallel computer ....

M.C. Rinard, D.J. Scales, and M.S. Lam. Jade: A High-Level, Machine-Independent Language for Parallel Programming. IEEE Computer, 26(6), June 1993. BIBLIOGRAPHY 191


Jackal, A Compiler Based Implementation of Java for.. - Veldema, Bhoedjang, Bal   (Correct)

....this time to aid the compiler s optimizer. With other software DSMs, accesses to shared data somehow must be delimited, which implies that the programmer must decide in an early stage of program development which data structures will be shared. Objectbased DSMs, such as Orca [2] CRL [7] and Jade [13] require the programmer to explicitly code which data items are to be shared and to encapsulate their uses by special function calls or annotations (e.g. start readdata and end read data in CRL [7] A promising approach is fine grained DSM, which provides a global (flat) address space, ....

M.C. Rinard, D.J. Scales, and M.S. Lam. Jade: A High-Level, Machine-Independent Language for Parallel Programming. IEEE Computer, 26(6):28--38, June 1993.


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

.... languages like High Performance Fortran [31] and 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 ....

....for distributed memory machines) In these models there is no restriction on the pattern of synchronization that occurs during the execution of the computation. The model of parallelism with simple synchronization primitives 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 ....

[Article contains additional citation context not shown here]

M. Rinard, D. Scales and M. Lam, \Jade: A high-level, machine-independent language for parallel programming," IEEE Computer, 26(6):28-38, June 1993.


An Overview of the RAPID Run-time System for Parallel.. - Tao Yang And   (Correct)

....It makes use of graph transformation and scheduling techniques, and an efficient task communication protocol. The design of library functions is based on three concepts: distributed shared data objects, tasks and access specifications. Similar concepts have been proposed in JADE system [RSL93] which extracts task dependence and schedules tasks dynamically. Such an approach has a flexibility to handle problems with adaptive structures; however, it is still an open problem to balance the benefits of such flexibility and run time control overhead in parallelizing applications such as ....

M. Rinard, D. Scales, and M. Lam. Jade: A High-level, Machine-independent Language for Parallel Programming. Computer, 26(6):245--256, June 1993.


Bridging the Gap between Distributed Shared Memory and Message.. - Karl (1998)   (7 citations)  (Correct)

....not allow access to low level system concepts such as memory pages and memory protection, all software solutions are more relevant. A number of such systems have been proposed; examples include object based systems like Orca [1] and Aurora [11] or Cbased systems like CRL [10] and Cid [12] or Jade [14]. Aurora is an object based system where the programmer can select different consistency models for a shared object dynamically at runtime by annotating the C source code with corresponding function calls. Orca on the other hand defines an own language for a shared dataobjects model. In Orca, ....

M. C. Rinard, D. J. Scales, and M. S. Lam. Jade: A High-Level, Machine-Independent Language for Parallel Programming. IEEE Computer, 1993.


ParBlocks - A new Methodology for Specifying Concurrent Method.. - Laure (1999)   (Correct)

....we briefly review some existing approaches for specifying concurrent method executions below. Focus is hereby laid on high level synchronization mechanisms; techniques such as the use of mutexes and condition variables or the direct specification of data accesses (that can e.g. be found in Jade [12]) are beyond our scope. Java [6] The Java multithreading model allows all methods of an object to execute in parallel unless they are explicitly synchronized. This means that the user has to ensure a correct program behavior by either synchronizing methods or code regions. Although the ....

M.C. Rinard, D.J. Scales, and M.S. Lam. Jade: A High-Level, Machine-Independent Language for Parallel Programming. IEEE Computer, June 1993.


A Flexible Operation Execution Model for Shared Distributed .. - Hassen, Athanasiu, Bal (1996)   (7 citations)  (Correct)

....frequently in distributed operating systems that are based on the client server model [31] and in many concurrent object oriented languages. More complicated methods are also used to implement shared objects efficiently. Several systems replicate shared objects to reduce the communication overhead [4, 22, 24]. Other systems partition objects over multiple machines and execute operations on these partitions in a dataparallel way [12, 33] In addition to the three different representation schemes (single copy, replication, partitioning) many different execution strategies exist for operations on ....

....the master copy of the partition resides. Some partitions may be replicated and may be implemented using either an update or an invalidation protocol. Partitions can be accessed sequentially or in parallel. Single copy and replicated shared objects have been extensively covered in the literature [2, 3, 4, 14, 22, 24]. The model we use is based on that of Orca. With this model, an ADT operation is always applied to a single object (consequently, calls to shared objects may not be nested) This simple model is general enough for the majority of parallel applications. Several people have implemented a large ....

[Article contains additional citation context not shown here]

M.C. Rinard, D.J. Scales, and M.S. Lam. Jade: A high-level, machine independent language for parallel programming. IEEE computer, June 1993.


Space-Efficient Scheduling of Parallelism with.. - Blelloch, Gibbons, .. (1997)   (13 citations)  (Correct)

....synchronize with their sibling or ancestor threads. Although this is a reasonably general class, it does not include languages based on futures [23, 27, 12, 14, 13] languages based on lenient or speculative evaluation [1, 32] or languages with general user specified synchronization constraints [33]. In this paper we show how to extend the results to support synchronization based on write once synchronization variables. A write once synchronization variable is a variable (memory location) that can be written by one thread and read by any number of other threads. If it is read before it is ....

.... variables can be used to implement futures in such languages as Multilisp [23] Mul T [27] Cool [14] and olden [13] I structures in ID [1] events in PCF [38] streams in sisal [18] and are likely to be helpful in implementing the user specified synchronization constraints in Jade [33]. We model computations that use synchronization variables as directed acyclic graphs (dags) in which each node is a unit time action and each edge represents either a control or data dependence between actions. The work of a computation is then measured as the number of nodes in the dag and the ....

M. C. Rinard, D. J. Scales, and M. S. Lam. Jade: A high-level, machine-independent language for parallel programming. IEEE Computer, June 1993.


Experimental Evaluation of Coir: A System for Control and.. - Sundaresan, Gannon   (Correct)

.... like C or Eiffel address task parallelism; pSather[18] which is based on a monitor model for NUMA machines and supports Eiffellike syntax) Mentat[10] which is based on a coarse grain data driven model and heavy weight threads, with extensions to C ) Jade with shared object abstractions[19]. Charm [14] which is based on message driven model, with C extensions) are a few of them. 7 Conclusions We have proposed and implemented a model for supporting task and data parallelism in objectoriented parallel languages using light weight threads. In this paper, we showed how, using ....

M Rinard, D Scales, and M Lam. Jade: A High-Level, Machine-Independent Language for Parallel Programming. IEEE Computer, 26(6):28--38, June 1993.


Efficient Remote Method Invocation - Veldema, van Nieuwpoort, Maassen.. (1998)   (6 citations)  (Correct)

....level. Lessons learned from the implementation of other languages for cluster computing were found to be quite useful. These implementations are built around user level communication primitives, such as Active Messages [29] Examples are Concert [12] CRL [11] Orca [1, 2] Split C [8] and Jade [24]. Optimistic Active Messages is described in [31] The heart of Manta s RTS is based on our experience with fast marshaling and dispatch. Much of this experience has been gathered while porting the Orca system to Myrinet [2] 3 Categories of Overhead in RMI RMI was designed for distributed ....

M. C. Rinard, D. J. Scales, and M. S. Lam. Jade: A high-level, machineindependent language for parallel programming. IEEE Computer, 26(6):28--38, June 1993.


Parallelizing Unstructured Sparse Matrix Computations On.. - Venugopal (1993)   (Correct)

....for parallelizing loops with indirections and pointers. In this approach, the scheduler itself is generated by the compiler with run time support, while Saltz s approach used in Parti is purely run time, with the scheduling code being composed of hand written run time library routines. Jade [58] is a high level, implicitly parallel language designed for coarse grain, tasklevel concurrency. To parallelize an application, the programmer has to specify a decomposition of data into atomic units, a decomposition of the sequential program into tasks and a description of how each task will ....

M. C. Rinard, D. J. Scales, and M. S. Lam. Jade: A high-level, machineindependent language for parallel programming. IEEE Computer, 26(6):28--38, 1993.


Efficient Data Parallel Implementations of Highly Irregular Problems - Hu (1997)   (Correct)

....are spawned at the level of functional tasks or at the level of loop iterations. The shared memory programming model is directly supported by the hardware on CC NUMA architectures, but can also be supported on distributed memory architectures through run time systems [SL94] or compilers [RSL93] The Data Parallel Programming Model The data parallel programming model is supported by data parallel languages such as High Performance Fortran (HPF) Hig93, Hig96] Programs are generally written in Fortran 90 to specify computations, and use data mapping directives to specify how large ....

Martin C. Rinard, Daniel J. Scales, and Monica S. Lam. Jade: a high--level, machine independent language for parallel programming. Computer, June 1993.


An Efficient Shared Memory Layer for Distributed Memory Machines - Scales, Lam (1994)   (3 citations)  Self-citation (Scales Lam)   (Correct)

....Some runs have superlinear speedup, but this happens less often than with [8] because our serial times are already quite good. Finally, our implementation runs immediately on the iPSC 860, Paragon, and SP1, as well as the CM 5. 3. 4 Implementation of the Jade Language Using SAM Jade [18] is a parallel programming language for exploiting coarse grain concurrency in sequential, imperative programs. Jade provides the convenience of a shared memory model by allowing any task to access shared objects transparently. Jade programmers augment their sequential programs with constructs ....

Martin C. Rinard, Daniel J. Scales, and Monica. S. Lam. Jade: A High-Level, Machine-Independent Language for Parallel Programming. IEEE Computer, 26(6):28--38, June 1993.


Locality Optimizations for Parallel Computing Using Data Access.. - Rinard   Self-citation (Rinard)   (Correct)

....of the computation by executing tasks close to the data that they will access can improve the communication behavior of the program by reducing the amount of remote data that tasks access. This paper describes our experience automatically applying locality optimizations in the context of Jade [10, 11], a portable, implicitly parallel programming language designed for exploiting task level concurrency. Jade programmers start with a program written in a standard serial, imperative language, then use Jade constructs to describe how parts of the program access data. The Jade implementation ....

....4 we describe the Jade applications. In Section 5 we present the performance results. In Section 6 we survey related work; we conclude in Section 7. 2. The Jade Programming Language. This section provides a brief overview of the Jade language; other publications contain a complete description [8, 9, 11]. Jade is a set of constructs that programmers use to describe how a program written in a sequential, imperative language accesses data. It is possible to implement Jade as an extension to an existing base language; this approach preserves much of the language specific investment in programmer ....

M. Rinard, D. Scales, and M. Lam. Jade: a high-level, machine-independent language for parallel programming. Computer, 26(6):28--38, June 1993.


Safe Futures for Java - Welc, Jagannathan, Hosking   (Correct)

No context found.

RINARD, M. C., SCALES, D. J., AND LAM, M. S. Jade: A high-level, machine-independent language for parallel programming. IEEE Computer 26, 6 (1993), 28--38.


Unknown - Symbolic Parallel Programming   (Correct)

No context found.

Martic C. Rinard, Daniel J. Scales, and Monica S. Lam. Jade: A highlevel, machine-independent language for parallel programming. IEEE Computer, 26(6):28--38, June 1993.


Parallel and Distributed Systems Report Series - Code Generation Techniques (1998)   (Correct)

No context found.

M.C. Rinard, D.J. Scales, and M.S. Lam. Jade: A high-level, machine-independent language for parallel programming. Computer, pages 28--38, June 1993.


Parallel and Distributed Systems Report Series - Code Generation Techniques   (Correct)

No context found.

M.C. Rinard, D.J. Scales, and M.S. Lam. Jade: A high-level, machine-independent language for parallel programming. Computer, pages 28--38, June 1993.

First 50 documents

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