The rise of multi-server clusters has changed the landscape of computing dramatically and permanently. Not only are clusters surpassing yesterday's behemoth supercomputers, they are also triggering a concurrent revolution in storage architecture. Today's high-performance computing (HPC) environment not only breaks the boundaries that stymied Teraflop progress for decades, but does so at far lower cost than supercomputers.
Storage needs are skyrocketing as content and applications grow more complex and sophisticated. Nowadays, an organization needn't be working at supercomputer levels to have massive storage requirements — which explains in part the growing exodus from direct attached storage to the “shared” storage area network (SAN) approach. Until recently, the innovative SAN infrastructure was almost entirely overlooked by administrators who specialized in optimizing transaction performance. But increasingly, these same administrators are recognizing the ability of SANs to centrally manage and scale their ever increasing storage needs.
The SAN Is Rising
As most administrators know, using multiple file servers to support a giant cluster increases the cost, complexity and management of the environment. Simply adding more storage is difficult and disruptive when dealing with data-intensive applications. As new volumes and mount points are added, capacity and bandwidth must be balanced and re-balanced across multiple servers. While clusters can generate trillions of calculations per second, managing that huge data volume is an issue. These and other challenges are why, until recently, advances in processing performance easily outpaced scalable storage. And why the unique abilities of SANs are making inroads into supercomputing.
For over a decade, SANs have gone through the typical product life cycle. It has gone from early adopter Fortune 100 companies making the first purchases in an effort to find a way to consolidate storage and save datacenter costs up to today, where now small- to medium-sized businesses can afford to own and operate a SAN. Along the way, cost and complexity was removed from the implementation and management in order to accelerate adoption.
A similar effect has happened to HPC with the use of general-purpose CPUs and open systems software (Linux, clustering and file systems), both of which have provided for the removal of cost, complexity and size of the compute engine. Both technologies are at the crest of a new wave of adoption in each other's markets.
The right SAN in an HPC environment can support the huge capacity and aggregate throughput of the cluster or grid, plus perform dynamic load balancing and data redistribution, spreading data across the storage architecture and providing a single point of management and namespace for a file system. A relatively low-cost SAN investment can easily surpass attached storage in terms of utilization, flexibility, scalability and performance.
Nevertheless, to fulfill its promise, networked storage must be simple, transparent and inexpensive to implement, so that its costs/benefits prevail in the real world. Finding the optimal storage strategy is a challenge that administrators must first recognize, then move forward to develop the architecture, find the right vendor, implement the solution economically — and manage it all. In the past, this transition may have seemed risky and daunting to administrators, who elected to stay with their old solutions. By now, however, SANs have the momentum from the commercial marketplace to leverage its adoption into the scientific marketplace.
Early Adoption of SANs in HPC
For studios producing animated films or special effects, success in terms of deadlines, cost, audience appeal, revenue and future viability now depends heavily on SANs. Achieving smooth transitions, fine detail of motion, texturing, shadowing and tonal qualities requires compute power and unprecedented amounts of data, which must travel among workstations at lightning speed throughout post-production, editing and other processes. CGI (computer-generated imagery) data transfer and editing needs a high-bandwidth, low-latency system — and that's where the SAN shines.
Without mass storage, all those jaw-dropping special effects, realistic graphics, and complex action sequences start to drag as the application becomes “data bound.” The information may be there, but it's moving too slowly to form a coherent flow of images or allow for agile post-production editing. Using the talents of the SAN coupled with racks of “pizza box” servers, editors can collaborate on footage in near real time. Postproduction teams reformat action sequences, merge with special effects and simulations, and meld into seamless footage that keeps the audience riveted. Without a SAN, all this would demand proprietary fabrics, which tend to be bulky, expensive and unmanageable.
Given that SANs are flexible, open and standards-based, the search for the right SAN approach has focused more and more on finding the highest-performing interconnect to join the I/O and compute nodes. In an April 2006 HPC User Forum survey conducted by IDC, participants named parallel I/O bandwidth needs as key. Almost two out of every three surveyed were willing to invest right now in storage solutions that will improve parallel I/O bandwidth. While current choices reflect a variety of proprietary interconnects, for many, 10 Gigabit Ethernet is sufficient, both for its affordability in server-to-server and server-to-storage solutions, and for its ability to span numerous servers and clusters. Another I/O approach even uses SANs, with their block-based data access, alongside file-based NAS, with I/O nodes forwarding data to compute nodes in appropriate ratios.
It could be argued that InfiniBand I/O connections opened the way for clusters to reach supercomputer levels. With its high message rates, low MPI latency and bandwidth capabilities, InfiniBand lets applications scale to thousands of nodes at a relatively affordable cost. (Reference: Cambridge University Case Study)
Having a high-speed system for connecting processor and I/O nodes forged the link that HPC needed, surpassing local transaction-based I/O across buses to allow a remote message-passing scheme across channels. Independence from the host operating system and processor platform also fueled performance. A SAN is manageable enough to dynamically allocate storage from the common pool — plus allow smooth server replacement with no data migration.
Additionally, with the introduction of multi-protocol fabric directors with virtual I/O controllers, it just got a little easier to add a SAN to InfiniBand clusters. These new directors enable servers on InfiniBand fabrics to transparently access either Fibre Channel or Ethernet networks or both, providing a number of key benefits:
- Virtually eliminate the need for separate server connections for storage, interprocessor communications, and LAN/WAN networks.
- Allow you to scale network I/O and servers independently.
- Provide the capability to virtually pool and share I/O between servers.
- Simplify network cabling!
- Reduce power and cooling requirements.
- Improve the total cost of ownership (TCO) of the cluster and grid computing.
This result is a “one wire” cluster computing interconnect solution that allows the uninhibited growth of servers and I/O to achieve new plateaus for HPC.
A Case For SANs
The software that runs clusters is engineered for quick scalability and nondisruptive reconfiguration, so clusters can expand easily, using low-cost, off-the-shelf computers. Distributing databases across various systems boosts performance levels, while mirroring enables high availability. For administrators who must now protect and manage this cluster-generated data — a critical information asset — shared SAN storage is ideal.
Deploying and managing mass storage can be prohibitively expensive if experts are needed and implementation is cumbersome. The fact that SANs allow connecting of servers to storage quickly and easily makes them practicable and preferable. A SAN lets a company dynamically allocate storage to their clusters to sustain continuous function, without having to delay or stop running jobs because the disk is filled up.
With storage that's sized and designed accurately, data can reside on the cluster, leaving ample room for optimal performance. Administrators launching large applications might be tempted to invest in more storage capacity than the servers actually need, resulting in sub-par utilization and complexity — and still not assuring sufficient capacity. But a SAN solves that conundrum, enabling a shared pool of storage for accurate, nondisruptive deployment of the right amount of capacity when it is needed.
SANs are particularly well-suited for large-scale Linux clusters running science and engineering applications, making them a favorite of universities, government laboratories and performance-driven industries. (However, some clusters still use slow shared I/O protocols such as Network File System (NFS), the current standard for sharing files. The resulting slow I/O can limit the speed and throughput of the Linux cluster.)
SANs deliver the no-excuses availability that clusters need. HPC does well with a shared backup architecture accessed through a Fibre Channel SAN, with arrays providing superior fault tolerance, including RAID algorithms to indemnify solutions against hard drive failures. Shared access to a tape library or disk-based backup device is also much more practicable than backing up over the LAN or with tape drives in each server. The commoditization of Fibre Channel switching and HBAs are driving SAN growth as well.
Centralized SAN backup and recovery are sparing of time and money, with traffic running over a shared SAN using Fibre Channel interfaces at speeds of up to 4 Gbps. This dramatically improves backup and recovery performance, especially compared with running backups over a corporate Ethernet LAN at 100 Mbps or 1 Gbps.
What About HPC Data Requirements?
For companies that perform engineering simulations, clustered computing has enabled unimaginable leaps of progress. Years ago, if an automotive company wanted to analyze the heat output of an engine, they might run it at 60 mph for an hour, then measure the heat output. That was steady-state benchmarking. Today, sophisticated high-performance computing enables “transient” analysis in which they can idle the engine for 20 minutes, bring it up to 60 mph, down again, and so forth, simulating real-world conditions much more closely, while capturing all data points.
While steady state analysis doesn't vary in time or necessarily involve huge amounts of data, transient analysis is dynamic and generates massive amounts of information, gobbling up huge amounts of CPU time. Companies could not afford to process that level of detail with meaningful frequency. Hence, results were less accurate and showed a one-dimensional snapshot of the process.
Using a clustered configuration, a company can run CPUs in parallel and scale effectively to perform the more demanding transient analyses. The amount of time spent doing transient analysis is growing beyond steady state because of its greater accuracy and utility. As the cost of compute power declines, problems that were formerly intractable now become possible — even routine.
Some large automotive companies have even instituted a storage environment that involves one large SAN and no local storage at all. In a parallel file system, parallel data blocks cross multiple storage devices on multiple storage servers. As the available servers and available storage devices are increased, throughput can easily be doubled or tripled.
Clearly, the requirements to store data generated by HPC applications are growing and will continue to grow as the transient analysis trend becomes commonplace.
The Solution is Here… Today!
SANs are a much-needed common storage resource that can be allocated and re-allocated to servers as needed. They extend block-based storage across the entire cluster to enable device sharing and smart, flexible use of storage resources. Not only do SANs deliver the necessary bandwidth, they offer major Quality of Service (QoS) advantages and provide superior fault tolerance, ease of setup, configuration, monitoring and managing of the fabric.
HPC clusters have typically been directly attached to storage devices, which constrained the growth of storage and servers. SANs break this constraint and provide numerous benefits:
- Underutilized storage that is direct attached to a server can be recaptured and made available to other servers.
- Storage can be consolidated to a single, manageable data resource with redundancy and RAID protection provided.
- Management can be consolidated to a single console and single administrator.
- Storage and server environments can scale independently of each other without being costly.
As computing clusters continue to grow in performance, other components of the HPC infrastructure must scale to support the CPUs. Network and storage bottlenecks will undoubtedly be exposed as the compute-hungry clusters need more data to process. As echoed by a number of the participants at the HPC Forum: “centralized storage, utilizing low-cost storage networks is a requirement for future growth in the industry.”
With ten years of experience in the storage networking industry, Tim Lustig has authored numerous papers and articles on all aspects of IT storage, and has been a featured speaker at many industry conferences on a global basis.
As the Senior Manager of Technical Marketing at QLogic, Lustig is responsible for outbound marketing activities with technical trade publications, third party testing/validation and strategic product marketing directives of QLogic. His responsibilities include customer research, evaluation of market conditions and technical writing.
He holds a Bachelors Degree in Computer Networking and Administration from Coleman College in San Diego.