Synchronization using counting semaphores
ICS '88 Proceedings of the 2nd international conference on Supercomputing
The fuzzy barrier: a mechanism for high speed synchronization of processors
ASPLOS III Proceedings of the third international conference on Architectural support for programming languages and operating systems
Transactional memory: architectural support for lock-free data structures
ISCA '93 Proceedings of the 20th annual international symposium on computer architecture
Cilk: an efficient multithreaded runtime system
PPOPP '95 Proceedings of the fifth ACM SIGPLAN symposium on Principles and practice of parallel programming
Titanium Language Reference Manual
Titanium Language Reference Manual
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
Deadlock-free scheduling of X10 computations with bounded resources
Proceedings of the nineteenth annual ACM symposium on Parallel algorithms and architectures
Productivity and performance using partitioned global address space languages
Proceedings of the 2007 international workshop on Parallel symbolic computation
Actors in a new "highly parallel" world
Proceedings of the Warm Up Workshop for ACM/IEEE ICSE 2010
Chunking parallel loops in the presence of synchronization
Proceedings of the 23rd international conference on Supercomputing
A view of the parallel computing landscape
Communications of the ACM - A View of Parallel Computing
The habanero multicore software research project
Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications
Reducing task creation and termination overhead in explicitly parallel programs
Proceedings of the 19th international conference on Parallel architectures and compilation techniques
Comparing the usability of library vs. language approaches to task parallelism
Evaluation and Usability of Programming Languages and Tools
Distributed generalized dynamic barrier synchronization
ICDCN'11 Proceedings of the 12th international conference on Distributed computing and networking
Locality optimization of stencil applications using data dependency graphs
LCPC'10 Proceedings of the 23rd international conference on Languages and compilers for parallel computing
Work-stealing for mixed-mode parallelism by deterministic team-building
Proceedings of the twenty-third annual ACM symposium on Parallelism in algorithms and architectures
Experiments with the Fresh Breeze tree-based memory model
Computer Science - Research and Development
Designing an undergraduate curriculum based on parallelism and concurrency
Proceedings of the 49th Annual Southeast Regional Conference
Unifying barrier and point-to-point synchronization in OpenMP with phasers
IWOMP'11 Proceedings of the 7th international conference on OpenMP in the Petascale era
Hardware and software tradeoffs for task synchronization on manycore architectures
Euro-Par'11 Proceedings of the 17th international conference on Parallel processing - Volume Part II
Habanero-Java extensions for scientific computing
Proceedings of the 9th Workshop on Parallel/High-Performance Object-Oriented Scientific Computing
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
DrHJ: the cure to your multicore programming woes
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
The design and implementation of the habanero-java parallel programming language
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
Dynamic split model of resource utilization in MapReduce
Proceedings of the second international workshop on Data intensive computing in the clouds
Using shared arrays in message-driven parallel programs
Parallel Computing
Habanero-Java: the new adventures of old X10
Proceedings of the 9th International Conference on Principles and Practice of Programming in Java
DrHJ: a lightweight pedagogic IDE for Habanero Java
Proceedings of the 9th International Conference on Principles and Practice of Programming in Java
Intermediate language extensions for parallelism
Proceedings of the compilation of the co-located workshops on DSM'11, TMC'11, AGERE!'11, AOOPES'11, NEAT'11, & VMIL'11
LCPC'09 Proceedings of the 22nd international conference on Languages and Compilers for Parallel Computing
Mapping a data-flow programming model onto heterogeneous platforms
Proceedings of the 13th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, Tools and Theory for Embedded Systems
Design, verification and applications of a new read-write lock algorithm
Proceedings of the twenty-fourth annual ACM symposium on Parallelism in algorithms and architectures
Integrating task parallelism with actors
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
A Transformation Framework for Optimizing Task-Parallel Programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Accelerating Habanero-Java programs with OpenCL generation
Proceedings of the 2013 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools
Deterministic scale-free pipeline parallelism with hyperqueues
SC '13 Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis
Isolation for nested task parallelism
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Sierra: a SIMD extension for C++
Proceedings of the 2014 Workshop on Programming models for SIMD/Vector processing
Hi-index | 0.00 |
Coordination and synchronization of parallel tasks is a major source of complexity in parallel programming. These constructs take many forms in practice including mutual exclusion in accesses to shared resources, termination detection of child tasks, collective barrier synchronization, and point-to-point synchronization. In this paper, we introduce phasers, a new coordination construct that unifies collective and point-to-point synchronizations. We establish two safety properties for phasers: deadlock-freedom and phase-ordering. Performance results obtained from a portable implementation of phasers on three different SMP platforms demonstrate that phasers can deliver superior performance to existing barrier implementations, in addition to the productivity benefits that result from their generality and safety properties.