전자 설계 자동화 워크로드에 맞게 Linux NFS 클라이언트 액세스 최적화

이 페이지에서는 전자 설계 자동화 (EDA) 워크로드에 대한 Linux NFS 클라이언트 액세스를 최적화하는 방법을 설명합니다. 이 문서는 Linux 컴퓨팅 노드를 구성하고 에서 고성능 EDA 환경을 관리하는 스토리지 관리자, 클라우드 설계자, 시스템 엔지니어를 대상으로 합니다. Google Cloud

클라이언트 권장사항

Linux 노드 및 대화형 VM은 NFS를 통해 NetApp Volumes를 마운트합니다. 클라이언트 조정은 볼륨 처리량 한도를 늘리지는 않지만 메타데이터 폭풍, 단일 스토리지 엔드포인트의 슬롯 오버로드, 대규모 라이브러리의 순차 읽기 동작 저하를 방지하는 데 도움이 됩니다.

다음 순서로 클라이언트를 구성합니다.

  1. 커널 동시 실행 (마운트 전): Linux NFS 동시 실행

    Cluster Toolkit 및 Slurm 컴퓨팅 이미지의 경우 첫 번째 마운트 전에 컴퓨팅 이미지 또는 시작 스크립트에 슬롯 테이블 설정을 포함합니다.

  2. 마운트 옵션 (마운트 시): Linux NFS 마운트 옵션

  3. 미리 읽기 (마운트 후, 선택사항): Linux NFS 미리 읽기

NFS 클라이언트 최적화에 대한 자세한 내용은 NetApp Volumes용 Linux NFS 클라이언트 최적화를 참조하세요.

마운트 명령어 및 내보내기 정책은 NFS 클라이언트 연결을 참조하세요. 대규모 볼륨에 클라이언트를 분산하려면 여러 스토리지 엔드포인트로 대용량 볼륨 연결EDA 아키텍처 패턴을 참조하세요.

클라이언트가 많은 EDA 팜 최적화

동일한 내보내기를 공유하는 수백 또는 수천 개의 컴퓨팅 노드가 있는 대규모 배포에는 다음 설정을 사용합니다. 이러한 구성은 일반적으로 단일 호스트에서 nconnect=16 마운트 옵션을 사용하는 단일 VM 벤치마크 설정과 일치하지 않습니다.

영역 권장 시작점
프로토콜 NFSv4.1 기능이 필요하지 않은 경우 NFSv3 (vers=3)
동시 실행 (NFSv3) 클라이언트당 낮은 RPC 슬롯 테이블(예: /etc/modprobe.d/sunrpc.conf의 항목 8개)
연결 스토리지 엔드포인트당 클라이언트당 하나의 TCP 연결(nconnect 사용 안 함)
대용량 볼륨 DNS 또는 정적 그룹으로 마운트하여 여러 스토리지 엔드포인트에 노드 분산
전송 크기 rsize=262144wsize=262144 설정
안정성 hard, tcp, timeo=600, 또는 Google Cloud 콘솔 기본값 사용
메타데이터 로드 애플리케이션에서 허용하는 경우 라이브러리 및 스크래치에서 noatime 사용
잠금 (NFSv3) 권고 잠금을 사용하지 않고 네트워크 상태 모니터 (NSM)가 구성되지 않은 경우 nolock 사용
미리 읽기 순차 읽기가 느린 경우 마운트 후 읽기 전용 라이브러리에 대해 증가

nfsiostat 명령어와 일반적인 프로덕션 워크로드를 나타내는 회귀 테스트를 실행하는 동안 성능 모니터링 에 설명된 측정항목을 사용하여 설정을 검증합니다.

데이터 계층별로 클라이언트 최적화

다음 표에는 데이터 계층별 클라이언트 포커스 영역과 일반적인 마운트 옵션이 나와 있습니다.

등급 클라이언트 포커스 일반적인 마운트 관련 옵션
라이브러리 GETATTR 및 메타데이터 왕복 감소, 대용량 파일의 순차 읽기 vers=3, hard, tcp, noatime, rsize, wsize. 데이터가 읽기 전용이고 일관성 규칙이 허용하는 경우에만 actimeo=600nocto를 고려하세요.
스크래치 작성자가 많음, 일관성이 중요함 vers=3, hard, tcp, noatime. 적극적인 속성 캐싱을 사용하지 마세요. 노드당 슬롯 수를 낮게 유지하세요.
도구 라이브러리와 유사한 읽기 전용 vers=3, hard, tcp, noatime, rsize=262144, wsize=262144. 데이터가 읽기 전용이고 일관성 규칙이 허용하는 경우에만 actimeo=600nocto를 고려하세요. 클러스터 이미지 전반에서 안정적인 마운트 옵션을 유지하세요.
혼합된 작은 I/O Google Cloud 일반적으로 콘솔 기본값으로 충분합니다. 홈이 스크래치와 엔드포인트를 공유하는 경우 낮은 슬롯을 사용하세요.

정책에서 요구하는 경우에만 Kerberos (sec=krb5, krb5i 또는 krb5p)를 사용합니다. Kerberos를 nconnect와 결합하지 마세요. 자세한 내용은 Linux NFS 마운트 옵션을 참조하세요.

다음 단계