next up previous contents
Next: The Base Approach Up: The Synergy Between Non-blocking Previous: Minimizing the Window

Non-Blocking Synchronization Implementation


With the structuring of the Cache Kernel and supporting class libraries described above, non-blocking synchronization is relatively simple to implement. Most data structures are collections of fixed-size descriptors. Several collections are queues for service. For example, thread descriptors are queued in the ready queue and a delay queue of their associated processor. Other collections are lookup or search structures such as a hash table with linked list buckets. For example, we organize page descriptors into a lookup structure per address space, supporting virtual-to-physical mapping for the address space.

Michael Greenwald
Thu Sep 19 12:18:20 PDT 1996