Workloads of network file server disk IO subsystems have very different characteristics than ob- served in timesharing or local IO systems described in the literature. In this study, we provide a detailed analysis of both disk and network workload traces collected from Novell NetWare network file servers. We characterize file server disk and network traffic and give insights into access pat- terns; we also consider the relationship between network and disk throughput. Measurements and statistics presented will aid designers and managers in designing and tuning network file servers and their disk subsystems. Our results can be used by analysts to parameterize synthetic models for file server and server subsystem studies.

Introduction

Networks and Network File Servers

Local area network (LAN) file servers provide global file systems that are shared by client worksta- tions. Novell NetWare is the most popular file server operating system for personal computer LANs. Workstations utilize NetWare’s global file system by submitting IO requests to a file server using simple network protocols. The file server processes these requests and replies to the workstations over the LAN.

Workstations use the global file system provided by the file server as they would use a local file system, to store data and application programs. Workstations may or may not have their own file system resources. In the case of diskless workstations, the file server provides all of a workstations’ file services, including its operating system, application storage, data storage, and temporary (swap) space. In the case of diskfull workstations, the file server provides a shared disk resource among many workstations which have their own local file systems.

For the global file system to be useful, the file server must provide the performance and reliability of a local file system. For data sharing, the server must provide adequate locking and synchronization mechanisms to allow sharing of data between workstations.

The performance of the file server, in providing shared access to its global file system, can be optimized in many ways. Using caching, the file server retains, in volatile memory, file data recently accessed by workstations. Read requests serviced from the file cache do not require disk accesses, substantially reducing response time. Disk accesses for write requests are postponed by using lazy- write caching. This reduces the client request response time. File system performance can be increased by increasing the size of this file cache and tuning cache parameters. File servers dedicate a large portion of their memory for file cache use.

Caches, found in disk subsystem adapters and disk controllers, also improve the performance of the disk subsystem. Even with these improvements, disk accesses remain an order of magnitude slower than server file cache accesses. To obtain acceptable performance, most client IO requests should be serviced from the server’s file cache. Read-ahead, write-behind, and replacement algorithms have all been implemented to realize this goal of increased performance.

…Read more in the Full Text