Kahibaro
Discord Login Register

Parallel filesystems

What Makes a Filesystem “Parallel” in HPC

A parallel filesystem is designed so that many clients (compute nodes) can read and write many files concurrently, with the data striped across multiple storage servers and disks. The main goals are:

In contrast to a simple network filesystem on a single server, a parallel filesystem distributes both:

From the user's point of view, you usually see one mount point (e.g. /home, /project, /scratch), but behind that path there may be:

Key Concepts and Architecture

Data and Metadata Separation

Parallel filesystems typically distinguish between:

Why this matters in HPC:

As a user, heavy use of operations like ls -R, creating millions of tiny files, or compiling large codebases on shared storage can stress the metadata system.

Striping

Striping is the core data layout mechanism in parallel filesystems:

Conceptually, for a file:

$$
\text{file\_data} = \text{stripe}_0 + \text{stripe}_1 + \dots + \text{stripe}_n
$$

Each stripe may live on a different storage server. When many processes read or write different parts of the file, you can get near-aggregate bandwidth of all those servers.

Important characteristics:

Choosing stripe parameters is an important tuning lever for large parallel I/O patterns (often configured per-directory or per-file by the user or admin).

Shared Namespace and Global View

A parallel filesystem usually presents a single, shared namespace across the entire cluster:

This global view is crucial for:

Consistency and Concurrency Semantics

Because many processes may access the same file:

In HPC parallel filesystems:

In practice, you’ll see recommendations like:

Why Parallel Filesystems Matter in HPC Workflows

Parallel filesystems address several typical HPC needs:

Common Usage Patterns and Best Practices (Conceptual)

Implementation-specific commands and options vary (and are covered in the NFS, Lustre, and GPFS sections), but some high-level patterns are common to most parallel filesystems.

Directories for Different Purposes

Clusters often provide multiple parallel filesystems or multiple top-level directories with different characteristics:

These may all be instances of a parallel filesystem but tuned for different workloads.

File Size and Count Considerations

Parallel filesystems are optimized for large, streaming I/O:

Typical good practices conceptually:

Access Patterns

How your application reads and writes:

Parallel I/O libraries and runtime systems can transform application-level patterns into more filesystem-friendly ones.

Performance and Tuning Considerations (High Level)

Specific tools and commands will be introduced along with each concrete filesystem (NFS, Lustre, GPFS). Here we focus on concepts that apply across many parallel filesystems.

Aggregate Bandwidth vs Single-Stream Performance

A key design goal is aggregate bandwidth:

As a user, this means:

Stripe Settings

Where supported, admins or advanced users may control stripe settings per directory or per file:

On many systems, sensible defaults are configured. Users typically only adjust striping for:

Contention and Fair Use

Parallel filesystems are shared resources, so:

Typical guidelines (policy-specific details come from your center):

Reliability, Redundancy, and Failure Handling

Parallel filesystems must balance performance with reliability:

From a user perspective, this usually shows up as:

Integration with Parallel I/O Libraries and Tools

Parallel filesystems are often used together with:

The filesystem itself does not interpret your application’s data format, but it must support:

Using these higher-level tools often yields better performance and portability than manual fopen, read, and write loops scattered through application code.

How Parallel Filesystems Differ from NFS, Lustre, and GPFS Sections

Within this course:

Understanding the general concepts here—data/metadata separation, striping, aggregate bandwidth, and access patterns—will help you interpret and apply the more detailed, system-specific information in those subsequent chapters.

Views: 13

Comments

Please login to add a comment.

Don't have an account? Register now!