Overview

<< Parallel File Systems | Overview | Disks and Interfaces >>


The term storage means different things to different people, so we will concentrate on defining and explaining several different HPC storage solutions. In HPC, your storage design is always driven by your applications mix and needs. Some codes may require local disk drives in each of your nodes for scratch, while other designs implement Terabytes (TB) or even Petabytes (PB) of high-speed network connected storage. Storage technologies cover a broad range of options and capabilities, each with its own strengths and disadvantages, and we'll attempt to explain the technology as well as some of the trade-offs in these pages. As always, contact your Aspen sales engineer for the latest information and to discuss your specific storage requirements.

 

It always starts with the disks!

 

Many HPC solutions may perform adequately with lower priced disk drive technologies such as SATA , while others may require SCSI , SAS , or even SSD implementations for faster access.

 

Every solution is a trade-off. SAS drives are quite fast and reliable, but they come in smaller sizes by default and and are more expensive. SATA drives have large capacities and good value, but they may be less reliable than the same solution implemented using SAS drives. SCSI is becoming less common, but drive sizes, performance, reliability, and prices closely match SAS drive charateristics. SSD is very fast, but expensive, generally smaller in capacity, and suffers from shorter life cycles. SSD technology is currently best used for metadata or data caching, and generally isn't deployed as the only disks in the entire storage solution.

 

Your storage solution will almost certainly include a RAID implementation.

 

Almost all performance storage solutions utilize RAID technology to ensure data integrity and increase data transfer speeds and reliability. Different RAID levels are used for different purposes. RAID 1 mirrors are used on service and critical nodes in a cluster to protect the operating system, configurations, and data kept there, ensuring continued operation of critical cluster services if a disk fails.

 

RAID 5 and RAID 6 are commonly used to maximize data space on cluster-wide data shares while providing acceptable reliability. With todays' larger drives, RAID 6 is becoming necessary to provide true reliability.  RAID 10 is often the fastest RAID implementation available, and exhibits extremely high reliability in most implementations, but half your raw disk space is used for mirroring. A trade-off must always be done between data reliability, speed, and cost in order to determine the best RAID configurations for your specific implementation.

 

You'll require file systems too.

 

Every storage system will be implemented with a file system, and to make it just a bit more confusing, there are many different file systems to choose from based on your implementation and requirements. Local node file systems may be EXT3 on /boot and / partitions, and data partitions may be provisioned with EXT4, XFS, or JFS in order to increase data access speed, then served out to the cluster via an NFS file system. Parallel file systems such as GFS , GPFS , Lustre , or Panasas parallel NFS may be deployed for higher data performance and to improve your solutions scaling.

 

The storage system architecture is important.

 

The best storage solution architecture for your specific needs will depend on aggregate data speed needs inside your cluster, the enterprise features your require, how reliable or redundant you need the solution to be, what your budget allows you to procure, and, as always, your applications mix. We'll give you some general guidelines in a bit, but first we have to discuss the different architectures that might be used to implement your storage inside your cluster.

 

There are three general classes of storage architectures;

  • Local Disk Configurations - are installed directly into your nodes, either in the compute nodes to house an operating system or local scratch space, or as larger RAID systems which are installed in head nodes or dedicated storage nodes to serve larger data spaces to the rest of the cluster. Local disk configurations are not sharable at the block level with other nodes. Instead, they are shared out using NFS or parallel file systems to the other nodes in the cluster.

    Compute node implementations can be single or multiple disks installed with or without RAID hardware or software implementations, depending on what local data access speed is needed on the nodes. Head node implementations are normally hardware RAID cards connected to disks that are installed directly into the chassis, or installed in JBOD units that use external SAS expander cables connected to the external port of the servers RAID card. This is a very cost effective storage implementation, but can have data access speed and management limitations.
  • NAS configurations - are stand-alone, customized hardware appliances that connect to the cluster or organizational network to share data space. They are normally customized for performance and reliability, and provide uniform administrative interfaces. Depending on the vendor, they serve either NFS or parallel file systems to your cluster. Clustered NAS systems exhibit very good scaling. Often adding another unit will increase data access speed linearly.

    NAS implementations generally provide customized management tools that make it easier to expand the system, diagnose faults, or tune performance parameters. Most NAS implementations are capable of multi-protocol file serving, and enable both your HPC solution and other organizational data clients (such as Windows workstations) to access the same data space using different protocols. They interoperate with industry standard back-up solutions well, and can have other reliability enhancements designed to ensure continuous service and high availability. All these features come at a cost, however; NAS solutions can be expensive.
  • SAN configurations - connect several or many server nodes to shared disks via Fibre Channel or another high speed network technology. A SAN configuration is used to share disk assets to multiple nodes at the physical device level and allows multiple servers to access the same data partition. This makes SANs ideal for use when deploying parallel file systems in an HPC solution. Allowing access to the same data partition by the servers allows server processing power and network data sharing speed to increase almost linearly up to the limits of the SAN interconnect or disk solution serving speed. SAN configurations are quite robust and standardized, with very good performance characteristics, but they can be quite expensive.


<< Parallel File Systems | Overview | Disks and Interfaces >>


Bookmark and Share