Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Going beyond on-the fly-garbage collection and improving self-adaptation with enhanced interfaces
Linnaeus University, Faculty of Technology, Department of computer science and media technology (CM).
2019 (English)Doctoral thesis, comprehensive summary (Other academic)
Place, publisher, year, edition, pages
Växjö: Linnaeus univetersity press , 2019. , p. 25, 145-153
Series
Linnaeus University Dissertations ; 361
National Category
Computer Systems
Research subject
Computer and Information Sciences Computer Science, Computer Science
Identifiers
URN: urn:nbn:se:lnu:diva-89999ISBN: 9789188898890 (print)ISBN: 9789188898906 (electronic)OAI: oai:DiVA.org:lnu-89999DiVA, id: diva2:1369132
Public defence
2019-10-18, Weber, Hus K, Växjö, 13:10 (English)
Opponent
Supervisors
Available from: 2019-11-11 Created: 2019-11-11 Last updated: 2019-11-27Bibliographically approved
List of papers
1. Concurrent Compaction using a Field Pinning Protocol
Open this publication in new window or tab >>Concurrent Compaction using a Field Pinning Protocol
2015 (English)In: ISMM 2015 Proceedings of the 2015 ACM SIGPLAN International Symposium on Memory Management, ACM Press, 2015, Vol. 50(11), p. 56-69Conference paper, Published paper (Refereed)
Abstract [en]

Compaction of memory in long running systems has always been important. The latency of compaction increases in today’s systems with high memory demands and large heaps. To deal with this problem, we present a lock-free protocol allowing for copying concurrent with the application running, which reduces the latencies of compaction radically. It pro- vides theoretical progress guarantees for copying and appli- cation threads without making it practically infeasible, with performance overheads of 20% on average. The algorithm paves way for a future lock-free Garbage Collector. 

Place, publisher, year, edition, pages
ACM Press, 2015
Series
SIGPLAN notices, ISSN 0362-1340 ; 50(11)
National Category
Computer Sciences
Research subject
Computer and Information Sciences Computer Science, Computer Science
Identifiers
urn:nbn:se:lnu:diva-42434 (URN)10.1145/2754169.2754177 (DOI)000370548500006 ()2-s2.0-84959917293 (Scopus ID)978-1-4503-3589-8 (ISBN)
Conference
ACM SIGPLAN International Symposium on Memory Management, ISMM, 14 Jun., 2015, Portland
Funder
Swedish Research Council, 2011-6185
Available from: 2015-04-15 Created: 2015-04-15 Last updated: 2019-11-11Bibliographically approved
2. Block-free concurrent GC: Stack scanning and copying
Open this publication in new window or tab >>Block-free concurrent GC: Stack scanning and copying
2016 (English)In: ISMM 2016: Proceedings of the 2016 ACM SIGPLAN International Symposium on Memory Management, ACM Press, 2016, p. 1-12Conference paper, Published paper (Refereed)
Abstract [en]

On-the-fly Garbage Collectors (GCs) are the state-of-the-art concurrent GC algorithms today. Everything is done concurrently, but phases are separated by blocking handshakes. Hence, progress relies on the scheduler to let application threads (mutators) run into GC checkpoints to reply to the handshakes. For a non-blocking GC, these blocking handshakes need to be addressed. Therefore, we propose a new non-blocking handshake to replace previous blocking handshakes. It guarantees schedulingindependent operation level progress without blocking. It is scheduling independent but requires some other OS support. It allows bounded waiting for threads that are currently running on a processor, regardless of threads that are not running on a processor. We discuss this non-blocking handshake in two GC algorithms for stack scanning and copying objects. They pave way for a future completely non-blocking GC by solving hard open theory problems when OS support is permitted. The GC algorithms were integrated to the G1 GC of OpenJDK for Java. GC pause times were reduced to 12.5% compared to the original G1 on average in DaCapo. For a memory intense benchmark, latencies were reduced from 174 ms to 0.67 ms for the 99.99% percentile. The improved latency comes at a cost of 15% lower throughput.

Place, publisher, year, edition, pages
ACM Press, 2016
Keywords
Block-free, Compaction, Garbage collection, Non-blocking, Stack scanning
National Category
Computer Systems
Research subject
Computer and Information Sciences Computer Science
Identifiers
urn:nbn:se:lnu:diva-56115 (URN)10.1145/2926697.2926701 (DOI)000439639900002 ()2-s2.0-84978488416 (Scopus ID)9781450343176 (ISBN)
Conference
15th ACM SIGPLAN International Symposium on Memory Management, ISMM 2016, 14 June 2016
Available from: 2016-09-08 Created: 2016-08-31 Last updated: 2019-11-11Bibliographically approved
3. Analysis of pure methods using garbage collection
Open this publication in new window or tab >>Analysis of pure methods using garbage collection
2012 (English)In: Proceedings of the 2012 ACM SIGPLAN Workshop on Memory Systems Performance and Correctness, ACM Press, 2012, p. 48-57Conference paper, Published paper (Refereed)
Abstract [en]

Parallelization and other optimizations often depend on static dependence analysis. This approach requires methods to be independent regardless of the input data, which is not always the case.

Our contribution is a dynamic analysis "guessing" if methods are pure, i. e., if they do not change state. The analysis is piggybacking on a garbage collector, more specifically, a concurrent, replicating garbage collector. It guesses whether objects are immutable by looking at actual mutations observed by the garbage collector. The analysis is essentially for free. In fact, our concurrent garbage collector including analysis outperforms Boehm's stop-the-world collector (without any analysis), as we show in experiments. Moreover, false guesses can be rolled back efficiently.

The results can be used for just-in-time parallelization allowing an automatic parallelization of methods that are pure over certain periods of time. Hence, compared to parallelization based on static dependence analysis, more programs potentially benefit from parallelization.

Place, publisher, year, edition, pages
ACM Press, 2012
Keywords
garbage collection, automatic parallelization, dynamic analysis, pure functions
National Category
Computer Sciences
Research subject
Computer Science, Software Technology
Identifiers
urn:nbn:se:lnu:diva-25976 (URN)10.1145/2247684.2247694 (DOI)2-s2.0-84863436374 (Scopus ID)978-1-4503-1219-6 (ISBN)
Conference
ACM SIGPLAN Workshop on Memory Systems Performance and Correctness
Funder
Swedish Research Council, 2011-6185
Available from: 2013-05-31 Created: 2013-05-31 Last updated: 2019-11-11Bibliographically approved
4. Dynamically transforming data structures
Open this publication in new window or tab >>Dynamically transforming data structures
2013 (English)In: 2013 IEEE/ACM 28th International Conference on Automated Software Engineering (ASE): Proceedings / [ed] Ewewn Denney, Tevfik Bultan, Andreas Zeller, IEEE, 2013, p. 410-420Conference paper, Published paper (Refereed)
Abstract [en]

Fine-tuning which data structure implementation to use for a given problem is sometimes tedious work since the optimum solution depends on the context, i.e., on the operation sequences, actual parameters as well as on the hardware available at run time. Sometimes a data structure with higher asymptotic time complexity performs better in certain contexts because of lower constants. The optimal solution may not even be possible to determine at compile time.We introduce transformation data structures that dynamically change their internal representation variant based on a possibly changing context. The most suitable variant is selected at run time rather than at compile time.We demonstrate the effect on performance with a transformation ArrayList data structure using an array variant and a linked hash bag variant as alternative internal representations. Using our transformation ArrayList, the standard DaCapo benchmark suite shows a performance gain of 5.19% in average.

Place, publisher, year, edition, pages
IEEE, 2013
Series
IEEE ACM International Conference on Automated Software Engineering, ISSN 1527-1366
Keywords
possibly changing context, transformation ArrayList data structure, hash bag variant, DaCapo benchmark suite, internal representation variant
National Category
Computer Sciences
Research subject
Computer and Information Sciences Computer Science, Computer Science
Identifiers
urn:nbn:se:lnu:diva-28100 (URN)10.1109/ASE.2013.6693099 (DOI)000331090200041 ()2-s2.0-84893634611 (Scopus ID)978-1-4799-0215-6 (ISBN)
Conference
28th IEEE/ACM International Conference on Automated Software Engineering (ASE 2013), Palo Alto, CA, NOV 11-15, 2013
Available from: 2013-08-13 Created: 2013-08-13 Last updated: 2019-11-11Bibliographically approved
5. Self-adaptive concurrent components
Open this publication in new window or tab >>Self-adaptive concurrent components
2018 (English)In: Automated Software Engineering: An International Journal, ISSN 0928-8910, E-ISSN 1573-7535, Vol. 25, no 1, p. 47-99Article in journal (Refereed) Published
Abstract [en]

Selecting the optimum component implementation variant is sometimes difficult since it depends on the component's usage context at runtime, e.g., on the concurrency level of the application using the component, call sequences to the component, actual parameters, the hardware available etc. A conservative selection of implementation variants leads to suboptimal performance, e.g., if a component is conservatively implemented as thread-safe while during the actual execution it is only accessed from a single thread. In general, an optimal component implementation variant cannot be determined before runtime and a single optimal variant might not even exist since the usage contexts can change significantly over the runtime. We introduce self-adaptive concurrent components that automatically and dynamically change not only their internal representation and operation implementation variants but also their synchronization mechanism based on a possibly changing usage context. The most suitable variant is selected at runtime rather than at compile time. The decision is revised if the usage context changes, e.g., if a single-threaded context changes to a highly contended concurrent context. As a consequence, programmers can focus on the semantics of their systems and, e.g., conservatively use thread-safe components to ensure consistency of their data, while deferring implementation and optimization decisions to context-aware runtime optimizations. We demonstrate the effect on performance with self-adaptive concurrent queues, sets, and ordered sets. In all three cases, experimental evaluation shows close to optimal performance regardless of actual contention.

Place, publisher, year, edition, pages
Springer, 2018
Keywords
Context-aware composition, Self-adaptive components, Concurrent context
National Category
Software Engineering
Research subject
Computer Science, Software Technology
Identifiers
urn:nbn:se:lnu:diva-69936 (URN)10.1007/s10515-017-0219-0 (DOI)000419589600003 ()2-s2.0-85027876336 (Scopus ID)
Available from: 2018-01-18 Created: 2018-01-18 Last updated: 2019-11-11Bibliographically approved

Open Access in DiVA

Comprehensive summary(348 kB)15 downloads
File information
File name FULLTEXT01.pdfFile size 348 kBChecksum SHA-512
ac42373f7906f4ba221a333cd09e89b9f331b69b8b86145d259601b03e66b1d371c15a2bf197ff8cb2adf31a0f6d4599a5e6d945d54b085df8f5ccb68e120b09
Type fulltextMimetype application/pdf

Other links

Buy Book (SEK 160 + VAT and postage) lnupress@lnu.se

Search in DiVA

By author/editor
Österlund, Erik
By organisation
Department of computer science and media technology (CM)
Computer Systems

Search outside of DiVA

GoogleGoogle Scholar
Total: 15 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

isbn
urn-nbn

Altmetric score

isbn
urn-nbn
Total: 33 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf