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
   32   33   34   35   36   37   38   39   40   41   42