Dataflow for CPFS for Lingjun

Updated at:
Copy as MD

Create dataflows and dataflow tasks to transfer data at high speed between a CPFS for Lingjun file system and an OSS bucket.

Features

CPFS for Lingjun supports these dataflow features:

  • Account-level dataflow

    Supports same-account and cross-account dataflows with OSS buckets.

  • Directory-level dataflow

    Map any subdirectory of a CPFS for Lingjun file system to any prefix in an OSS bucket for granular permission control and flexible data transfer.

  • Data import and export

    • Create batch or streaming tasks to import and export data between a CPFS for Lingjun file system and OSS. Batch tasks preload an entire dataset before a compute job starts. Streaming tasks handle on-demand writeback and preload of individual files, such as model checkpoints, during training.

      Warning

      CPFS for Lingjun exports file modification timestamps to OSS custom metadata named x-oss-meta-alihbr-sync-mtime. Do not delete or modify this metadata, or the file system timestamps will be incorrect.

    • If a task fails, check the task report to identify the cause.

      Important

      The task report is for reference only. The destination data is the definitive version. Verify data consistency between source and destination.

Dataflow task types

CPFS for Lingjun provides two dataflow task types: batch tasks and streaming tasks.

Batch task

A batch task imports or exports all files in a directory at once, ideal for preloading entire datasets before AI training.

Streaming task

A streaming task transfers individual files on demand, such as model checkpoints during training. Submit a subtask through an API operation to trigger each transfer. The system does not automatically synchronize file changes.

Note

Task descriptions

Four task types are available: import, export, stream import, and stream export.

Type

Description

import

Imports all data from the source storage to the CPFS for Lingjun file system at once.

  • Import type: file metadata and data (MetaAndData).

  • Import path: the OSS bucket path from which data is imported to the file system.

export

Exports specified data from the CPFS for Lingjun file system to an OSS bucket at once.

Export path: the file or directory path in the CPFS for Lingjun file system.

Warning
  • CPFS for Lingjun exports file modification timestamps to OSS custom metadata named x-oss-meta-alihbr-sync-mtime. Do not delete or modify this metadata, or the file system timestamps will be incorrect.

  • Do not disable versioning on the source OSS bucket while using a dataflow, or export tasks will fail. Versioning.

stream import

Imports specified data from source storage to a CPFS for Lingjun file system at the single-file level. API-only.

  • Import type: file metadata and data (MetaAndData).

  • Import path: the OSS bucket path from which data is imported to the file system.

stream export

Exports specified data from a CPFS for Lingjun file system to an OSS bucket at the single-file level. API-only.

Export path: the file or directory path in the CPFS for Lingjun file system.

Limitations

  • Dataflow

    • Same-account dataflows require CPFS for Lingjun 2.4.0 or later. Cross-account dataflows require 2.6.0 or later.

    • Maximum 10 dataflows per CPFS for Lingjun file system.

    • Each file system path can link to only one OSS bucket.

    • Dataflows cannot span different regions.

  • Restrictions on paths, filenames, and directory names

    • Renaming a non-empty directory in a dataflow-associated path returns a Permission Denied or directory-not-empty error.

    • Use special characters in directory and file names with caution.

      • Supported characters include uppercase and lowercase letters, numbers, exclamation points (!), hyphens (-), underscores (_), periods (.), asterisks (*), and parentheses (()).

      • The following characters are not supported and may cause task failures:

        • A subdirectory or file name cannot be "..".

        • A path cannot contain backslashes (\) or consecutive backslashes (\\).

        • A subdirectory or file name cannot contain forward slashes (/).

    • Maximum path length: 1,023 characters.

  • Dataflow task limitations

    • Streaming tasks require CPFS for Lingjun 2.6.0 or later and are API-only.

    • Maximum four concurrent batch tasks per dataflow. Concurrent streaming tasks are unlimited.

    • Import limitations

      • Importing a symbolic link converts it into a regular data file. The symbolic link information is lost.

      • If an OSS bucket has versioning enabled, only the latest version of an object is copied.

      • Filenames or subdirectory names cannot exceed 255 bytes.

    • Export limitations

      • Symbolic links are exported as regular, empty objects. The linked file is not synchronized.

      • Hard links are exported as regular files.

      • Socket, Device, and Pipe files are exported as regular, empty objects.

      • Directory paths cannot exceed 1,023 characters.

Performance metrics

Operation

Metric

Description

Data import

Throughput for files larger than 1 GB

  • Maximum import throughput: 5 GB/s.

  • To request higher throughput, submit a ticket.

  • Note

    Actual throughput is limited by the lower of OSS bandwidth and CPFS for Lingjun throughput. For details, see OSS Bandwidth and CPFS for Lingjun specifications. Dataflow shares VPC bandwidth with other access (default: 10 GB/s read, 5 GB/s write per file system). Available throughput depends on remaining VPC bandwidth. The values above are baselines under ideal conditions. Actual performance depends on file size, file count, and concurrency.

IOPS for files smaller than 1 GB

Single-directory or multi-directory import: 1,000.

Data export

Throughput for files larger than 1 GB

  • Maximum export throughput: 10 GB/s.

  • To request higher throughput, submit a ticket.

    Note

    Actual throughput is limited by the lower of OSS bandwidth and CPFS for Lingjun throughput. For details, see OSS Bandwidth and CPFS for Lingjun specifications. Dataflow shares VPC bandwidth with other access (default: 10 GB/s read, 5 GB/s write per file system). Available throughput depends on remaining VPC bandwidth. The values above are baselines under ideal conditions. Actual performance depends on file size, file count, and concurrency.

IOPS for files smaller than 1 GB

Single-directory or multi-directory export: 1,200.

How to achieve higher throughput

  1. Expand capacity: Increasing the storage capacity of a CPFS for Lingjun file system directly improves linear throughput.

  2. Increase quotas: If you reach the VPC network bottleneck (10 GB/s for reads or 5 GB/s for writes), submit a ticket to request a bandwidth quota increase.

Why is actual speed lower than baseline

  1. Check whether the OSS bucket has bandwidth throttling or rate-limiting policies in place.

  2. Check whether heavy read/write workloads on the CPFS for Lingjun file system are competing for dataflow bandwidth.

  3. Check whether the dataflow task involves a large number of small file operations, many small directories, or wide directories containing many small files, which significantly reduce aggregate throughput.

Billing

Dataflow for CPFS for Lingjun is in public preview and free of charge.

Procedure

  1. Create a dataflow.

  2. Create a batch task or a streaming task.

  3. Verify the data.

    After a task completes, verify data accuracy at the destination.

    Warning

    If you delete source data without verifying destination data, you are responsible for any resulting data loss.