Detecting stable properties of networks in concurrent logic programming languages
PODC '88 Proceedings of the seventh annual ACM Symposium on Principles of distributed computing
ACM Transactions on Programming Languages and Systems (TOPLAS)
Concurrent constraint programming
Concurrent constraint programming
Simple, fast, and practical non-blocking and blocking concurrent queue algorithms
PODC '96 Proceedings of the fifteenth annual ACM symposium on Principles of distributed computing
Co-array Fortran for parallel programming
ACM SIGPLAN Fortran Forum
Using MPI (2nd ed.): portable parallel programming with the message-passing interface
Using MPI (2nd ed.): portable parallel programming with the message-passing interface
Monitors: an operating system structuring concept
Communications of the ACM
Communications of the ACM
Proceedings of the 2001 joint ACM-ISCOPE conference on Java Grande
Featherweight Java: a minimal core calculus for Java and GJ
ACM Transactions on Programming Languages and Systems (TOPLAS)
Java Language Specification, Second Edition: The Java Series
Java Language Specification, Second Edition: The Java Series
Language support for lightweight transactions
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Atomizer: a dynamic atomicity checker for multithreaded programs
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Java programming for high-performance numerical computing
IBM Systems Journal
Composable memory transactions
Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming
X10: an object-oriented approach to non-uniform cluster computing
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Scheduling multithreaded computations by work stealing
SFCS '94 Proceedings of the 35th Annual Symposium on Foundations of Computer Science
Proceedings of the 12th ACM SIGPLAN symposium on Principles and practice of parallel programming
Featherweight X10: a core calculus for async-finish parallelism
Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
Distributed generalized dynamic barrier synchronization
ICDCN'11 Proceedings of the 12th international conference on Distributed computing and networking
Task-level analysis for a language with async/finish parallelism
Proceedings of the 2011 SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systems
A proof system for a PGAS language
Concurrency, Compositionality, and Correctness
Array dataflow analysis for polyhedral X10 programs
Proceedings of the 18th ACM SIGPLAN symposium on Principles and practice of parallel programming
Proceedings of the third ACM SIGPLAN X10 Workshop
Proceedings of the 19th ACM SIGPLAN symposium on Principles and practice of parallel programming
Resilient X10: efficient failure-aware programming
Proceedings of the 19th ACM SIGPLAN symposium on Principles and practice of parallel programming
GLB: lifeline-based global load balancing library in x10
Proceedings of the first workshop on Parallel programming for analytics applications
Hi-index | 0.00 |
We present the concurrency and distribution primitives of MediaObjects/InlineFigure1.png, a modern, statically typed, class-based object-oriented (OO) programming language, designed for high productivity programming of scalable applications on high-end machines. The basic move in the MediaObjects/InlineFigure2.png, programming model is to reify locality through a notion of place, which hosts multiple data items and activities that operate on them. Aggregate objects (such as arrays) may be distributed across multiple places. Activities may dynamically spawn new activities in mulitple places and sequence them through a finish operation that detects termination of activities. Atomicity is obtained through the use of atomic blocks. Activities may repeatedly detect quiescence of a data-dependent collection of (distributed) activities through a notion of clocks, generalizing barriers. Thus MediaObjects/InlineFigure3.png, has a handful of orthogonal constructs for space, time, sequencing and atomicity. MediaObjects/InlineFigure4.png, smoothly combines and generalizes the current dominant paradigms for shared memory computing and message passing. We present a bisimulation-based operational semantics for MediaObjects/InlineFigure5.png, building on the formal semantics for "Middleweight Java". We establish the central theorem of MediaObjects/InlineFigure6.png,: programs without conditional atomic blocks do not deadlock.