Performance Tuning Checklist
To begin analyzing GPFS performance or to design a system a "quick start" checklist can be a useful tool. This checklist is a good place to start and is a helpful reminder for those already familiar with GPFS. It contains a list of "areas to consider" when determining the performance of a GPFS solution. Tuning these parameters, in many cases, can greatly improve application performance.
This page is intended to remain a list for easy reference. Further details on these or other parameters or tuning tips should be provided on separate pages and linked to from here.
How to get started
The biggest challenge when tuning GPFS is developing a clear understanding of your goals. Before embarking on a performance tuning exercise it is a good idea to clearly define a performance target.
Developing a performance target
Developing a clear performance target allows you to keep your tuning effort focused. Since tuning is often a game of give and take a focused approach can help you make those value decisions as they arise. A performance target can take many forms:
Whatever your target there are certain characteristics the goal should have.
GPFS Configuration Parameters
File System Configuration
Fibre Channel Settings
fsync() - A file sync is a heavy IO operation that adds latency to a file create or write operation. This means that a single application thread writing one file at a time can create fewer files per second then when not using fsync. To improve performance you can use fsync less or make sure your application has multiple processes running in parallel.
This section contains sample configurations with some discussion around why the specific parameters were chosen. Of course it is always recommended that you test any configuration parameters before implementing them on a production cluster
General use HPC Cluster
A general use HPC cluster is typical at many universities, for example. These clusters need to support a variety of I/O workloads so you typically cannot tune to a specific type of I/O pattern. Even with unpredictable IO workloads these clusters have many properties in common. For example, there are usually three types of server usage:
These recommendations make many assumptions about server memory and communication infrastructure. Remember these are just examples and are a good place to start though you need to adjust as necessary to fit your environment.
There are slightly different starting points for the three server types
User Login Nodes
General use small Direct Attached Cluster
In this configuration you have small cluster 2-10 nodes that all have direct access to a common set of LUNS over a SAN, for example. All of these nodes are running a variety of applications.