Sunday, October 7, 2018

The idea of compaction is that, objects are allocated contiguously assuming infinite caching. When they are no longer in use or they can be decommissioned, they are evicted from the cache. The compaction can be done in several sweeps and they can be triggered not just by the allocation of a new object but also periodically for the health of the cache.
With the help of the generations, the objects that are least likely to be used and hence good candidates to be reclaimed are close together on one end and the new ones are on the other end. With this gradation, we can efficiently perform delete operations on one end and additions on the other end
The process of shifting objects is compacting. As we walk through the cache linearly, we look for contiguous blocks of 'garbage' objects that can now be considered free space. The garbage collector now shifts the non-garbage objects down in cache, removing all of the gaps in the cache. The cache performs this operation and we call it rolling. Rolling doesn't have dependencies. Objects were reachable by their name or address.
Traditionally garbage collectors have been implemented with a graph representation of the objects to be reclaimed and following the principles of garbage collection from distributed computing. In this approach, all the objects of a heap derive from a base object which leads to a common root. During a collection, the entire set of objects on the heap then translates to an object graph which is finite and directed with a fixed set of vertices representing the objects but not the edges. The edges are added and deleted by a mutator process that modifies the graph objects that are connected can be called food and those that are not can be called garbage so we know which objects are to be collected. The mutator only adds edges if it has been marked as food.

Application of deep learning in text summarization : https://1drv.ms/w/s!Ashlm-Nw-wnWt1CQZVSOUjzUqITP

No comments:

Post a Comment