Cloud Storage FUSE 파일 캐싱 사용

Cloud Storage FUSE 파일 캐시 기능은 개발자가 선택한 더 빠른 캐시 스토리지에서 파일 반복 읽기를 제공할 수 있게 해주는 클라이언트 기반 읽기 캐시입니다. 이 페이지에서는 Cloud Storage FUSE 파일 캐싱을 사용 설정하고 사용하는 방법을 설명합니다. 파일 캐싱, 통계 캐싱 또는 유형 캐싱에 관한 개요는 캐싱 개요를 참고하세요.

시작하기 전에

파일 캐시를 사용하려면 파일을 캐시하는 데 사용할 디렉터리 경로가 필요합니다. 기존 파일 시스템에 새 디렉터리를 만들거나 프로비저닝된 저장소에 새 파일 시스템을 만들 수 있습니다. 사용할 새 스토리지를 프로비저닝하는 경우 다음 안내에 따라 새 파일 시스템을 만듭니다.

  1. Google Cloud Hyperdisk의 경우 새 Google Cloud Hyperdisk 볼륨 만들기를 참고하세요.

  2. Persistent Disk의 경우 새 Persistent Disk 볼륨 만들기를 참고하세요.

  3. 로컬 SSD의 경우 VM에 로컬 SSD 추가를 참고하세요.

  4. 인메모리 RAM 디스크에 관한 자세한 내용은 인메모리 RAM 디스크 만들기를 참고하세요.

캐싱 동작 사용 설정 및 구성

  1. Cloud Storage FUSE 구성 파일에서 file-cache 필드를 사용하여 파일 캐싱을 사용 설정하고 구성하고 cache-dir 필드에서 사용하려는 캐시 디렉터리를 지정합니다. 파일 캐시는 기본적으로 사용 중지되어 있습니다. 디렉터리를 cache-dir 필드에 전달하여 파일 캐싱을 사용 설정합니다.

  2. 선택사항: 구성 파일의 metadata-cache 필드를 사용하여 통계 캐싱 및 유형 캐싱을 구성합니다. 통계 및 유형 캐시에 관한 자세한 내용은 유형 캐싱 개요 또는 통계 캐싱 개요를 참고하세요.

  3. 선택사항: 일관성 요구의 균형을 유지하면서 반복 읽기 간의 예상 시간을 기준으로 한 값으로 ttl-secs 옵션을 설정하여 캐시된 항목의 TTL을 늘립니다. ttl-secs 값은 워크로드에서 허용하는 만큼 높게 설정하는 것이 좋습니다. Cloud Storage FUSE 구성 파일에서 TTL을 구성할 수 있습니다. 캐시된 항목의 TTL 설정에 관한 자세한 내용은 TTL을 참고하세요.

    예를 들어 다음 구성 파일은 TTL이 3600초이고 캐시 디렉터리가 /path/to/a/directory/로 설정된 파일 캐싱, 통계 캐싱, 유형 캐싱을 사용 설정합니다. max-size-mb-1로 설정되어 사용 가능한 모든 용량을 사용하도록 파일 캐시를 구성합니다.

    file-cache:
      max-size-mb: -1
      cache-file-for-range-read: false
    
    metadata-cache:
      stat-cache-max-size-mb: 32
      ttl-secs: 3600
      type-cache-max-size-mb: 4
    
    cache-dir: /path/to/a/directory
    
  4. 선택사항: 파일 캐시 디렉터리를 미리 가져오기 버퍼로 사용하여 여러 작업자가 대용량 파일을 동시에 다운로드하도록 하는 enable-parallel-downloads 속성을 사용 설정하여 처음 읽기를 포함한 대용량 파일 읽기를 가속화합니다. 동시 다운로드 및 지원 속성을 구성하는 방법에 관한 자세한 내용은 동시 다운로드를 사용하여 읽기 성능 개선을 참고하세요.

  5. 워크로드를 실행하기 전에 마운트된 버킷에서 ls -R 명령어를 수동으로 실행하여 메타데이터를 자동 입력하면 더 빠른 일괄 처리 방식으로 첫 번째 읽기 전에 유형 캐시가 채워지게 할 수 있습니다. 최초 읽기 성능을 개선하는 방법에 관한 자세한 내용은 최초 읽기 개선을 참고하세요.

동시 다운로드를 사용하여 여러 파일 동시에 다운로드

파일 캐시 디렉터리를 프리페치 버퍼로 사용하여 여러 작업자가 파일을 동시에 다운로드하는 동시 다운로드 기능을 사용 설정하고 구성하여 읽기 성능을 개선할 수 있습니다. 모델 제공 및 체크포인트 복원과 같이 대용량 파일을 로드하는 단일 스레드 읽기 시나리오에는 병렬 다운로드를 사용하는 것이 좋습니다.

동시 다운로드를 사용 설정하기 전에 다음 사항을 고려하세요.

  • 애플리케이션에서 8개 이상의 스레드에서 높은 읽기 병렬 처리를 실행하면 성능이 약간 저하될 수 있습니다.

  • 학습 워크로드에는 읽기 동시 실행이 많으므로 동시 다운로드를 사용하지 않는 것이 좋습니다.

  • 동시 다운로드를 사용하려면 먼저 파일 캐시를 사용 설정하고 구성해야 합니다.

  • 읽을 파일은 max-size-mb 속성을 사용하여 제어할 수 있는 파일 캐시 디렉터리의 사용 가능한 용량 내에 있어야 합니다.

동시 다운로드 구성

  1. Cloud Storage FUSE 구성 파일에서 enable-parallel-downloads 속성을 true로 설정하고 원하는 경우 다음 지원 설정을 구성합니다.

    • parallel-downloads-per-file: Cloud Storage에서 파일 캐시로 객체를 다운로드하기 위해 파일당 스폰할 수 있는 최대 작업자 수입니다. 기본값은 16입니다.

    • max-parallel-downloads: 모든 파일 다운로드 작업에서 특정 시점에 생성할 수 있는 최대 작업자 수입니다. 기본값은 머신의 CPU 코어 수의 두 배로 설정됩니다. 한도가 없다고 지정하려면 값을 -1로 입력합니다.

    • download-chunk-size-mb: 객체를 파일 캐시로 다운로드할 때 각 작업자가 Cloud Storage에 전송하는 각 읽기 요청의 크기(MiB)입니다. 기본 크기는 50MiB입니다. 읽는 파일의 크기가 지정된 크기인 경우에만 동시 다운로드가 트리거됩니다.

다음 단계