분자 역학 및 GROMACS 응용 프로그램 배치

베어메탈에서 OCI(Oracle Cloud Infrastructure) 에서 사용 가능한 가상 머신 GPU 구성에 이르기까지 다양한 컴퓨트 프레임워크 옵션을 사용하여 분자 역학 및 GROMACS 애플리케이션을 배포합니다.

GROMACS는 미리 정의된 조건 세트에서 생물분자에서의 원자 이동을 시뮬레이션하는 분자 역학 소프트웨어입니다. 생체 오르간 생물체에서 발생한 실제 조건을 모방하는 온도, 압력 및 기타 입력의 변화에 노출될 때 이러한 생체 분자의 동작을 식별합니다. GROMACS는 단백질 접기, 단백질 합체 바인딩 및 세포 막 전송에 패턴을 설정하여 약물 조사 및 발견에 유용한 응용 프로그램으로 만들 수 있습니다.

GROMACS에는 다음과 같은 주요 기능이 있습니다:

  • 주로 단백질, 뚜껑 및 핵산과 같은 생화학 분자를 위해 설계되었습니다.
  • 많은 알고리즘 최적화를 통해 높은 성능을 제공합니다.
  • C(컴파일러가 SIMD 시스템 명령으로 변환) 로 작성되는 경우가 많으며 입력 및 출력 파일에 대한 명령행 옵션이 포함된 단순 인터페이스를 사용합니다.
  • 토폴로지, 일반 텍스트 형식으로 작성된 매개변수 파일, 일관성 검사 및 일반 오류 메시징을 사용하는 사용자에게 친숙합니다.
  • 표준 MPI 통신 프로토콜을 사용하거나 단일 노드 워크스테이션용 스레드 MPI 라이브러리를 통해 병렬로 실행할 수 있습니다.
  • 여기에는 완전히 자동화된 토폴로지 작성기가 포함됩니다.
  • 무료 소프트웨어이며 LGPL(Lesser General Public License) 버전 2.1에서 사용할 수 있습니다.

구조

심층 학습 및 과학 컴퓨팅과 관련된 여러 응용 프로그램에 이 참조 구조를 사용할 수 있습니다.

심층적인 학습 및 과학 컴퓨팅 워크로드에는 특수한 컴퓨팅 프레임워크가 필요합니다. OCI(Oracle Cloud Infrastructure) 는 베어메탈 GPU 구성에서 가장 까다로운 워크로드를 처리하기 위한 다양한 옵션을 제공합니다. NVIDIA GPU Cloud(NGC) 는 Oracle Cloud Infrastructure에서 사용 가능한 옵션 중 하나입니다.

이 간단한 참조 아키텍처에서는 블록 스토리지가 있는 GPU 노드가 공용 서브넷 및 인터넷 게이트웨이를 사용하는 VCN에 배포됩니다. 블록 저장영역은 애플리케이션을 저장합니다.

다음 다이어그램은 이 참조 아키텍처를 보여 줍니다.



구조에는 다음과 같은 구성 요소가 있습니다:

  • 지역

    Oracle Cloud Infrastructure 지역은 가용성 도메인이라는 하나 이상의 데이터 센터를 포함하는 지역화된 지역입니다. 지역은 다른 지역과 독립적이며, 방대한 거리는 국가 또는 대륙에서 분리할 수 있습니다.

  • 가용성 도메인

    가용성 도메인은 영역 내의 독립적인 독립형 데이터 센터입니다. 각 가용성 도메인의 물리적 리소스는 결함 허용 한도를 제공하는 다른 가용성 도메인의 리소스와 격리됩니다. 가용성 도메인은 전원, 냉각 또는 내부 가용성 도메인 네트워크와 같은 인프라를 공유하지 않습니다. 따라서 한 가용성 도메인의 실패는 영역의 다른 가용성 도메인에 영향을 주지 않을 수 있습니다.

  • 테넌시

    테넌시는 Oracle Cloud Infrastructure에 등록할 때 Oracle가 Oracle Cloud 내에 설정하는 안전하고 격리된 분할 영역입니다. 테넌시 내에서 Oracle Cloud의 리소스를 생성, 구성 및 관리할 수 있습니다.

  • 구획

    구획은 Oracle Cloud Infrastructure 테넌시 내의 영역간 논리적 분할 영역입니다. 구획을 사용하여 Oracle Cloud에서 리소스를 구성하고, 리소스에 대한 액세스를 제어하고, 사용량 할당량을 설정할 수 있습니다. 지정된 구획의 리소스에 대한 액세스를 제어하려면 리소스에 액세스할 수 있는 사용자 및 수행할 수 있는 작업을 지정하는 정책을 정의합니다.

  • Cloud Guard

    Oracle Cloud Guard를 사용하여 Oracle Cloud Infrastructure에서 리소스의 보안을 모니터하고 유지 관리할 수 있습니다. Cloud Guard는 정의할 수 있는 감지기 레시피를 사용하여 리소스의 보안 취약점을 검사하고 운영자 및 사용자의 위험 작업을 모니터합니다. 잘못된 구성 또는 비보안 작업이 감지되면 Cloud Guard는 해결 조치를 권장하고 정의할 수 있는 응답자 레시피를 기반으로 해당 작업을 수행할 수 있도록 지원합니다.

  • VCN(가상 클라우드 네트워크) 및 서브넷

    VCN는 Oracle Cloud Infrastructure 지역에서 설정하는 사용자정의 가능한 소프트웨어 정의 네트워크입니다. VCN은 기존 데이터 센터 네트워크와 마찬가지로 네트워크 환경을 완벽하게 제어할 수 있습니다. VCN 에는 VCN를 생성한 후 변경할 수 있는 겹치지 않는 CIDR 블록이 여러 개 있을 수 있습니다. 영역 또는 가용성 도메인으로 범위를 지정할 수 있는 서브넷으로 VCN를 세그먼트화할 수 있습니다. 각 서브넷은 VCN의 다른 서브넷과 겹치지 않는 연속적인 주소 범위로 구성됩니다. 서브넷을 생성한 후 서브넷 크기를 변경할 수 있습니다. 서브넷은 공용 또는 전용일 수 있습니다.

  • 인터넷 게이트웨이

    인터넷 게이트웨이는 VCN의 공용 서브넷과 공용 인터넷 간의 트래픽을 허용합니다.

  • 경로 테이블

    가상 경로 테이블에는 일반적으로 게이트웨이를 통해 서브넷의 트래픽을 VCN 외부의 대상으로 경로 지정하는 규칙이 포함되어 있습니다.

  • 보안 목록

    각 서브넷에 대해 서브넷에서 허용되어야 하는 트래픽의 소스, 대상 및 유형을 지정하는 보안 규칙을 생성할 수 있습니다.

  • Compute

    Oracle Cloud Infrastructure 컴퓨트 서비스를 사용하면 클라우드에서 컴퓨트 호스트를 프로비전하고 관리할 수 있습니다. 리소스 요구 사항(CPU, 메모리, 네트워크 대역폭 및 스토리지) 을 충족하는 구성으로 컴퓨트 인스턴스를 실행할 수 있습니다. 컴퓨트 인스턴스를 생성한 후 안전하게 액세스하고, 재시작하고, 볼륨을 연결 및 분리하고, 필요하지 않을 때 종료할 수 있습니다.

  • 베어메탈 GPU

    하드웨어 가속 분석 및 기타 계산에 베어메탈 GPU 구성을 사용합니다.

  • 블록 볼륨

    블록 저장 영역 볼륨을 사용하면 저장 영역 볼륨을 생성, 연결, 접속 및 이동하고 저장 영역, 성능 및 응용 프로그램 요구 사항에 맞게 볼륨 성능을 변경할 수 있습니다. 볼륨을 인스턴스에 연결하고 연결한 후 일반 하드 드라이브처럼 볼륨을 사용할 수 있습니다. 데이터 손실 없이 볼륨을 연결 해제하고 다른 인스턴스에 연결할 수도 있습니다.

권장 사항

다음 권장 사항을 시작점으로 사용하여 Oracle Cloud Infrastructure에서 일련의 계산 프레임워크 옵션을 사용하여 분자 역학 애플리케이션을 배치할 수 있습니다.

요구 사항은 여기에 설명된 아키텍처와 다를 수 있습니다.

  • VCN

    VCN를 생성할 때 VCN의 서브넷에 연결할 리소스 수에 따라 필요한 CIDR 블록 수 및 각 블록 크기를 결정합니다. 표준 전용 IP 주소 공간 내에 있는 CIDR 블록을 사용합니다.

    전용 접속을 설정하려는 다른 네트워크(Oracle Cloud Infrastructure, 온-프레미스 데이터 센터 또는 다른 클라우드 제공자) 와 겹치지 않는 CIDR 블록을 선택합니다.

    VCN를 생성한 후 CIDR 블록을 변경, 추가 및 제거할 수 있습니다.

    서브넷을 설계할 때 트래픽 흐름 및 보안 요구사항을 고려하십시오. 특정 계층 또는 역할 내의 모든 리소스를 동일한 서브넷에 연결합니다. 이 서브넷은 보안 경계 역할을 할 수 있습니다.

    지역 서브넷을 사용합니다.

  • 보안 목록

    보안 목록을 사용하여 전체 서브넷에 적용되는 수신 및 송신 규칙을 정의합니다.

  • Cloud Guard

    Oracle에서 제공하는 기본 레시피를 복제하고 사용자정의하여 사용자정의 감지기 및 응답기 레시피를 만듭니다. 이러한 레시피를 사용하면 경고를 생성하는 보안 위반 유형 및 해당 레시피에 대해 수행할 수 있는 작업을 지정할 수 있습니다. 예를 들어 가시성이 공용으로 설정된 오브젝트 스토리지 버킷을 감지할 수 있습니다.

    테넌시 레벨에서 Cloud Guard를 적용하여 가장 광범위한 범위를 다루고 다중 구성 유지 관리의 관리 부담을 줄입니다.

    관리되는 목록 기능을 사용하여 감지기에 특정 구성을 적용할 수도 있습니다.

  • 베어메탈 GPU

    최상의 성능을 위해 베어메탈 구성 BM.GPU2.2 또는 BM.GPU3.8 를 사용합니다.

고려 사항

분자 역학 응용 프로그램을 배치할 때 다음 사항을 고려하십시오:

  • 성능

    최상의 성능을 얻으려면 적절한 대역폭을 가진 올바른 컴퓨트 구성을 선택하십시오.

  • 가용성

    배포 요구 사항 및 지역에 따라 고가용성 옵션을 사용하는 것이 좋습니다. 옵션에는 한 영역에서 여러 가용성 도메인 사용 및 결함 도메인 사용이 포함됩니다.

  • 비용

    베어메탈 HPC 인스턴스는 더 높은 비용으로 필요한 CPU 성능을 제공합니다. 요구사항을 평가하여 적절한 컴퓨트 구성을 선택합니다.

  • 모니터링 및 경보

    필요에 따라 구성을 확장 또는 축소할 수 있도록 노드의 CPU 및 메모리 사용량에 대한 모니터링 및 경보를 설정합니다.

배치

이 참조 아키텍처에 대한 Terraform 코드는 GitHub에서 사용할 수 있습니다. 한 번의 클릭으로 코드를 Oracle Cloud Infrastructure Resource Manager로 가져와서 스택을 생성하고 배치할 수 있습니다. 또는 Terraform CLI를 사용하여 GitHub에서 컴퓨터로 코드를 다운로드하고, 코드를 사용자정의하고, 구조를 배치할 수 있습니다.

  • Oracle Cloud Infrastructure Resource Manager의 샘플 스택을 사용하여 배치합니다:
    1. Oracle Cloud에 배치누릅니다.

      아직 사인인하지 않은 경우 테넌시 및 사용자 인증서를 입력합니다.

    2. 조건 및 조항을 검토하고 수락합니다.
    3. 스택을 배치할 영역을 선택합니다.
    4. 화면의 프롬프트 및 지침에 따라 스택을 만듭니다.
    5. 스택을 생성한 후 Terraform 작업 을 누르고 계획 을 선택합니다.
    6. 작업이 완료될 때까지 기다렸다가 계획을 검토합니다.

      변경하려면 스택 세부정보 페이지로 돌아가서 스택 편집 을 누르고 필요한 사항을 변경합니다. 그런 다음 계획 작업을 다시 실행합니다.

    7. 더 이상 변경할 필요가 없는 경우 스택 세부 정보 페이지로 돌아가서 Terraform 작업 을 누르고 적용 을 선택합니다.
  • GitHub에서 Terraform 코드를 사용하여 배포합니다:
    1. GitHub로 이동합니다.
    2. 저장소를 로컬 컴퓨터에 복제하거나 다운로드합니다.
    3. README 문서의 지침을 따릅니다.

자세히 살펴보기

이 아키텍처의 기능에 대해 자세히 알아봅니다.