Changes between Version 9 and Version 10 of Projects/GSoC/PosixKeys


Ignore:
Timestamp:
Aug 19, 2012, 4:25:47 PM (7 years ago)
Author:
Zhongwei Yao
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Projects/GSoC/PosixKeys

    v9 v10  
    88=  Current implementation  =
    99
    10 current implementation allocates an array when key creates, which holds all of the threads' or tasks' key value. The pre-allocated array's size is as big as the number of threads in system. It is a waste of memory that allocates key value slot for thread which would not use POSIX key at all. And other problems of current implementation is as [wiki:Current_implementation's_problem current implementation's problem] describes.=  One rbtree approach  =
     10current implementation allocates an array when key creates, which holds all of the threads' or tasks' key value. The pre-allocated array's size is as big as the number of threads in system. It is a waste of memory that allocates key value slot for thread which would not use POSIX key at all. And other problems of current implementation is as the current implementation's problem section describes.=  One rbtree approach  =
    1111
    1212In this approach, there is only one rbtree which is used to manage all POSIX Keys' data. If there are '''m''' POSIX Keys and '''t''' POSIX Threads, and each Thread has '''m''' Key values, then there is '''n(n = m * t)''' nodes in the global rbtree. A comparison between this approach and one rbtree per thread approach is provided in next section.=  One rbtree per thread approach  =