Runtime escape analysis in a Java Virtual Machine

dc.contributor.advisorDueck, Gerhard
dc.contributor.advisorHinkenjann, André
dc.contributor.authorJendrosch, Manfred
dc.date.accessioned2023-03-01T16:26:10Z
dc.date.available2023-03-01T16:26:10Z
dc.date.issued2013
dc.date.updated2016-12-13T00:00:00Z
dc.description.abstractThe Java Virtual Machine (JVM) executes the compiled bytecode version of a Java program and acts as a layer between the program and the operating system. The JVM provides additional features such as Process, Thread, and Memory Management to manage the execution of these programs. The Garbage Collection (GC) is part of the memory management and has an impact on the overall runtime performance because it is responsible for removing dead objects from the heap. Currently, the execution of a program needs to be halted during every GC run. The problem of this stop-the-world approach is that all threads in the JVM need to be suspended. It would be desirable to have a thread-local GC that only blocks the current thread and does not affect any other threads. In particular, this would improve the execution of multi-threaded Java programs. An object that is accessible by more than one thread is called escaped. It is not possible to thread-locally determine if escaped objects are still alive so that they cannot be handled in a thread-local GC. To gain significant performance improvements with a thread-local GC, it is therefore necessary to determine if it is possible to reliably predict if a given object will escape. Experimental results show that the escaping of objects can be predicted with high accuracy based on the line of code the object was allocated from. A thread-local GC was developed to minimize the number of stop-the-world GCs. The prototype implementation delivers a proof-of-concept that shows that this goal can be achieved in certain scenarios.
dc.description.copyright© Manfred Jendrosch, 2013
dc.description.noteElectronic Only. (UNB thesis number) Thesis 9244. (OCoLC) 960910591
dc.description.noteM.C.S., University of New Brunswick, Faculty of Computer Science, 2013.
dc.formattext/xml
dc.format.extentxvii, 145 pages
dc.format.mediumelectronic
dc.identifier.oclc(OCoLC) 960910591
dc.identifier.otherThesis 9244
dc.identifier.urihttps://unbscholar.lib.unb.ca/handle/1882/13834
dc.language.isoen_CA
dc.publisherUniversity of New Brunswick
dc.rightshttp://purl.org/coar/access_right/c_abf2
dc.subject.disciplineComputer Science
dc.subject.lcshJava (Computer program language)
dc.subject.lcshGarbage collection (Computer science)
dc.subject.lcshMemory management (Computer science)
dc.subject.lcshThreads (Computer programs)
dc.titleRuntime escape analysis in a Java Virtual Machine
dc.typemaster thesis
thesis.degree.disciplineComputer Science
thesis.degree.fullnameMaster of Computer Science
thesis.degree.grantorUniversity of New Brunswick
thesis.degree.levelmasters
thesis.degree.nameM.C.S.

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
item.pdf
Size:
4.6 MB
Format:
Adobe Portable Document Format