Generative communication in Linda
ACM Transactions on Programming Languages and Systems (TOPLAS)
Communicating sequential processes
Communicating sequential processes
MULTILISP: a language for concurrent symbolic computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Parallel logic programming in PARLOG: the language and its implementation
Parallel logic programming in PARLOG: the language and its implementation
Object-oriented concurrent programming ABCL/1
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Programming in Occam 2
Portable programs for parallel processors
Portable programs for parallel processors
Pool-T: a parallel object-oriented language
Object-oriented concurrent programming
Communications of the ACM
Proceedings of the 1989 ACM/IEEE conference on Supercomputing
Lazy task creation: a technique for increasing the granularity of parallel programs
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Selected papers of the second workshop on Languages and compilers for parallel computing
A report on the Sisal language project
Journal of Parallel and Distributed Computing - Special issue: data-flow processing
PVM: a framework for parallel distributed computing
Concurrency: Practice and Experience
Munin: distributed shared memory based on type-specific memory coherence
PPOPP '90 Proceedings of the second ACM SIGPLAN symposium on Principles & practice of parallel programming
Strand: new concepts in parallel programming
Strand: new concepts in parallel programming
Implementation of non-strict functional programming languages
Implementation of non-strict functional programming languages
Virtual memory primitives for user programs
ASPLOS IV Proceedings of the fourth international conference on Architectural support for programming languages and operating systems
Coarse-grain parallel programming in Jade
PPOPP '91 Proceedings of the third ACM SIGPLAN symposium on Principles and practice of parallel programming
Orca: A Language for Parallel Programming of Distributed Systems
IEEE Transactions on Software Engineering
Fortran 90 explained
SPLASH: Stanford parallel applications for shared-memory
ACM SIGARCH Computer Architecture News
Journal of Parallel and Distributed Computing
The DASH prototype: implementation and performance
ISCA '92 Proceedings of the 19th annual international symposium on Computer architecture
Evaluating the basic performance of the Intel iPSC/860 parallel computer
Concurrency: Practice and Experience
The design and analysis of DASH: a scalable directory-based multiprocessor
The design and analysis of DASH: a scalable directory-based multiprocessor
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Higher-order concurrency
Cooperative shared memory: software and hardware for scalable multiprocessor
ASPLOS V Proceedings of the fifth international conference on Architectural support for programming languages and operating systems
Parallel hierarchical N-body methods
Parallel hierarchical N-body methods
Heterogeneous parallel programming in Jade
Proceedings of the 1992 ACM/IEEE conference on Supercomputing
Implementation of a portable nested data-parallel language
PPOPP '93 Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming
The shared regions approach to software cache coherence on multiprocessors
PPOPP '93 Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming
Data locality and load balancing in COOL
PPOPP '93 Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming
Exploiting the memory hierarchy in sequential and parallel sparse Cholesky factorization
Exploiting the memory hierarchy in sequential and parallel sparse Cholesky factorization
Parallel hierarchical N-body methods and their implications for multiprocessors
Parallel hierarchical N-body methods and their implications for multiprocessors
Parallel programming in Split-C
Proceedings of the 1993 ACM/IEEE conference on Supercomputing
Fine-grain access control for distributed shared memory
ASPLOS VI Proceedings of the sixth international conference on Architectural support for programming languages and operating systems
Cilk: an efficient multithreaded runtime system
PPOPP '95 Proceedings of the fifth ACM SIGPLAN symposium on Principles and practice of parallel programming
The design, implementation and evaluation of Jade: a portable, implicitly parallel programming language
The SPLASH-2 programs: characterization and methodological considerations
ISCA '95 Proceedings of the 22nd annual international symposium on Computer architecture
A comparison of architectural support for messaging in the TMC CM-5 and the Cray T3D
ISCA '95 Proceedings of the 22nd annual international symposium on Computer architecture
Empirical evaluation of the CRAY-T3D: a compiler perspective
ISCA '95 Proceedings of the 22nd annual international symposium on Computer architecture
Shasta: a low overhead, software-only approach for supporting fine-grain shared memory
Proceedings of the seventh international conference on Architectural support for programming languages and operating systems
Memory consistency models for shared-memory multiprocessors
Memory consistency models for shared-memory multiprocessors
Matrix computations (3rd ed.)
ICS '90 Proceedings of the 4th international conference on Supercomputing
Space and time efficient execution of parallel irregular computations
PPOPP '97 Proceedings of the sixth ACM SIGPLAN symposium on Principles and practice of parallel programming
Task Parallelism in a High Performance Fortran Framework
IEEE Parallel & Distributed Technology: Systems & Technology
FX-87 PERFORMANCE MEASUREMENTS: DATAFLOW IMPLEMENTATION
FX-87 PERFORMANCE MEASUREMENTS: DATAFLOW IMPLEMENTATION
Shared virtual memory on loosely coupled multiprocessors
Shared virtual memory on loosely coupled multiprocessors
Occam Programming Manual
Compiler Support for Scalable and Efficient Memory Systems
IEEE Transactions on Computers
Run-time support for distributed sharing in safe languages
ACM Transactions on Computer Systems (TOCS)
Eliminating synchronization bottlenecks using adaptive replication
ACM Transactions on Programming Languages and Systems (TOPLAS)
Analysis of Multithreaded Programs
SAS '01 Proceedings of the 8th International Symposium on Static Analysis
CC '01 Proceedings of the 10th International Conference on Compiler Construction
Run-Time Support for Distributed Sharing in Typed Languages
LCR '00 Selected Papers from the 5th International Workshop on Languages, Compilers, and Run-Time Systems for Scalable Computers
Computer algebra handbook
Weaves: a framework for reconfigurable programming
International Journal of Parallel Programming - Special issue: The next generation software program
Implicit parallelism with ordered transactions
Proceedings of the 12th ACM SIGPLAN symposium on Principles and practice of parallel programming
Simplifying cyber foraging for mobile devices
Proceedings of the 5th international conference on Mobile systems, applications and services
Software behavior oriented parallelization
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Reasoning about inherent parallelism in modern object-oriented languages
ACSC '08 Proceedings of the thirty-first Australasian conference on Computer science - Volume 74
Fine Grain Distributed Implementation of a Dataflow Language with Provable Performances
ICCS '07 Proceedings of the 7th international conference on Computational Science, Part II
Serialization sets: a dynamic dependence-based parallel execution model
Proceedings of the 14th ACM SIGPLAN symposium on Principles and practice of parallel programming
DMP: deterministic shared memory multiprocessing
Proceedings of the 14th international conference on Architectural support for programming languages and operating systems
Identifying Inter-task Communication in Shared Memory Programming Models
IWOMP '09 Proceedings of the 5th International Workshop on OpenMP: Evolving OpenMP in an Age of Extreme Parallelism
A Rule-Based Multi-agent System for Road Traffic Management
WI-IAT '09 Proceedings of the 2009 IEEE/WIC/ACM International Joint Conference on Web Intelligence and Intelligent Agent Technology - Volume 03
A type and effect system for deterministic parallel Java
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
CoreDet: a compiler and runtime system for deterministic multithreaded execution
Proceedings of the fifteenth edition of ASPLOS on Architectural support for programming languages and operating systems
Type systems for distributed data sharing
SAS'03 Proceedings of the 10th international conference on Static analysis
Memory models: a case for rethinking parallel languages and hardware
Communications of the ACM
A multi-agent system for managing adverse weather situations on the road network
Integrated Computer-Aided Engineering
Parallel programming must be deterministic by default
HotPar'09 Proceedings of the First USENIX conference on Hot topics in parallelism
Synchronization via scheduling: managing shared state in video games
HotPar'10 Proceedings of the 2nd USENIX conference on Hot topics in parallelism
Implicit invocation meets safe, implicit concurrency
GPCE '10 Proceedings of the ninth international conference on Generative programming and component engineering
Concurrency by modularity: design patterns, a case in point
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Reconciling concurrency and modularity with Panini's asynchronous typed events
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
CASES '10 Proceedings of the 2010 international conference on Compilers, architectures and synthesis for embedded systems
Building scalable software systems in the multicore era
Proceedings of the FSE/SDP workshop on Future of software engineering research
Deterministic process groups in dOS
OSDI'10 Proceedings of the 9th USENIX conference on Operating systems design and implementation
Safe nondeterminism in a deterministic-by-default parallel language
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
RCDC: a relaxed consistency deterministic computer
Proceedings of the sixteenth international conference on Architectural support for programming languages and operating systems
Verification of semantic commutativity conditions and inverse operations on linked data structures
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Synchronization via scheduling: techniques for efficiently managing shared state
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Deterministic OpenMP for race-free parallelism
HotPar'11 Proceedings of the 3rd USENIX conference on Hot topic in parallelism
Leveraging data-structure semantics for efficient algorithmic parallelism
Proceedings of the 8th ACM International Conference on Computing Frontiers
Safe parallel programming using dynamic dependence hints
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Composable, nestable, pessimistic atomic statements
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Exploiting parallelism in deterministic shared memory multiprocessing
Journal of Parallel and Distributed Computing
An implementation of the tile QR factorization for a GPU and multiple CPUs
PARA'10 Proceedings of the 10th international conference on Applied Parallel and Scientific Computing - Volume 2
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
The tasks with effects model for safe concurrency
Proceedings of the 18th ACM SIGPLAN symposium on Principles and practice of parallel programming
GPUDet: a deterministic GPU architecture
Proceedings of the eighteenth international conference on Architectural support for programming languages and operating systems
Proceedings of the 2nd ACM SIGPLAN workshop on Functional high-performance computing
Language support for dynamic, hierarchical data partitioning
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Alias control for deterministic parallelism
Aliasing in Object-Oriented Programming
Hi-index | 0.02 |
Jade is a portable, implicitly parallel 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 declare how parts of the program access data. The Jade implementation uses this data access information to automatically extract the concurrency and map the application onto the machine at hand. The resulting parallel execution preserves the semantics of the original serial program. We have implemented Jade as an extension to C, and Jade implementations exist for s hared-memory multiprocessors, homogeneous message-passing machines, and heterogeneous networks of workstations. In this atricle we discuss the design goals and decisions that determined the final form of Jade and present an overview of the Jade implementation. We also present our experience using Jade to implement several complete scientific and engineering applications. We use this experience to evaluate how the different Jade language features were used in practice and how well Jade as a whole supports the process of developing parallel applications. We find that the basic idea of preserving the serial semantics simplifies the program development process, and that the concept of using data access specifications to guide the parallelization offers significant advantages over more traditional control-based approaches. We also find that the Jade data model can interact poorly with concurrency patterns that write disjoint pieces of a single aggregate data structure, although this problem arises in only one of the applications.