Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Improvement to 'Method and apparatus for allocating and freeing storage utilizing multiple tiers of storage organization'

IP.com Disclosure Number: IPCOM000179553D
Original Publication Date: 2009-Feb-17
Included in the Prior Art Database: 2009-Feb-17
Document File: 1 page(s) / 22K

Publishing Venue

IBM

Abstract

An improvement to minimize contention in multithreaded applications with a high degree of concurrency in malloc() and free() requests is provided. This improvement builds upon a method and apparatus for allocating and freeing storage described in US Patent 6,065,019.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 59% of the total text.

Page 1 of 1

Improvement to 'Method and apparatus for allocating and freeing storage utilizing multiple tiers of storage organization '

Disclosed is an improvement to minimize contention in multithreaded applications with a high degree of concurrency in malloc() and free() requests. US Patent 6,065,019 entitled "Method and apparatus for allocating and freeing storage utilizing multiple tiers of storage organization" describes a method to use a multiple tier system for storage management in which storage pools are used to quickly allocate storage blocks. The method uses atomic hardware instructions for adding and removing cells (storage blocks) from the storage pools. In multithreaded applications, when multiple threads are allocating and freeing the same size cells, contention may occur on the storage pool containing those cells. If threads are allocating and freeing storage from different storage pools, the contention is avoided. However, if threads are allocating and freeing storage from the same storage pool, contention will likely occur.

In order to minimize this contention, the method described in US Patent 6,065,019 is extended in two ways. First, the pool sizes are set up so that there are multiple pools of the same size. The example described in the patent uses 6 storage pools with sizes of 16, 64, 256, 512, 1024, and 2048 bytes. If the desire is to minimize contention on pools of size 16 bytes, then the example could be modifi...