|
This work is concerned with the management of memory at a user-level.
Traditional memory management is handled through system
calls into the kernel which are very expensive processes. We
attempt to reduce these system calls by providing a library
that will handle all memory management routines invoked completely at the user level.
Furthermore, we will further improve performance by allowing the library to be invoked on a
symmetric multiprocessor machine, thereby allowing concurrent memory allocation and deallocation
to be carried out by two or more kernel threads running on separate processors.
As an extension to typical memory allocation, routines will also be provided
to allow concurrent reads and exclusive writes to regions of
memory shared amongst several threads.
The implementation shows a definite increase in speed over traditional memory allocation.
Several benchmarks show that through user-level memory management an average of a three fold increase in the speed
may be achieved on a Linux machine when compared to that of the
traditional malloc()/free() functions.
|