Memory-block coalescing based on run-time demand monitoring

   
   

A computer system (10) implements a memory allocator that employs a data structure (FIG. 3) to maintain an inventory of dynamically allocated memory available to receive new data. It receives from one or more programs requests that it allocate memory from a dynamically allocable memory "heap." It responds to such requests by performing the requested allocation and removing the thus-allocated memory block from the inventory. Conversely, it adds to the inventory memory blocks that the supported program or programs request be freed. In the process, it monitors the frequencies with which memory blocks of different sizes are allocated, and it projects from those frequencies future demand for different-sized memory blocks. When it needs to coalesce multiple smaller blocks to fulfil an actual or expected request for a larger block, it bases its selection of which constituent blocks to coalesce on whether enough free blocks of a constituent block's size exist to meet the projected demand for them.

Un sistema di elaborazione (10) effettua un allocator di memoria che impiega una struttura di dati (fig. 3) per effettuare un inventario della memoria dinamicamente assegnata disponibile per ricevere i nuovi dati. Riceve da uno o più programmi chiede che assegna la memoria da una memoria dinamicamente allocable "mucchio." Risponde a tali richieste realizzando la ripartizione chiesta e rimuovendo il blocchetto così-assegnato di memoria dall'inventario. Per contro, aggiunge ai blocchetti di memoria di inventario che il programma o i programmi sostenuti chiede è liberato. Nel processo, controlla le frequenze con cui i blocchetti di memoria dei formati differenti sono assegnati e si proietta dalla domanda futura di quelle frequenze dei blocchetti differente-graduati di memoria. Quando deve unirsi più piccoli blocchi multipli per compiere una richiesta reale o prevista per un più grande blocco, basa la relativa selezione di cui blocchi costituenti da unirsi sopra se abbastanza blocchi liberi di un formato del blocco costituente esistono per rispondere loro l'esigenza proiettata.

 
Web www.patentalert.com

< Hash table dispatch mechanism for interface methods

< Method and apparatus for analyzing performance of data processing system

> System for electronic repository of data enforcing access control on data retrieval

> Method and apparatus for performing generational garbage collection in a segmented heap

~ 00152