다음을 통해 공유


캐시 사용 모델 이해

캐시 사용 모델을 사용하면 Azure HPC Cache에서 워크플로 속도를 높이기 위해 파일을 저장하는 방법을 사용자 지정할 수 있습니다.

기본 파일 캐싱 개념

파일 캐싱은 Azure HPC Cache가 클라이언트 요청을 신속하게 처리하는 방법입니다. 다음과 같은 기본 방법을 사용합니다.

  • 읽기 캐싱 - Azure HPC Cache는 클라이언트가 스토리지 시스템에서 요청하는 파일의 복사본을 유지합니다. 다음 번에 클라이언트가 동일한 파일을 요청하면 HPC Cache는 백 엔드 스토리지 시스템에서 파일을 다시 가져올 필요 없이 해당 캐시에 있는 버전을 제공할 수 있습니다. 쓰기 요청은 백 엔드 스토리지 시스템에 전달됩니다.

  • 쓰기 캐싱 - 선택적으로 Azure HPC Cache는 클라이언트 머신에서 전송된 변경된 파일의 복사본을 저장할 수 있습니다. 여러 클라이언트에서 짧은 기간 동안 동일한 파일을 변경하는 경우 백 엔드 스토리지 시스템에 각 변경 내용을 개별적으로 쓰지 않고 캐시의 모든 변경 내용을 수집할 수 있습니다. 지정된 시간 동안 변경 내용이 없는 경우 캐시는 장기 스토리지 시스템으로 파일을 이동합니다.

  • 확인 타이머 - 확인 타이머 설정은 캐시가 파일의 로컬 복사본을 백 엔드 스토리지 시스템의 원격 버전과 비교하는 빈도를 결정합니다. 백 엔드 복사본이 캐시된 복사본보다 최신인 경우 캐시는 원격 복사본을 가져온 후 후속 요청을 위해 저장합니다.

    확인 타이머 설정은 캐시 가 해당 파일을 원격 스토리지의 원본 파일과 자동으로 비교하는 경우를 보여 줍니다. 그러나 Azure HPC Cache가 readdirplus 요청을 포함하는 디렉터리 작업을 수행하여 강제로 파일을 비교하도록 할 수 있습니다. readdirplus는 디렉터리 메타데이터를 반환하는 표준 NFS API(확장된 읽기라고도 함)로, 캐시에서 파일을 비교하고 업데이트하도록 합니다.

  • 쓰기 저장 타이머 - 읽기-쓰기 캐싱이 있는 캐시의 경우 쓰기 저장 타이머는 변경된 파일을 백 엔드 스토리지 시스템에 복사하기 전에 캐시가 대기하는 최대 시간(초)입니다.

Azure HPC Cache에 기본 제공되는 사용 모델은 이러한 설정에 대해 다른 값을 가지므로 사용자의 상황에 가장 적합한 조합을 선택할 수 있습니다.

워크플로에 적합한 사용 모델 선택

사용하는 각 NFS 프로토콜 스토리지 대상에 대한 사용 모델을 선택해야 합니다. Azure Blob 스토리지 대상에는 사용자 지정할 수 없는 기본 제공 사용 모델이 있습니다.

HPC Cache 사용 모델을 사용하여 빠른 응답과 부실 데이터를 가져올 위험 간에 균형을 유지하는 방법을 선택할 수 있습니다. 파일 읽기 속도를 최적화하려면 캐시의 파일을 백 엔드 파일과 비교해서 확인하는지 여부는 중요하지 않을 수 있습니다. 반면에 파일이 항상 원격 스토리지를 사용하여 최신 상태인지 확인하려면 모델을 선택하고 확인 타이머를 낮은 숫자로 설정하여 자주 검사.

사용 모델 옵션은 다음과 같습니다.

  • 읽기 전용 캐싱 - 파일에 대한 읽기 액세스 속도를 향상하려면 이 옵션을 사용합니다. 워크플로에 0%에서 5%와 같은 최소 쓰기 작업이 필요한 경우 이 옵션을 선택합니다.

    이 옵션은 클라이언트 읽기를 캐시하지만 쓰기를 캐시하지 않습니다. 백 엔드 스토리지에 전달되는 쓰기

    캐시에 저장된 파일은 NFS 스토리지 볼륨의 파일과 자동으로 비교되지 않습니다. (수동으로 비교하는 방법을 알아보려면 위의 확인 타이머에 대한 설명을 읽어보세요.)

    읽기 전용 캐싱 옵션을 선택할 때 확인 타이머를 변경할 수 있습니다. 기본값은 30초입니다. 값은 1에서 31536000초(1년) 사이의 정수(소수점 없음)여야 합니다.

  • 읽기/쓰기 캐싱 - 이 옵션은 읽기 및 쓰기 작업을 모두 캐시합니다. 이 옵션을 사용하는 경우 대부분의 클라이언트는 백 엔드 스토리지를 직접 탑재하는 대신 Azure HPC Cache를 통해 파일에 액세스해야 합니다. 캐시된 파일은 아직 백 엔드에 복사되지 않은 최근 변경 내용을 포함하게 됩니다.

    이 사용 모델에서 캐시의 파일은 기본적으로 8시간마다 백 엔드 스토리지의 파일에 대해서만 검사. 파일의 캐시된 버전은 좀 더 최신 버전으로 간주됩니다. 캐시의 수정된 파일은 기본적으로 캐시에 1시간 동안 보관된 후 백 엔드 스토리지 시스템에 기록됩니다.

    읽기/쓰기 캐싱 옵션을 선택할 때 확인 타이머와 쓰기 저장 타이머를 모두 변경할 수 있습니다. 확인 타이머 기본값은 28,800초(8시간)입니다. 값은 1에서 31536000 사이의 정수(10진수 없음)여야 합니다. 쓰기 저장 타이머 기본값은 3600초(1시간)입니다. 값은 1에서 31536000초(1년) 사이의 정수(소수점 없음)여야 합니다.

다음 표에서는 사용 모델 차이점을 요약합니다.

사용 모델 캐싱 모드 확인 타이머 쓰기 저장 타이머
읽기 전용 캐싱 읽기 30초 없음
읽기/쓰기 캐싱 읽기/쓰기 8시간 1시간

Warning

사용 모델을 변경하면 서비스 중단이 발생합니다. HPC Cache 클라이언트는 사용 모델이 전환되는 동안 응답을 받지 않습니다. 사용 모델을 변경해야 하는 경우 클라이언트 중단을 방지하기 위해 예약된 기본 테넌트 기간 동안 변경하는 것이 좋습니다.

Azure HPC Cache 워크플로의 최고 사용 모델에 대해 질문이 있는 경우 Azure 담당자에게 문의하거나 지원 요청을 여세요.

전체 캐시 콘텐츠를 쓰지 않고 스토리지 대상에 특정 개별 파일을 다시 쓸 수 있는 유틸리티를 사용할 수 있습니다. Azure HPC Cache에서 파일 쓰기 저장 사용자 지정에서 flush_file.py 스크립트에 대해 자세히 알아봅니다.

다음 단계