Cheeloo-1 with OceanStor Pacific
JNIST and HUST PDSL · Huawei OceanStor Pacific · Fully Reproducible
System Purpose
Question asked
Please describe the purpose and general usage of the submitted system. This would include the types of typical applications it supports (e.g., defense applications, molecular dynamics, benchmarking, system test, systems research), and the general use and purpose of the data generated by the applications running on it.
The submitted Cheeloo-1 system is deployed to develop the next generation platform prototype of data intensive HPC and AI training applications, verify the performance of Huawei next generation filesystem OceanFS2, and evaluate the possible performance enhancement of HPC and AI training system with better IO improvements.
Availability
Question asked
Please provide the deployment timeframe of the submitted system, or for on-demand cloud systems, the general period over which it is deployed and destroyed.
Please describe the availability of the system to users and who are its set of most regular users.
Deployment timeframe: March 15, 2023 to May 20, 2023
The system is used for internal research purpose by JNISC & HUST PDSL storage team , and currently will not be accessed by public. But if anyone from IO500 organization wants to experience or test, please feel free to contact us.
Storage System Software
Question asked
How is this storage software available? (e.g., commercially, open-source, not publicly available) Note that if the storage software is not open-source or commercially available, then a general description would be requested, but this would limit the submission’s reproducibility score.
Can anyone download/purchase this software?
List either product webpage or open-source repo of the exact software used in IO500.
Give any and all additional details of this specific storage deployment: (e.g., type of storage server product such IBM ESS or DDN SFA400X2, use of Ext4 or some other file system on each storage node, dual connected storage media to storage servers).
The submitted system (Cheeloo-1) is deployed to develop the next generation platform prototype of data intensive HPC and AI training applications, verify the performance of Huawei next generation filesystem OceanFS2, and evaluate the possible performance enhancement of HPC and AI training system with better IO improvements.
OceanFS2 is the prototype for next generation file system of Huawei’s OceanStor Pacific storage, which will focus on the extremely high IO performance scenario like AI training, HPC etc. Currently, the filesystem is only used for internal research purpose, still not publicly available. But anyone from IO500 organization wants to experience or test, please feel free to contact us.
The filesystem is deployed on the current generation of Huawei’s OceanStor Pacific 9950, which provides 10 singlely connected NVMe SSD per node. All the SSD raw devices are managed by OceanFS2 directly without any local file system.
Runtime Environment
Question asked
State here that you provided all scripts/documentation that would allow someone else to reproduce your environment and attempt to achieve a similar IO500 score as the submitted system.
NOTE: provide all files/documentation/scripts that would enable a user to build your environment and deploy the custom scripts, software, or config files once they have obtained the appropriate storage system hardware and software. These may be included into the io500.tgz or into the extraCodes upload on the submission form.
Several examples include:
- Commands used to set striping information (either for the entire system or for particular directories)
- File system config and tuning information (or a reason why this is not available due to lack of root access, etc) on each node type (e.g., non-default config parameters on all three types of Lustre nodes: MDS, OSS, and client)
- Any additional scripts utilized that impact IO500 execution beyond the io500 config file. For example, with IBM Spectrum Scale, the output of mmlsconfig, mmlscluster, mmlsfs, and mmlsfileset commands (and possibly even a dump of the configuration if possible). Each file system probably has similar type of config/tuning information that would need to be shared for a user to fully reproduce the environment.
All the IO500 benchmark necessary steps are included in the submitted io500.sh script and ini config file. Anyone else can reproduce the result if he can prepare the same software and hardware environment.
Fault Tolerance Mechanisms
Question asked
Does your system have a single point of failure as defined by “Definition 7” of a Production System? Please describe all mechanisms that provide fault tolerance for the submitted storage system. Be specific to your submission, not general storage system capabilities.
- Power (For example, can power failure of a node or rack bring down the storage system?)
- Networking (For example, can failure of a single NIC bring down the storage system? Remember that any networking failure that brings down multiple nodes is acceptable)
- Inter storage data and metadata server (For example, what type of data protection mechanism does the storage system use to keep operating during node failures, e.g., active-active servers, client-directed RAID, declustered RAID, erasure-coding, 3-way replication)
- Intra storage data and metadata server storage media (For example, how does the storage eysstem protect against fiailure of a single storage device within a node, e.g., raid5)
Please list any additional information needed to determine whether this system has a single point of failure.
We provide hardware fault tolerance for the system. The only single point of failure of the system is it uses one data copy only, which may be improved by the cross node of erasure-coding or dual connected SSDs in the future.
- Power: Each of the node are equipped with dual power supply.
- Networking: There are multiple network connections from each client to storage server, which are connected by dual or more switches
- Inter storage data and metadata server: the data and metadata are distributed to each of the storage nodes, it uses one copy only
- Intra storage data and metadata server storage media: local ssd without any data redundancy
Execution
Question asked
Please provide a description of how the IO500 benchmark was executed, e.g., via system scheduler (e.g., SLURM) to run a job on the compute cluster, which initially ran a setup process to configure the client and file system, and then started the full benchmark.
During the IO500 benchmark execution was the system entirely dedicated to running the benchmark or were there other jobs running in the same cluster and storage system?
The IO500 benchmark was executed manually from one node of the computing clients. It doesn’t need to do any further configuration to run the benchmark.
The whole system including computing clients and storage nodes are entirely dedicated to run the benchmark.
Caching
Question asked
Please describe all caching mechanisms in client/server that were utilized during the IO500 run. This could include caching in any storage medium (e.g., SSD, RAM).
A few examples would include:
- Client data/metadata caching (in Linux page cache or in other memory cache)
- Client side NVMe read-only data cache
- Storage server metadata/data caching in RAM
- Storage controller caching
- RAID card caching
On client side, it doesn’t use any data caching, but it does use metadata cache in RAM.
On the storage server side, there are some data and metadata caching in RAM.
There is no any further cache in the system.
Data Source
Question asked
Is the submitted system a stand-alone storage system or an acceleration layer in front of another storage system that is the source of truth for all application data? This question relates to whether the submitted system is a burst buffer layered on primary storage or primary storage itself.
There is no other data tier in the system. The data is stored on the storage servers (OceanStor Pacific 9950) directly.
Trust
Question asked
Please describe any steps taken to ensure that the results are trustworthy.
- Did you run the benchmark multiple times and get similar scores?
- Did you validate the score is below the physical capabilities of the deployed hardware?
- How did you validate that the storage system follows the IO500 rules regarding persistence, which states, "All data must be written to persistent storage within the measured time for the individual benchmark, e.g. if a file system caches data, it must ensure that data is persistently stored before acknowledging the close"?
The final results are trustworthy, it can really be reproduced on the submitted system.
We have run the benchmark many times, and got very close performance results every time.
We have evaluated the results from different perspective of hardware capability like network, SSD, CPU, and memory, etc. all the results are reasonable.
We have also validated the data was persistently stored, the whole process fully follows the rule of IO500.