Page 37 - DCAP104_EXPOSURE_TO_COMPUTER_DISCPLINES
P. 37
Exposure to Computer Disciplines
Notes desktop and server microprocessors may have as many as half a dozen, each specialized for a
specific function. Examples of caches with a specific function are the D-cache and I-cache (data
cache and instruction cache).
2.6.2.2 Disk Cache
While CPU caches are generally managed entirely by hardware, a variety of software manages
other caches. The page cache in main memory, which is an example of disk cache, is managed
by the operating system kernel.
While the hard drive’s hardware disk buffer is sometimes misleadingly referred to as “disk
cache”, its main functions are write sequencing and read prefetching. Repeated cache hits
are relatively rare, due to the small size of the buffer in comparison to the drive’s capacity.
However, high-end disk controllers often have their own on-board cache of hard disk data
blocks.
Finally, fast local hard disk can also cache information held on even slower data storage devices,
such as remote servers (web cache) or local tape drives or optical jukeboxes. Such a scheme is the
main concept of hierarchical storage management.
2.6.2.3 Web Cache
Web browsers and web proxy servers employ web caches to store previous responses from
web servers, such as web pages. Web caches reduce the amount of information that needs to be
transmitted across the network, as information previously stored in the cache can often be re-used.
This reduces bandwidth and processing requirements of the web server, and helps to improve
responsiveness for users of the web.
Web browsers employ a built-in web cache, but some internet service providers or
organizations also use a caching proxy server, which is a web cache that is shared among all
users of that network.
Another form of cache is P2P caching, where the files most sought for by peer-to-peer
applications are stored in an ISP cache to accelerate P2P transfers. Similarly, decentralised
equivalents exist, which allow communities to perform the same task for P2P traffic, e.g.
Corelli.
2.6.2.4 Other Caches
The BIND DNS daemon caches a mapping of domain names to IP addresses, as does a resolver
library.
Write-through operation is common when operating over unreliable networks (like an Ethernet
LAN), because of the enormous complexity of the coherency protocol required between multiple
write-back caches when communication is unreliable. For instance, web page caches and client-side
network file system caches (like those in NFS or SMB) are typically read-only or write-through
specifically to keep the network protocol simple and reliable.
Search engines also frequently make web pages they have indexed available from their cache.
For example, Google provides a “Cached” link next to each search result. This can prove useful
when web pages from a web server are temporarily or permanently inaccessible.
Another type of caching is storing computed results that will likely be needed again, or
memoization, ccache, a program that caches the output of the compilation to speed up the second-
time compilation, exemplifies this type.
Database caching can substantially improve the throughput of database applications, for example
in the processing of indexes, data dictionaries, and frequently used subsets of data.
30 LOVELY PROFESSIONAL UNIVERSITY