StorageMemoryPool is a MemoryPool.
StorageMemoryPool takes the following to be created:
- Lock Object
StorageMemoryPool is created when:
StorageMemoryPool is given a MemoryStore when
MemoryManager is requested to associate one with the on- and off-heap storage memory pools.
StorageMemoryPool uses the
MemoryStore (to evict blocks) when requested to:
Size of Memory Used¶
StorageMemoryPool keeps track of the size of the memory acquired.
memoryUsed is part of the MemoryPool abstraction.
acquireMemory( blockId: BlockId, numBytes: Long): Boolean acquireMemory( blockId: BlockId, numBytesToAcquire: Long, numBytesToFree: Long): Boolean
acquireMemory is used when:
UnifiedMemoryManageris requested to acquire storage memory
Freeing Space to Shrink Pool¶
freeSpaceToShrinkPool( spaceToFree: Long): Long
freeSpaceToShrinkPool is used when:
UnifiedMemoryManageris requested to acquire execution memory