A cache management system providing improved page latching methodology is
described. In one embodiment, for example, a method is described for
providing access to data in a multi-threaded computing system, the method
comprises steps of: providing a cache containing pages of data in memory
of the multi-threaded computing system; associating a latch with each
page in the cache to regulate access to the page, the latch allowing
multiple threads to share access to the page for read operations and a
single thread to obtain exclusive access to the page for write
operations; in response to a request from a first thread to read a
particular page, determining whether the particular page is in the cache
without blocking access by other threads to pages in the cache; if the
particular page is in the cache, attempting to obtain the latch for
purposes of reading the particular page; and allowing the first thread to
read the particular page unless a second thread has latched the
particular page on an exclusive basis.