Thread local cache memory allocator in a multitasking operating system
US6427195B1 · kind B1 · utility
Assignee
Inventors
Key dates
| Filing date | Jun 13, 2000 |
| Grant date | Jul 30, 2002 |
| Priority date | — |
| Expiry date | Nov 29, 2020 |
Classification
- Technology area (CPC G)Physics
- CPC primaryG06F12/0842
- WIPO fieldComputer technology
- WIPO sectorElectrical engineering
Abstract
A memory allocator provides a cache blocks private to each thread of a multi-threaded application, and thereby minimizes performance losses associated with mutual exclusion (MUTEX) contention, MUTEX locking and/or coalescence operations. The memory allocator maintains thread local cache slots in a linked list of arrays. Upon a memory allocation request from a thread, blocks of the memory, which ordinarily require MUTEX locking, are cached in the local thread cache slot allocated to the requesting thread, and the request is satisfied from the cache slot allocated to the requesting thread. Each cache slot is private to the thread to which it is assigned, and thus does not require MUTEX locking. Further, the cache slots do not require defragmentation thereof, and thus require no coalescence operations. Thus, the performance of the multi-threaded application program is optimized.
Source: USPTO / EPO open patent data. Objective bibliographic and citation counts.