LAN의 여러 서버에서 Slurm과 같은 HPC 관리자 사용

LAN의 여러 서버에서 Slurm과 같은 HPC 관리자 사용

1Gb LAN으로 연결된 서버 그룹에 액세스할 수 있으며 각 서버에는 40개 이상의 코어와 Ubuntu OS가 있습니다. 그들은 모두 공통 NAS를 가지고 있습니다. 그 중 몇 개에 SLURM을 설치하고 각 서버가 제어 노드이자 컴퓨팅 노드가 되고 서버가 연결되지 않도록 구성했습니다. 필요한 분석은 생물정보학이며 CPU에 바인딩되어 있지만 파일은 GB 단위입니다. 내 질문은 다음과 같습니다.

  1. 이것은 컴퓨팅 클러스터가 아닙니다. 맞나요? 이러한 서버를 단일 클러스터에 연결하려면 무엇이 필요합니까?
  2. 이 구성에서 Slurm과 같은 HPC 관리자를 사용하는 것이 유효한 관행입니까? 데이터는 어떻게 공유되나요? 공통 NAS가 있지만 NAS에서 직접 계산을 실행하는 것은 로컬 파일에 비해 매우 느립니다.

내 이상적인 솔루션은 파일을 로컬 컴퓨터로 가져오는 것입니다(이상적으로는 해당 위치에 관계 없지만 NAS가 공통 허브가 될 수 있음). 계산을 수행하고 출력 파일을 반환할 수도 있습니다. 무리한 요구인가요, 아니면 해결된 문제인가요?

미리 감사드립니다!

답변1

예, 컴퓨팅 클러스터입니다. 동일한 워크로드를 처리하는 여러 컴퓨팅 노드라는 광범위한 정의가 있습니다. 컴퓨팅 작업자를 실행하는 여러 호스트가 있는 대규모 빌드 팜이 적합합니다. TOP500 목록에 있는 거대한 시스템도 마찬가지입니다.

더 중요한 것은 slurm의 기능을 활용하여 여러 노드를 관리하는 것입니다. 그렇지 않으면 하나의 컨트롤러만 자체적으로 관리하는 것은 단순한 시스템에 비해 기능이 많지 않기 때문에 상당히 복잡합니다. 모든 노드를 추가하고 파티션으로 나눕니다.

둘 이상의 노드를 요청하는 작업에서는 프로그램이 MPI에서와 같이 다중 노드를 인식해야 합니다. 일반적인 인식되지 않는 프로그램의 경우 요청을 하나의 노드에 유지하면 됩니다.

저장소의 경우 파일을 노드로 가져오려면 무언가를 설계해야 합니다. 일반적으로 옵션은 다음과 같습니다.

  • 각 노드의 로컬 스토리지에 파일을 복사합니다. (슬럼프 SBS캐스트)
  • 여러 노드의 디스크에 걸쳐 분산 스토리지를 스트라이프합니다. (러스터, 세프)
  • 각 노드에 고성능 파일 공유가 탑재됩니다. (NFS를 제공하는 올플래시 어레이)

관련 정보