In this paper we propose a new paradigm and algorithms to address cache writeback performance in servers and storage arrays. As servers and storage processors move to multi-core architecture, with ever increasing memory caches, the cost of flushing these caches to disk has become a problem. Traditional watermark based algorithms currently used in many storage arrays and NAS servers have a problem keeping up with the higher speeds of incoming application writes, often resulting in a performance penalty. The server's cache is generally used for hiding high disk latencies associated with file system data. In general, metadata performance was optimized, while application data was considered less sensitive to high latencies and was given lower priority or was written directly to disk. The new algorithms proposed here change the application data writeback from using watermark based flush to something that approximates the rate of the incoming application I/Os. The problem is more critical for network file systems where the complex client/server protocols can make writeback a serious performance barrier, particularly in light of very large I/Os and the lack of application commits. Our proposed algorithms are applicable to local file systems and remote servers as well as to storage arrays. We show test results based on dynamic traces of real file system dirty pages in the buffer cache and prove that rate based cache writeback algorithms are the most efficient replacement for watermark based flushing.
Network speeds have been increasing rapidly. The higher bandwidth communication links available now, ranging from 100 Mbits/sec to Gbits/sec, present considerable potential for distributed applications. Processor speeds have also increased relentlessly. However, until now the ultimate throughput delivered to the user application has not increased as rapidly. The paper describes the implementation of the TCP/IP and UDP/IP protocol suite on Digital's Alpha AXP systems with the DEC OSF/1 operating system over FDDI. User applications are able to achieve almost the full FDDI bandwidth of 100 Mbits/sec, thus essentially eliminating the end-system as a bottleneck for network I/O bottleneck. Included in the TCP/IP implementation are extensions to TCP recently adopted by the IETF such as support for large transport windows for higher performance. This is particularly desirable for high speed networks and/or large delay networks. Incremental work for data movement and checksums are often the most expensive operations of protocol processing. These have been optimized to take advantage of the Alpha XP workstation architecture including 64 bit support, wider cache lines and the coherence of cache blocks with DMA. We show, via measurement results that TCP achieves a throughput of 95 Mbits/sec. We also show that UDP performance is comparable. In addition, and unlike typical BSD-derived systems, the UDP receive throughput to user applications is also maintained at high load.< >