Patent ID: 6209066
Filing Date: 2001-03-27
Classification: G06F

Abstract:
A method for allocating memory shared by multiple threads in a multi-threaded computing system, the method comprising:partitioning the shared memory into a plurality of blocks;grouping the multiple threads into at least a first group of threads and a second group of threads, wherein grouping the multiple threads into the first group and the second group includes identifying a particular thread selected from the multiple threads and determining whether the particular thread is a fast allocating thread, wherein when it is determined that the particular thread is fast allocating, the particular thread is grouped into the first group and the particular thread allocates more than a predetermined number of bytes within a predetermined time period, and wherein when it is determined that the particular thread is not fast allocating, the particular thread allocates less than the predetermined number of bytes within the predetermined time period and is grouped into the second group; andallocating a first block selected from the plurality of blocks to a thread selected from the multiple threads, the selected thread being arranged to attempt to allocate an object in the selected first block, wherein allocation of the selected first block to the selected thread is based at least partially upon whether the selected thread is a part of the first group or the second group.