Reference number : GC-2017-Q2-00421, amendment number : , agreement type : G, recipient legal name : Dueck, Gerhard (University of New Brunswick)|Dueck, Gerhard (Université du Nouveau-Brunswick), recipient country : CA, recipient province : nan, recipient city : New Brunswick|Nouveau-Brunswick, recipient postal code : nan, program name english : Collaborative Research and Development Grants - Project, program name french : Subventions de recherche et développement coopérative - projet, program purpose english : Memory management is an essential part of any software system. Programming languages offer different degrees of support. Objects allocated in memory have varying life times. Objects that are accessible from the rootset or from another live object are said to be alive. In contrast, objects that can no longer be accessed are said to be dead. In some languages, for example C, the programmer is responsible to free the memory of dead objects before they become unreachable. In other languages, for example Java, a garbage collector is responsible for collecting dead objects. Some objects persist for a long time but they are seldom accessed; these objects are said to be cold. It has been shown that it is advantageous to move cold object to regions that are not touched by the garbage collector. Since these regions are infrequently accessed, they can be paged out to disk. Sequestering cold objects into special areas will help both the real memory footprint as well as cache coherence._x000D_
With the proliferation of persistent memory it is possible to store regions with cold objects in such memory. The term used for persistent storage is NVRAM (Non-Volatile Random Access Memory). NVRAM is less costly than dynamic RAM with slightly higher access time. The main application for NVRAM has been in the area of database transactions. Here, we plan to use it to sequester cold objects in NVRAM. The main objective of the proposed research is to increase the effectiveness of garbage collection by making use of persistent memory. Some properties of cold objects will be investigated. How are cold objects detected? When should they be moved to a cold area? When should they move back from the cold area? When should_x000D_
they be garbage collected? The answer to these questions will guide the development, implementation, and testing of software generated for inclusion in the garbage collection strategies of the IBM J9 product as well as the OMR Eclipse project., program purpose french : Memory management is an essential part of any software system. Programming languages offer different degrees of support. Objects allocated in memory have varying life times. Objects that are accessible from the rootset or from another live object are said to be alive. In contrast, objects that can no longer be accessed are said to be dead. In some languages, for example C, the programmer is responsible to free the memory of dead objects before they become unreachable. In other languages, for example Java, a garbage collector is responsible for collecting dead objects. Some objects persist for a long time but they are seldom accessed; these objects are said to be cold. It has been shown that it is advantageous to move cold object to regions that are not touched by the garbage collector. Since these regions are infrequently accessed, they can be paged out to disk. Sequestering cold objects into special areas will help both the real memory footprint as well as cache coherence._x000D_
With the proliferation of persistent memory it is possible to store regions with cold objects in such memory. The term used for persistent storage is NVRAM (Non-Volatile Random Access Memory). NVRAM is less costly than dynamic RAM with slightly higher access time. The main application for NVRAM has been in the area of database transactions. Here, we plan to use it to sequester cold objects in NVRAM. The main objective of the proposed research is to increase the effectiveness of garbage collection by making use of persistent memory. Some properties of cold objects will be investigated. How are cold objects detected? When should they be moved to a cold area? When should they move back from the cold area? When should_x000D_
they be garbage collected? The answer to these questions will guide the development, implementation, and testing of software generated for inclusion in the garbage collection strategies of the IBM J9 product as well as the OMR Eclipse project., agreement title english : Memory organization based on data temperature, agreement title french : Memory organization based on data temperature, agreement number : CRDPJ, agreement value : 104000.0, agreement start date : 2017-08-23, agreement end date : nan, description english : nan, description french : nan, expected results english : nan, expected results french : nan, additional information english : Grant or Award spanning more than one fiscal year (2017-2018 to 2020-2021)., additional information french : Subvention ou bourse octroyée s'appliquant à plus d'un exercice financier (2017-2018 à 2020-2021)., owner organization : nserc-crsng, owner organization title : Natural Sciences and Engineering Research Council of Canada | Conseil de recherches en sciences naturelles et en génie du Canada