A method for allocating memory in a computer system includes allocating a
block of memory from an operating system, dividing the block of memory
into frames, and dividing each of the frames into instances such that
each of the instances is operable to store data. In addition, a software
application using application-level memory management includes an
application-level memory manager operable to allocate a block of memory
to store data elements with the block of memory divided into frames and
each frame divided into instances, and application code operable to store
data elements in instances of a block of memory allocated by the
application-level memory manager.