Basa, Tristan M.2023-03-012023-03-012017Thesis 10044https://unbscholar.lib.unb.ca/handle/1882/13633Automatic memory management offers programmers an alternative to unmanaged languages. It unburdens some of the low-level control from human hands. However, this comes at the price of performance. Virtual machines using automatic memory management are prone to long system pause times that degrade the overall performance of the system. Often, the culprit is a mismatch between the nature of the application and the chosen garbage collection algorithm. There are algorithms that already address this issue, such as the Balanced Garbage Collection (BGC) by IBM, which uses region based memory management. Region-based memory management introduces the flexibility of being able to select areas of the heap for collection that will potentially result in the best "return-on-investment." With the advent of multicore processors, we extend this approach to take advantage of the potential concurrency that can happen among threads during garbage collection. By assigning entire regions to a thread, we are able to select a set of regions that belong to only one thread thereby potentially allowing other threads to continue execution during garbage collection. We also define thread relationships that will identify other threads that may have to be stopped as well when collection is being done on a given thread.text/xmlxiv, 74 pageselectronicen-CAhttp://purl.org/coar/access_right/c_abf2Memory management (Computer science) -- Evaluation.Threads (Computer programs) -- Management -- Evaluation.Garbage collection (Computer science) -- Evaluation.Computer algorithms -- Evaluation.Simultaneous multithreading processors -- Management.Dynamic storage allocation (Computer science)Electronic data processing -- Distributed processing.Virtual computer systems.Object-oriented methods (Computer science)Java (Computer program language)Thread-based, region-based automatic memory managementmaster thesis2019-05-14Dueck, GerhardKent, KennethComputer Science