SuperMUC-NG-Phase2-EC

LRZ · Lenovo DAOS · 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.

SuperMUC-NG is the name of the high-end supercomputer at the Leibniz-Rechenzentrum (Leibniz Supercomputing Centre) in Garching near Munich (the MUC suffix is borrowed from the Munich airport code). With more than 311,000 cores and a peak performance of more than 26.9 Petaflop/s (=10^15 Floating Point Operations per second), it is one of the fastest supercomputers in the world.

SuperMUC-NG is available to all European researchers of the PRACE member states to expand the frontiers of science and engineering.

SuperMUC-NG Phase2 is the expansion of this supercomputer, which is deployed in 2022/2023.

https://doku.lrz.de/display/PUBLIC/High+Performance+Computing

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.

SuperMUC-NG is available to all European researchers of the PRACE member states to expand the frontiers of science and engineering.

SuperMUC-NG Phase2 is the expansion of this supercomputer, which is deployed in 2022/2023.

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 storage software is Distributed Asynchronous Object Store (DAOS), currently at Version 2.6.4-2. DAOS is completely open-source:

Commercial support for DAOS is available from multiple companies. For SuperMUC-NG Phase2, DAOS support is provided by Lenovo and HPE.

The DAOS storage cluster in LRZ's SuperMUC-NG Phase2 system consists of 42x Lenovo SR630v2 servers, currently running DAOS Version 2.6.4-2 on SLES 15.5:

Reference information for the storage solution:

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.

Full reproducibility documentation including the DAOS server configuration files as well as client-side setup and run scripts is provided in the daos-stack github repository:
https://github.com/daos-stack/daos-reproducibility/tree/master/io500/sc25/lrz/sng2 

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.

DAOS is a scale-out software-defined storage system.

Hardware redundancy on the individual storage server level includes dual power supplies (with redundant facility power feeds at the rack PUD level), and dual InfiniBand network interfaces (typically attached to different InfiniBand leaf switches). The servers used at LRZ are also using memory DIMMs with ECC error detection and correction. All other redundancy features are provided in software.

The DAOS management service is redundant, with instances running on multiple DAOS servers. Client access to the management plane is transparently redirected in case that individual DAOS servers fail. There are no dedicated metadata servers. Data placement is algorithmic, and declustered across all storage targets.

Contrary to traditional storage systems, a DAOS storage allocation (a DAOS pool) does not prescribe any particular data protection level. It is only a raw storage allocation that is performed by the storage administrator (or a job prolog).
Data distribution and data protection is handled at the DAOS container level. A DAOS pool can host multiple containers, which share the storage allocation but may employ different data distribution and data protection mechanisms.

Container management is an end user role and does not require storage administrator intervention. This means that end users are free to pick the appropriate level of data protection for each of their datasets, on a per-container or even a per-object level. DAOS supports sharding/striping (redundancy factor rf=0), replication (2-way up to 5-way), and network erasure coding (4+1P, 4+2P, 8+1P, 8+2P, 16+1P, 16+2P, etc.).

Regarding the IO500 rules:

  • DAOS submissions for the Production list use 2-Way replication for metadata and for IOR-Hard, and single-parity EC (here, 16+1P) for IOR-Easy, in order to satisfy the requirement of “no single point of failure”.
  • DAOS submissions for the Research list use sharding/striping (no data protection) for all tests, in order to achieve maximum performance.

Note that these choices are completely user-defined (as part of the API definitions in the IO500.ini file), and have been executed on the exact same storage system configuration without intervention of a storage administrator.

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?

LRZ's SuperMUC-NG uses Slurm for resource scheduling. 

Full reproducibility documentation including the DAOS server configuration files as well as client-side setup and run scripts is provided in the daos-stack github repository:
https://github.com/daos-stack/daos-reproducibility/tree/master/io500/sc25/lrz/sng2

Compute nodes and storage system were dedicated while running 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

The DAOS File System (DFS) API that was used for the IO500 runs does not perform any caching.

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.

DAOS is a standalone storage system, and the DAOS POSIX container used in the IO500 benchmarks is the primary storage.

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"?

All runs have been repeated multiple times to ensure consistency.

All results have been reviewed for plausibility and are reasonable within the hardware performance boundaries of the servers, clients, and HDR InfiniBand network.

An in-depth performace sclaing study of IO500 workloads is also available in the SC-Asia 2023 paper Understanding DAOS Storage Performance Scalability.