LAN Migration Strategies
A number of companies are facing the prospect of increasing the performance of their LAN-based systems. While laudable, it is important to map out a strategy to prevent investing in technologies which will not, in fact, improve overall performance. Network-based systems performance is a function of the sum of all the components which comprise the system. Improvements in one area might not translate to results which are visible to the users of the system.
Since so many elements are involved in LAN-based systems, it makes sense to begin by looking at the performance of some of the lower-level devices. Since one of the most common uses for a LAN is to provide disk services, we will first look at the performance of hard disks and their access subsystems. We will then work our way back to the performance of network interfaces, hubs and routers.
Hard Disk Drives
A hard disk drive consists of a series of rapidly rotating platters and a series of heads which "fly" above the platter surfaces to read and write information. The heads are moved across the surface of the platters as one using some form of mechanical actuator system. A disk drive unit also requires a circuit board which controls the operation of the actuator and the driving of the read/write heads. The circuit board also contains the interface electronics necessary for communication with the system to which it is connected.
There is a lot of diversity in the way various products implement this basic model. Rotational speeds range from 3,600 to 10,000 rpm. Average access times (dependant upon the actuator mechanism as well as the rotational speed) range from 50 down to 6.3 milliseconds. The time required for the actuator to move the heads from one concentric data track to the next range from 10 to 0.7 milliseconds. The actual rate for data transfer to/from the physical disk ranges from less than 1 to over 100 megabits per second.
Disk drives vary by the number of platters on which data is recorded and their diameter. Platter coatings can be magnetic oxide or thin-film. Read/write heads can be thin-film or even giant magnetoresistive models. The interface circuitry sometimes provides advanced features such as read-ahead and data buffering. Generally speaking, the newer drive offer performance far ahead of drives manufactured only a few years ago.
Disk Drive Interfaces
A number of interface specifications exist for communicating with hard disk drives. The architectures of these specifications also vary in the amount of intelligence required of the disk drives versus the controllers. The interfaces are usually implemented as busses, permitting the connection of multiple devices to a single interface. Bus speeds range from 8 megabits per second to 100 megabytes per second.
The Integrated Drive Electronics (IDE) specification requires more intelligence in the drive and less in the controller. This interface is typically provided on the motherboard of computer systems as it does not require a great deal of hardware to implement. The Small Computer System Interface (SCSI) specification requires disk drive intelligence as well, but also requires a controller which is responsible for arbitrating the bus as well as controlling the attached devices.
Disk Drive Controllers
Disk drive controllers function as a bridge between the host system bus and the external device bus. The level of intelligence incorporated into the interface card is partially dependant on the type of external interface. While the IDE architecture somewhat simplifies the controller architecture, it does so at the cost of additional CPU resources required to manage data transfers. SCSI controllers, on the other hand, perform much of the device management to the point where minimal CPU resources are required.
Disk controllers communicate with the host system through a variety of mechanisms. These include PIO (Programmed Input/Output, basically byte-at-a-time transfers) and DMA (Direct Memory Access, transfers directly to/from memory, requiring no processor intervention.) Disk controllers can be equipped with cache buffers to reduce the time required to retrieve frequently accessed data. Depending upon the device interface bus, disk controllers can also interleave input/output operations to maximize the utilization of the bus bandwidth.
A device driver is a software component which interfaces the operating system to the device controllers. A well-designed driver can utilize knowledge of the characteristics of attached devices in order to optimize their operation. A device driver can reorder input/output requests so as to eliminate extraneous head seeks on the part of the hard disk drives. A device driver can also take responsibility for "mirroring" or "striping" of data across multiple physical disk devices or implementing other RAID (Redundant Arrays of Inexpensive Disks) architectures.
Although typically provided as part of the operating system, it is often possible to secure device drivers from the manufacturers of controller cards. These drivers are usually optimized for both the features of the controller card and the target operating system. It is generally acknowledged that, while generic device drivers are adequate for most applications, specialized drivers usually provide superior performance.
While this topic might seem superfluous to this discussion, it actually has a significant impact on overall system performance. The server operating system is responsible for the overall management of incoming service requests and the replies to those requests. The operating system must efficiently manage the network interface(s) as well as the local devices. The server operating system must provide facilities which permit the optimal utilization of available resources.
Network Interface Cards
Here we start to address the mechanisms used to access the network which connects clients to servers. Network interface cards are, in some regards, similar to disk controller cards, in that they can interface to the operating system in different ways and present differing processor loads. They are responsible for the sending and receiving of data on a connected network and the communication of that information to the host processor.
Network interface cards and their associated device drivers must provide an efficient communications channel for data transfer between client and server. Depending on the network protocol in use, this can include packet disassembly/reassembly and the implementation of the necessary "handshaking" protocols such as packet acknowledgement. These tasks are often distributed between the interface card and the device driver.
Hubs are used to connect multiple network nodes and manage the transfer of data between them. The data signals received on a port at the hub are conditioned before being forwarded to one or more of the rest of the ports. Hubs can incorporate ports used for connection to a backbone network. They can also contain a high-speed bus used to connect, or stack, multiple hubs.
Hubs can be either shared or switched. Shared hubs forward received data to all ports while switched hubs perform routing based on the media access or data link layer (OSI layer 2) destination address. Shared hubs operate at the speed of the network interfaces while switched hubs require a switched backplane which should have a bandwidth significantly greater than the speed of the connected ports.
Routers forward traffic based on the network (OSI layer 3) destination address of data packets. They function as a bridge between LAN segments or between a LAN and a WAN. The speed of the WAN interface can be either higher or lower than the LAN interface speed. Routers also exchange routing information using a variety of protocols to enable the most efficient forwarding of data packets.
Routers also perform protocol translations, converting between ethernet and token-ring access mechanisms, for example. Routers can also implement security models, using access control lists, to control inbound and outbound data traffic. Routers usually have the ability to communicate access and protocol violations by transmitting alerts via the Simple Network Management Protocol (SNMP.)
As can be seen, there are numerous elements involved in providing users with access to shared information. A simplistic approach is not likely to provide the user community with faster access to the data they require. Although grammatically incorrect, we use the term "holistic" to describe a system-centric approach. As such, there are a number of steps which can be taken by a system administrator to improve effective throughput:
Switched ethernet is a powerful technology whose deployment only makes sense if the remainder of the network infrastructure is capable of handling the increased bandwidth. If one is aware of the bottlenecks which already exist in the network, financial resources could be more effectively applied in areas which would truly improve the perceived performance of the system. Contrarily, if the infrastructure is not capable of benefiting from a change from shared to switched network access, due to other system bottlenecks, then investment in high-speed local network interconnection would be wasteful.
Copyright © 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 by Phil Selby. All rights reserved.