Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/378580.378605acmconferencesArticle/Chapter ViewAbstractPublication PagesspaaConference Proceedingsconference-collections
Article

Room synchronizations

Published: 03 July 2001 Publication History

Abstract

We present a class of synchronization called room synchronizations and show how this class can be used to implement asynchronous parallel queues and stacks with constant time access (assuming a fetch-and-add operation). The room synchronization problem involves supporting a set of m mutually exclusive “rooms” where any number of users can execute code simultaneously in any one of the rooms, but no two users can simultaneously execute code in separate rooms. Users asynchronously request permission to enter specified rooms, and neither the arrival time nor the arrival order nor the desired room of such requests are known ahead of time. We describe an algorithm for room synchronizations, and prove it satisfies a number of desirable properties. We have implemented our algorithm on a Sun UltraEnterprise 10000 multiprocessor. We present experimental results comparing an implementation of a parallel stack using room synchronizations to one using locks, demonstrating a significant scalability advantage for room synchronizations.

References

[1]
O. Agesen, D. L. Detlefs, C. H. Flood, A. T. Garthwaite, P. A. Martin, N. N. Shavit, and G. L. Steele Jr. DCAS-based concurrent deques. In Proc. 12th ACM Symp. on Parallel Algorithms and Architectures, pages 137-146, July 2000.
[2]
G. Barnes. A method for implementing lock-free shared data structures. In Proc. 5th ACM Symp. on Parallel Algorithms and Architectures, pages 261-270, June 1993.
[3]
G. E. Blelloch and P. Cheng. On bounding time and space for multiprocessor garbage collection. In Proc. ACM SIGPLAN'99 Conf. on Programming Languages Design and Implementation, pages 104-117, May 1999.
[4]
G. E. Blelloch, P. Cheng, and P. B. Gibbons. Room synchronizations. Technical report, Carnegie Mellon University, Pittsburgh, PA, Apr. 2001.
[5]
P. Cheng and G. E. Blelloch. A parallel, real-time garbage collector. In Proc. ACM SIGPLAN'01 Conf. on Programming Languages Design and Implementation, June 2001.
[6]
M. J. Fischer, N. A. Lynch, J. E. Burns, and A. Borodin. Distributed FIFO allocation of identical resources using small shared space. ACM Trans. on Programming Languages and Systems, 11(1):90-114, Jan. 1989.
[7]
P. B. Gibbons, Y. Matias, and V. Ramachandran. Can a shared-memorymodelserve as a bridging model for parallel computation? Theory of Computing Systems, 32(3):327-359, 1999. Preliminary version appeared in SPAA'97.
[8]
A. Gottlieb, B. D. Lubachevsky, and L. Rudolph. Basic techniques for the efficient coordination of very large numbers of cooperating sequqnetial processors. ACM Trans. on Programming Languages and Systems, 5(2):164-189, Apr. 1983.
[9]
M. Greenwald. Non-Blocking Synchronization and System Design. PhD thesis, Stanford University, Palo Alto, CA, 1999. Tech. report STAN-CS-TR-99-1624.
[10]
M. P. Herlihy. Wait-free synchronization. ACM Trans. on Programming Languages and Systems, 13(1):123-149, Jan. 1991.
[11]
M. P. Herlihy and J. E. B. Moss. Lock-free garbage collection for multiprocessors. IEEE Trans. on Parallel and Distributed Systems, 3(3):304-311, May 1992. Preliminary version in SPAA'91.
[12]
M. P. Herlihy and J. E. B. Moss. Transactional memory: Architectural support for lock-free data structures. In Proc. 20th International Symp. on Computer Architecture, pages 289-300, May 1993.
[13]
M. P. Herlihy and J. M. Wing. Axioms for concurrent objects. In Proc. 14th ACM Symp. on Principles of Programming Languages, pages 13-26, Jan. 1987.
[14]
M. P. Herlihy and J. M. Wing. Linearizability: A correctness condition for concurrent objects. ACM Trans. on Programming Languages and Systems, 12(3):463-492, July 1990.
[15]
L. Lamport. A new solution of Dijkstra's concurrent programming problem. Communications of the ACM, 17(8):435-455, Aug. 1974.
[16]
N. A. Lynch. Distributed Algorithms. Morgan Kaufmann, San Francisco, CA, 1996.
[17]
M. M. Michael and M. L. Scott. Simple, fast, and practical non-blocking and blocking concurrent queue algorithms. In Proc. 15th ACM Symp. on Principles of Distributed Computing, pages 267-275, May 1996.
[18]
M. C. Rinard. Effective fine-grain synchronization for automatically parallelized programs using optimistic synchronization primitives. ACM Trans. on Computer Systems, 17(4):337-371, Nov. 1999.
[19]
N. Shavit and D. Touitou. Elimination trees and the construction of pools and stacks. In Proc. 7th ACM Symp. on Parallel Algorithms and Architectures, pages 54-63, June 1995.
[20]
N. Shavit and D. Touitou. Software transactional memory. Distributed Computing, 10(2):99-116, Feb. 1997.
[21]
N. Shavit and A. Zemach. Combining funnels. In Proc. 17th ACM Symp. on Principles of Distributed Computing, pages 61-70, June-July 1998.
[22]
R. K. Treiber. Systems programming: Coping with parallelism. Technical Report RJ 5118, IBM Almaden Research Center, Apr. 1986.
[23]
L. Valiant. A bridging model for parallel computation. Communications of the ACM, 33(9):103-111, Sept. 1990.
[24]
J. D. Valois. Implementing lock-free queues. In Proc. 7th International Conf. on Parallel and Distributed Computing Systems, pages 64-69, Oct. 1994.
[25]
J. D. Valois. Lock-Free Data Structures. PhD thesis, Rensselaer Polytechnic Institute, Troy, NY, 1995.

Cited By

View all
  • (2019)Group Mutual Exclusion by Fetch-and-incrementACM Transactions on Parallel Computing10.1145/33092025:4(1-29)Online publication date: 22-Feb-2019
  • (2015)A work-efficient algorithm for parallel unordered depth-first searchProceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis10.1145/2807591.2807651(1-12)Online publication date: 15-Nov-2015
  • (2007)Automatic Program Segment Similarity Detection in Targeted Program Performance Improvement2007 IEEE International Parallel and Distributed Processing Symposium10.1109/IPDPS.2007.370642(1-8)Online publication date: Mar-2007
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SPAA '01: Proceedings of the thirteenth annual ACM symposium on Parallel algorithms and architectures
July 2001
340 pages
ISBN:1581134096
DOI:10.1145/378580
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 03 July 2001

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

SPAA01

Acceptance Rates

SPAA '01 Paper Acceptance Rate 34 of 93 submissions, 37%;
Overall Acceptance Rate 447 of 1,461 submissions, 31%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)2
Reflects downloads up to 10 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2019)Group Mutual Exclusion by Fetch-and-incrementACM Transactions on Parallel Computing10.1145/33092025:4(1-29)Online publication date: 22-Feb-2019
  • (2015)A work-efficient algorithm for parallel unordered depth-first searchProceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis10.1145/2807591.2807651(1-12)Online publication date: 15-Nov-2015
  • (2007)Automatic Program Segment Similarity Detection in Targeted Program Performance Improvement2007 IEEE International Parallel and Distributed Processing Symposium10.1109/IPDPS.2007.370642(1-8)Online publication date: Mar-2007
  • (2007)Integrating Performance Tools with Large-Scale Scientific Software2007 IEEE International Parallel and Distributed Processing Symposium10.1109/IPDPS.2007.370567(1-8)Online publication date: Mar-2007
  • (2007)Task-pushing: a Scalable Parallel GC Marking Algorithm without Synchronization Operations2007 IEEE International Parallel and Distributed Processing Symposium10.1109/IPDPS.2007.370317(1-10)Online publication date: Mar-2007
  • (2007)A Simple and Efficient Solution for Room Synchronization Problem in Distributed ComputingAdvances and Innovations in Systems, Computing Sciences and Software Engineering10.1007/978-1-4020-6264-3_5(23-28)Online publication date: 2007
  • (2004)On bounding time and space for multiprocessor garbage collectionACM SIGPLAN Notices10.1145/989393.98945639:4(626-641)Online publication date: 1-Apr-2004
  • (2001)A parallel, real-time garbage collectorACM SIGPLAN Notices10.1145/381694.37882336:5(125-136)Online publication date: 1-May-2001
  • (2001)A parallel, real-time garbage collectorProceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation10.1145/378795.378823(125-136)Online publication date: 20-Jun-2001

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media