Ohio State Univeristy
Data movement from two locations in any part of computer systems are increasingly more critical and expensive than computing. Representative examples of the data movement include data flow within CPU via pipelines (multi-core processors make data accesses even more complicated), between CPU and caches via on-chip and off-chip data links, between caches and DRAM via memory buses, between DRAM and disks via I/O buses, and between a machine to another remote machine via Internet or wireless connections. Two basic operations are involved for a data movement: (1) transferring data between the two locations, for which the data link bandwidth (Bytes/second) determines the transferring speed; (2) the data access time (for physically reading and writing the data) in source and destination locations, which is called the latency. For the last 20 years, the bandwidths for different types of data links have been dramatically increased, however, the latency times at different locations have reduced in a much slower pace. It is impossible for us to solve this imbalanced problem in computer systems, but the rich bandwidth and lagging latency must be coped with over a long period of time in our designs and implementations by data caching and replication anywhere necessary in computer and distributed systems.
This class will introduce several advanced caching and buffer management techniques in computer and distributed systems:
1. Efficient cache designs for both high hit ratio and low access time
overview of cache structures
trade-offs between hit ratios and access times
techniques to achieve both.
Cache partitioning in multi-core processors
2. Buffer management in DRAM
exploiting locality in row buffers
cached DRAM and its organization
design of large off-chip caches by cached DRAM.
3. Page/block replacement in virtual memory and buffer caches
LRU replacement and its problems --- addressing the problem algorithmically
addressing the problem in the system kernel
Prefetching and caching to improve I/O performance
4. Utilizing spatial locality information of disks for buffer management in OS
What information can OS get and what it can not get?
The significance of utilizing spatial locality of disks for OS.
How do we get the disk information?
How do we use it to improve caching and prefetching efficiency.
Flash memory caching for saving disk power.
5. Caching in Internet and Wireless Networks
basics of caching in distributed systems
Internet streaming traffic patterns and their caching implications
Xiaodong Zhang is the Robert M. Critchfield Professor in Engineering, and Chairman of the Department of Computer Science and Engineering at the Ohio State University.
Since 1992, he has established and directed the High Performance Computing and Software Laboratory where he has supervised over 40 graduate students (both MS and Ph.D), post-docs, and visiting scholars. His research interests cover a wide spectrum in the areas of high performance and distributed systems. A common thread among his research projects focuses on fast data accesses and resource sharing with cost- and energy-efficient management at different levels of the memory and storage hierarchies in computer, distributed, and Internet systems. Several technical innovations and research results from his team have been adopted or being developed in commercial products and open source systems with direct impacts to our daily computing operations, including the permutation memory interleaving technique first in the Sun MicroSystems' UltraSPARC IIIi processor for various desktop and server products and then in the Sun's dual-core Gemini Processor, the token thrashing protection mechanism and the Clock-Pro page replacement algorithm for memory management in the NetBSD operating system, and in the Linux Kernel . This list of selected and representative papers reflects his long term research efforts.
Xiaodong Zhang was the Program Director of Advanced Computational Research at the National Science Foundation, 2001-2004. He is the associate Editor-in-Chief of IEEE Transactions on Parallel and Distributed Systems, and is also serving on the Editorial Boards of IEEE Transactions on Computers, IEEE Micro, and Journal of Parallel and Distributed Computing. He is an organizer and a lecturer of the Dragon Star Lecture Program offering advanced research classes of computer science and engineering in many Chinese universities for thousands of talented graduate students and young faculty every year.
More information about his work can be found at: