3FS: 데이터 액세스 효율성을 향상시키는 병렬 파일 시스템(딥서치 오픈 소스 주간 5일차)

최신 AI 리소스5개월 전에 게시 됨 AI 공유 서클
1.4K 00

일반 소개

3FS(파이어-플라이어 파일 시스템)는 데이터 액세스 효율성을 획기적으로 개선하기 위해 최신 SSD 및 RDMA 네트워크용으로 설계된 DeepSeek 팀이 개발한 오픈 소스 병렬 파일 시스템입니다. 180노드 클러스터에서 총 6.6TiB/s의 읽기 처리량과 3.66TiB/min의 쓰기 속도를 달성하여 놀라운 고성능 성능을 보여줍니다. 딥시크 오픈 소스 위크의 결과물 중 하나인 3FS는 기술 혁신의 산물일 뿐만 아니라 커뮤니티 공유에 대한 팀의 헌신이 반영된 결과물입니다. 기존의 디스크 중심의 분산 파일 시스템 설계를 탈피하여 최신 하드웨어 특성에 최적화되었으며, AI 학습 및 빅데이터 분석과 같이 효율적인 데이터 처리가 필요한 대규모 컴퓨팅 시나리오에 적합합니다. 개발자와 엔터프라이즈 사용자 모두 GitHub를 통해 소스 코드에 액세스하여 자유롭게 배포하고 커스터마이징할 수 있습니다.

3FS:提升数据访问效率的并行文件系统(DeepSeek 开源周第五天)

 

기능 목록

  • 높은 처리량의 데이터 액세스6.6TiB/s 읽기 및 3.66TiB/min 쓰기를 지원하여 SSD 및 RDMA 네트워크 대역폭을 최대한 활용합니다.
  • 병렬 처리 기능여러 노드가 함께 작동하여 대규모 클러스터에서 데이터 처리 효율성을 향상시킬 수 있습니다.
  • 최신 하드웨어 최적화기존 파일 시스템의 성능 병목 현상을 극복하고 SSD 및 RDMA 네트워크에 적합하게 설계되었습니다.
  • 오픈 소스 사용자 지정 가능전체 소스 코드가 제공되므로 사용자가 필요에 따라 기능을 수정하고 확장할 수 있습니다.
  • 즉시 사용 가능한 프로덕션 환경딥시크 팀에 의해 프로덕션 검증을 거쳤으며 실제 비즈니스 시나리오에 바로 배포할 수 있습니다.

 

도움말 사용

획득 및 설치 프로세스

3FS는 오픈 소스 프로젝트이므로 배포를 위해서는 약간의 기술적 배경 지식이 필요합니다. 다음은 사용자가 빠르게 시작하는 데 도움이 되는 자세한 설치 및 사용 가이드입니다.

1. 소스 코드에 액세스

  • 브라우저를 열고 https://github.com/deepseek-ai/3FS 을 방문하세요.
  • 페이지 오른쪽 상단의 '코드' 버튼을 클릭하고 'ZIP 다운로드'를 선택하여 zip 파일을 다운로드하거나 Git 명령을 사용하여 리포지토리를 복제합니다:
    git clone https://github.com/deepseek-ai/3FS.git
  • 다운로드가 완료되면 파일을 로컬 디렉터리에 압축을 풉니다./home/user/3FS.

2. 환경 준비

3FS는 최신 하드웨어(SSD 및 RDMA 네트워크)와 Linux 환경이 있어야 실행할 수 있습니다. 시스템이 다음 조건을 충족하는지 확인하세요:

  • 운영 체제우분투 20.04 이상 버전이 권장되는 Linux 배포판입니다.
  • 하드웨어 요구 사항NVMe SSD 및 InfiniBand 또는 RoCE와 같은 RDMA 네트워크를 지원하는 서버 클러스터.
  • 소프트웨어 종속성Git, GCC, Make 등과 같은 기본 컴파일 도구가 설치되어 있어야 합니다. 다음 명령어를 실행하여 설치할 수 있습니다:
    sudo apt update
    sudo apt install git gcc make
    

3. 컴파일 및 설치

  • 3FS 디렉토리로 이동합니다:
    cd /home/user/3FS
    
  • 추가 종속성 설명이 있는지 확인합니다(일반적으로README.md)가 있는 경우 설명서에 따라 설치합니다.
  • 소스 코드를 컴파일합니다:
    make
    
  • 컴파일이 완료되면 시스템에 설치합니다:
    sudo make install
    

    설치가 완료되면 3FS 실행 파일 및 구성 파일이 시스템 기본 경로(일반적으로/usr/local/bin).

4. 클러스터 구성하기

  • 구성 파일을 편집합니다(기본적으로config디렉토리와 같은3fs.conf)를 클릭하고 클러스터 노드 정보를 설정합니다:
    • 노드 IP 주소를 지정합니다(예node1=192.168.1.10.
    • 예를 들어 다음과 같이 SSD 스토리지 경로를 구성합니다.storage_path=/dev/nvme0n1.
    • 노드 간에 적절한 통신이 이루어지도록 RDMA 네트워크 매개변수를 설정합니다.
  • 구성을 저장한 후 각 노드에서 서비스를 시작합니다:
    3fs --config /path/to/3fs.conf
    

5. 설치 확인

  • 서비스 상태를 확인합니다:
    3fs --status
    
  • "3FS가 180개 노드에서 실행 중"과 같은 메시지가 반환되면 배포가 성공한 것입니다.

주요 기능

높은 처리량의 데이터 액세스

  • 파일 시스템 마운트클라이언트에서 다음 명령을 실행하여 3FS를 로컬 디렉터리에 마운트합니다:
    mount -t 3fs /path/to/storage /mnt/3fs
    
  • 데이터 검색직접 사용cat어쩌면cp명령으로 파일을 읽을 수 있습니다:
    cat /mnt/3fs/large_file.txt
    

    이 시스템은 최대 6.6TiB/s의 속도로 여러 노드에서 병렬로 데이터를 자동으로 추출합니다.

  • 데이터 쓰기: 마운트 디렉터리에 파일을 복사합니다:
    cp large_file.txt /mnt/3fs/
    

    최대 3.66TiB/분 쓰기 속도.

병렬 처리

  • 멀티노드 환경에서는 3FS가 데이터 작업을 자동으로 할당합니다. 사용자는 수동으로 개입할 필요 없이 애플리케이션이 병렬 I/O를 지원하는지 확인하기만 하면 됩니다(예: Hadoop 또는 MPI 프로그램).
  • 병렬 성능 테스트 예제:
    dd if=/dev/zero of=/mnt/3fs/testfile bs=1G count=10
    

    처리량이 예상 값에 가까운지 관찰합니다.

맞춤형 개발

  • 소스 코드 수정: 다음으로 이동합니다.src디렉토리에 있는 C/C++ 파일을 편집하세요. 예를 들어 버퍼 크기를 조정하여 특정 워크로드에 최적화할 수 있습니다.
  • 다시 컴파일합니다:
    make clean && make
    
  • 수정된 버전을 배포합니다:
    sudo make install
    

주의

  • 하드웨어 호환성모든 노드가 RDMA 및 NVMe를 지원하는지 확인하세요. 그렇지 않으면 성능이 저하될 수 있습니다.
  • 네트워크 구성방화벽은 통신 중단을 방지하기 위해 RDMA 관련 포트(예: 기본값 4791)를 열어야 합니다.
  • 문서 참조설치하는 동안 문제가 발생하면 GitHub 페이지의README.md또는 이슈를 제출하여 도움을 요청하세요.

위의 단계를 통해 사용자는 3FS를 빠르게 구축하고 사용하여 효율적인 데이터 액세스 기능을 경험할 수 있습니다. AI 학습이든 빅 데이터 처리든 3FS는 강력한 지원을 제공할 수 있습니다.

 

이번 주 릴리스를 돌아보면, 딥시크는 대규모 모델을 위한 완벽한 기술 스택을 구축했습니다:

  • 1일차 - FlashMLA가변 길이 시퀀스 처리에 최적화된 효율적인 MLA 디코딩 커널
  • 2일차 - DeepEPMoE 모델 학습 및 추론을 지원하는 최초의 오픈 소스 전문가 병렬 통신 라이브러리
  • 3일차 - DeepGEMM: 밀도 및 MoE 계산을 지원하는 FP8 GEMM 라이브러리
  • 4일차 - 병렬 컴퓨팅 전략듀얼파이프 양방향 파이프라인 병렬 알고리즘과 EPLB 전문가 병렬 로드 밸런서가 포함되어 있습니다.
  • 5일차 - 3FS와 스몰폰드: 고성능 데이터 스토리지 및 처리 인프라
© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...