[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/2492408.2492413acmconferencesArticle/Chapter ViewAbstractPublication PagesmspConference Proceedingsconference-collections
research-article

A study of data structures with a deep heap shape

Published: 16 June 2013 Publication History

Abstract

Computing environments become increasingly parallel, and it seems likely that we will see more cores on tomorrow's desktops and server platforms. In a highly parallel system, tracing garbage collectors may not scale well due to deep heap structures that hinder parallel tracing. Previous work has discovered vulnerabilities within standard Java benchmarks. In this work we examine these standard benchmarks and analyze them to expose the data structures that make current Java benchmarks create deep heap shapes. It turns out that the problem is manifested mostly with benchmarks that employ queues and linked-lists. We then propose a new construction of a lock-free queue data structure with extra references that enables better garbage collector parallelism at a low overhead.

References

[1]
Alpern, B., Augart, S., Blackburn, S. M., Butrico, M., Cocchi, A., Cheng, P., Dolby, J., Fink, S., Grove, D., Hind, M., McKinley, K. S., Mergen, M., Moss, J. E. B., Ngo, T., Sarkar, V.: The jikes research virtual machine project: building an open-source research community. IBM Systems Journal 44(2)
[2]
Azatchi, H., Levanoni, Y., Paz, H., Petrank, E.: An on-the-fly mark and sweep garbage collector based on sliding views. In: OOPSLA. pp. 269--281. ACM (2003)
[3]
Barabash, K., Ben-Yitzhak, O., Goft, I., Kolodner, E. K., Leikehman, V., Ossia, Y., Owshanko, A., Petrank, E.: A parallel, incremental, mostly concurrent garbage collector for servers. TOPLAS 27(6), 1097--1146 (Nov 2005)
[4]
Barabash, K., Petrank, E.: Tracing garbage collection on highly parallel platforms. In: ISMM '10. ACM (Jun 2010)
[5]
Blackburn, S. M., Garner, R., Hoffman, C., Khan, A. M., McKinley, K. S., Bentzur, R., Diwan, A., Feinberg, D., Frampton, D., Guyer, S. Z., Hirzel, M., Hosking, A., Jump, M., Lee, H., Moss, J. E. B., Phansalkar, A., Stefanović, D., Van-Drunen, T., von Dincklage, D., Wiedermann, B.: The DaCapo benchmarks: Java benchmarking development and analysis. In: OOPSLA. pp. 169--190. ACM (2006)
[6]
Boehm, H. J., Demers, A. J., Shenker, S.: Mostly parallel garbage collection. In: PLDI '91. pp. 157--164. ACM (1991)
[7]
Bruneton, E., Lenglet, R., Coupaye, T.: ASM: A code manipulation tool to implement adaptable systems. In: In Adaptable and extensible component systems. Grenoble, France (2002)
[8]
Click, C.: Private communication
[9]
Dijkstra, E. W., Lamport, L., Martin, A. J., Scholten, C. S., Steffens, E. F. M.: On-the-fly garbage collection: An exercise in co-operation. CACM 21(11), 965--975 (Nov 1978)
[10]
Doligez, D., Gonthier, G.: Portable, unobtrusive garbage collection for multiprocessor systems. In: POPL '94. ACM
[11]
Domani, T., Kolodner, E. K., Petrank, E.: A generational on-the-fly garbage collector for Java. In: PLDI '00. ACM (2000)
[12]
Endo, T., Taura, K., Yonezawa, A.: A scalable mark-sweep garbage collector on large-scale shared-memory machines. In: ICS (Nov 1997)
[13]
Endo, T., Taura, K., Yonezawa, A.: Predicting scalability of parallel garbage collectors on shared memory multiprocessors. In: IPDPS '01. pp. 43--48 (2001)
[14]
Eran, H.: A Study of Data Structures with a Deep Heap Shape. Master's thesis, Computer Science Department, Technion -- Israel Institute of Technology (Apr 2012), http://www.cs.technion.ac.il/users/wwwb/cgi-bin/tr-get.cgi/2012/MSC/MSC-2012-13.pdf
[15]
Flood, C., Detlefs, D., Shavit, N., Zhang, C.: Parallel garbage collection for shared memory multiprocessors. In: JVM '01. USENIX, Monterey, CA (Apr 2001)
[16]
Google Inc.: java-allocation-instrumenter: A Java agent that rewrites bytecode to instrument allocation sites (2009), http://code.google.com/p/java-allocation-instrumenter/
[17]
Hudson, R. L., Moss, J. E. B.: Sapphire: Copying GC without stopping the world. In: Java Grande. ACM (2001)
[18]
IBM: IBM SDK and runtime environment Java technology edition version 6, http://publib.boulder.ibm.com/infocenter/javasdk/v6r0/index.jsp?topic=%2Fcom.ibm.java.doc.diagnostics.60%2Fdiag%2Funderstanding%2Fmm_gc_mark.html
[19]
Michael, M. M., Scott, M. L.: Simple, fast, and practical non-blocking and blocking concurrent queue algorithms. In: PODC '96. pp. 267--275. ACM (1996)
[20]
Raman, E., Vachharajani, N., Rangan, R., August, D. I.: Spice: speculative parallel iteration chunk execution. In: CGO '08. pp. 175--184. ACM (2008)
[21]
Siebert, F.: Limits of parallel marking collection. In: ISMM '08. pp. 21--29. ACM, Tucson, AZ (Jun 2008)
[22]
Standard Performance Evaluation Corporation (SPEC): SPECjvm98 (1998), http://www.spec.org/jvm98
[23]
Standard Performance Evaluation Corporation (SPEC): SPECjvm2008 (2008), http://www.spec.org/jvm2008
[24]
Steele, G. L.: Multiprocessing compactifying garbage collection. CACM 18(9), 495--508 (Sep 1975)
[25]
Titzer, B. L., Lee, D. K., Palsberg, J.: Avrora: scalable sensor network simulation with precise timing. In: IPSN '05. IEEE

Cited By

View all

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
MSPC '13: Proceedings of the ACM SIGPLAN Workshop on Memory Systems Performance and Correctness
June 2013
60 pages
ISBN:9781450321037
DOI:10.1145/2492408
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: 16 June 2013

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. concurrent data structures
  2. linked-lists
  3. parallel garbage collection

Qualifiers

  • Research-article

Funding Sources

Conference

PLDI '13
Sponsor:

Acceptance Rates

Overall Acceptance Rate 6 of 20 submissions, 30%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 21 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2015)Data structure aware garbage collectorACM SIGPLAN Notices10.1145/2887746.275417650:11(28-40)Online publication date: 14-Jun-2015
  • (2015)Data structure aware garbage collectorProceedings of the 2015 International Symposium on Memory Management10.1145/2754169.2754176(28-40)Online publication date: 14-Jun-2015
  • (2014)Modeling heap data growth using average livenessACM SIGPLAN Notices10.1145/2775049.260299749:11(71-82)Online publication date: 12-Jun-2014
  • (2014)A study of connected object locality in NUMA heapsProceedings of the workshop on Memory Systems Performance and Correctness10.1145/2618128.2618132(1-9)Online publication date: 13-Jun-2014
  • (2014)Modeling heap data growth using average livenessProceedings of the 2014 international symposium on Memory management10.1145/2602988.2602997(71-82)Online publication date: 12-Jun-2014

View Options

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