AWS 기술 블로그

NICE EnginFrame을 활용한 AWS 클라우드 기반의 CAE/CAD 통합 R&D 시스템 구현

온프레미스 기반의 전통적 R&D 환경

제조 고객들의 전통적인 R&D 환경에서 가장 많이 활용되는 워크로드는, 아마도 제품 개발에 필수적인 CAE(Computer Aided Engineering)와 CAD(Computer Aided Design)일 것입니다. 이를 위해 많은 제조 고객들이 온프레미스(On-premise)의 데이터 센터 또는 기업 전산실 내에 자체적으로 고성능 컴퓨팅 환경(HPC: High Performance Computing)이나 엔지니어링 VDI(e-VDI) 환경을 구성하여 운영 중에 있습니다. 일부 고객의 경우, 이 두 가지 워크로드를 워크스테이션(Workstation)에서 처리하기도 합니다.

그러나 이러한 온프레미스 환경 기반의 인프라 환경들은 기본적으로 확장성, 비용, 성능, 민첩성 등에 있어 여러 제약 사항들을 내포하고 있습니다. 따라서 이러한 한계점들을 극복하기 위해 생각해 볼 수 있는 것이 바로 클라우드 기반의 R&D 환경입니다. AWS에서는 이미 클라우드 기반의 HPC 및 엔지니어링 VDI 환경을 구현하기 위한 다양한 서비스들을 확보하고 있습니다.

이번 블로그에서는 고객 웹 포털 역할을 수행하는 AWS의 NICE EnginFrame을 중심으로 AWS에서 제공하는 R&D 환경에 대해 다양한 관점에서 소개하도록 합니다.

AWS 클라우드의 CAE/CAD 통합 플랫폼

AWS에서는 그림 1과 같이 CAE뿐만 아니라 CAD 환경이 필요한 연구원들을 위해 다음과 같은 R&D 통합 플랫폼을 제공하고 있습니다. CAE 및 CAD 관련 연구원들은, 그림 1의 중간에 보이는 NICE EnginFrame이라고 불리는 연구개발 통합 웹 포털을 통해 AWS R&D 환경에 접속을 하게 됩니다. 연구원들은 재택근무를 포함한 다양한 근무 환경, 그리고 PC 이외에 다양한 디바이스들을 통해 이 웹 포털에 접근하여 시뮬레이션 잡(Job)을 제출하거나, CAD 작업을 수행하게 됩니다. 웹 포털의 백엔드(Backend)에는 HPC 환경뿐만 아니라 CAD 작업을 수행할 수 있는 엔지니어링 VDI 환경 또한 이 포털에 연결되어 있기 때문에, 단일 포털을 통해 CAE 및 CAD 작업을 매우 손쉽게 수행할 수 있게 됩니다. 물론 웹 포털 대신 이러한 백엔드 환경에 리눅스 명령어를 통해 직접 연결도 가능합니다.

그림 1. AWS의 CAE/CAD 향 R&D 플랫폼

연구원들이 NICE EnginFrame에 초기 접속을 하게 되면 그림 2와 같은 화면을 만나게 됩니다. 여기에 사용할 수 있는 계정 관리 시스템은 Windows AD / LDAP / NIS 등 리눅스 / Windows에서 표준으로 지원하는 모든 시스템과 연계가 가능하며, CAE 및 엔지니어링 VDI 서비스 모두 동일한 로그인 환경을 사용하게 됩니다.

그림 2. NICE EnginFrame 초기 접속 화면

AWS 클라우드의 CAE/CAD 통합 아키텍처

해당 Portal에 접속 후에 로그인을 진행하면, 여러분의 선택에 따라 엔지니어링 VDI 또는 HPC 서비스를 사용할 수 있습니다. 또한 모든 작업이 클라우드에서 진행되기 때문에, HPC의 Pre/Post processing 작업 후에 온프레미스 환경처럼 파일 업로드 및 다운로드 관련 작업이 불필요합니다. 참고로 AWS에서는 엔지니어링 VDI 솔루션으로 NICE DCV라는 원격 스트리밍 프로토콜을 제공하고 있습니다. 즉 그림 3에서와 같이 NICE EnginFrame이 HPC 전용 클러스터 및 NICE DCV 클러스터와 연계되어 있습니다.

그림 3. NICE EnginFrame 기반의 AWS 클라우드의 R&D 플랫폼 아키텍처

그림 3에서 소개된 R&D 플랫폼 아키텍처는 아래와 같이 크게 5가지 영역으로 구성됩니다. 지금부터 하나씩 소개하도록 하겠습니다.

그림 3의 (1)는 R&D 플랫폼의 일종의 관문 역할을 수행하는 NICE EnignFrame입니다. NICE EnginFrame을 통해 일반 사용자인 연구원 뿐만 아니라 R&D 플랫폼 관리자가 다음과 같은 기능을 수행할 수 있습니다.

  • 사용자 : CAE/CAD 업무 처리, DCV 세션 관리, HPC 자원 모니터링
  • 관리자 : 개별 사용자의 관리 기능 + 사용자 그룹 관리, 사용자 관리, HPC 자원 관리

그림 3의 (2)는 NICE DCV 기반의 엔지니어링 VDI 영역입니다. NICE EnginFrame을 통해 접속한 사용자들은 리눅스의 기본 데스크톱 환경인 GNOME3 또는 Windows 기반의 암호화된 그래픽 터미널 서비스로 접속하게 되며, 제품 설계를 위한 CAD 작업뿐만 아니라 영화 제작 등 GPU 자원을 활용한 DirectX 11 과 OpenGL 4 을 사용하는 모든 애플리케이션을 사용할 수 있습니다. 그림 3의 (2)의 영역을 좀 더 상세히 확대하면 그림 4와 같은 아키텍처에 기반하고 있습니다.

그림 4. NICE DCV 클러스터의 레퍼런스 아키텍처

그림 3의 (3)은 HPC의 컴퓨터 클러스터 영역입니다. 이 클러스터를 통해 다양한 엔지니어링 시뮬레이션 SW의 컴퓨팅(프로세싱) 작업이 수행되며, 사용자가 클러스터를 구성하는 노드의 최대치 개수를 지정한 한계선에 도달할 때까지, 클러스터의 규모가 입력되는 잡의 양에 따라 자동으로 스케일링 됩니다. 예를 들어, max 노드의 개수를 10으로 정의하고 모든 시뮬레이션 잡에서 2개의 컴퓨팅 노드를 요구한다면, 스케줄러의 큐에 잡이 입력될 때마다 클러스터를 구성하는 노드의 개수는 2->4->6->8->10으로 확장되며, 최대 5개의 잡이 동시에 처리될 수 있습니다. 이때 최대로 정의할 수 있는 max 노드의 개수에 제한은 없으나, 대규모 클러스터 사용과 비례하여 비용이 상승할 수 있기 때문에, 적절한 규모로 클러스터의 최대치를 제한하는 것도 때에 따라 필요합니다. 컴퓨터 클러스터에 대한 리소스 관리를 위해 AWS에서는 기본적으로 오픈 소스 스케줄러인 Slurm을 지원하고 있으며, 하이브리드 환경을 위해 Slurm 페더레이션(Federation) 기능 확장이 가능합니다.

그림 3의 (4) 영역은 공유 스토리지 영역입니다. AWS에서는 다양한 공유 스토리지 옵션을 제공하며, 일반적으로 R&D 플랫폼 환경에서는 다음과 같이 용도에 따라 3개의 공유 스토리지 사용을 권장합니다.

  • Amazon FSx for Lustre : AWS가 제공하는 완전 관리형의 Lustre 파일 시스템입니다. Lustre는 Top100의 슈퍼컴퓨터의 약 80%에서 사용될 정도로, 전 세계에서 가장 많이 사용되는 병렬 파일시스템 중 하나입니다. FSx for Lustre는 HDD 및 SSD로 구성이 가능하며 용량에 비례하여 성능이 늘어나도록 구성되어 있습니다. 고성능의 데이터 입출력이 필요한 경우, 공유 스토리지 옵션으로 FSx for Lustre의 사용을 권장합니다.
  • Amazon EFS : AWS에서 제공하는 리눅스 기반의 공유 스토리지 서비스입니다. 클러스터의 규모가 크지 않고, 고속의 병렬 처리가 요구되지 않는 경우에 사용하는 것을 추천드립니다. 온프레미스 환경의 NAS와 유사한 서비스라고 이해하시면 됩니다.
  • Amazon FSx for NetApp ONTAP : 온프레미스 환경에서 사용되는 NetApp의 ONTAP 기반으로 구현된 AWS에서 제공하는 완전 관리형 공유 스토리지입니다. Amazon FSx for NetApp ONTAP은 일반적으로 EDA 산업 군에서 많이 사용하며, Throughput 보다 Small File IO에 최적화되어 있습니다.

마지막으로 그림 3의 (5)는 CAE/CAD의 소프트웨어 구성 관련 사항입니다. 만약 라이선스 서버를 AWS에 구성하는 경우에는, 통상적으로 헤드(Head) 노드에 관련 서비스를 함께 구성하도록 합니다. 온프레미스 환경에 기존 라이선스 서버를 두고 사용할 경우, VPN으로 연동하여 AWS에서 온프레미스의 라이선스 서버를 바라볼 수 있도록 구성하면 됩니다. 그림 3의 (5)는 현재 온프레미스 환경에 라이선스 서버를 구성한 것을 가정한 경우입니다.

NICE EnginFrame을 이용한 엔지니어링 VDI환경

NICE EnginFrame을 통해 엔지니어링 VDI 환경을 사용하고자 할 경우, 리눅스 데스크톱 또는 Windows 데스크톱 등의 워크스테이션 세션(Session)을 요청해서 자원이 생성되면, 그림 5와 같이 아래와 같이 섬네일을 확인할 수 있고, 해당 섬네일 세션에 접속하여 GPU 자원이 필요한 대부분의 애플리케이션을 로컬 워크스테이션처럼 사용하는 것이 가능합니다. 접속하는 사용자들의 그래픽 워크로드가 상이할 경우에는, 워크로드에 따라 사용자들을 그루핑하고 Windows / 리눅스의 EC2 인스턴스 사이즈에 따라 그림 5 처럼 그룹을 분리하여, 각 사용자 그룹마다 해당 EC2 인스턴스를 사용할 수 있도록 환경 구성이 가능합니다.

그림 5. NICE EnginFrame 내의 NICE DCV 세션

또한 NICE EnginFrame을 연동하여 NICE DCV를 사용할 경우, 특정 사용자의 워크스테이션 세션을 다른 연구원과 공유하여 공동 작업을 수행할 수 있기 때문에 업무 생산성이 높아지게 됩니다.

그림 6. NICE EnginFrame 내의 NICE DCV 세션 공유

NICE DCV 기반의 엔지니어링 VDI 세션을 접속하여 그림 7과 같이 OpenGL을 사용한 고성능 그래픽 업무를 원격에서 사용할 수 있으며, Windows 및 리눅스를 모두 지원하고 있습니다. NICE DCV를 이용한 그래픽 작업은 엔지니어링 VDI 환경에 적용되는 되는 것뿐만 아니라 CAE 작업의 Pre/Post 프로세싱에서도 활용될 수 있습니다.

그림 7. NICE DCV를 활용한 고성능 그래픽 작업 예시

NICE DCV 클라이언트에서는 아래와 같은 스트리밍과 관련된 모니터링 콘솔(Console) 을 제공함으로써, 사용자가 사용하고 있는 네트워크 자원 및 Latency 상태를 확인할 수 있습니다. 여기서 주목할 점은 NICE DCV는 스트리밍을 수행하기 위해 데이터 전체를 전송하는 것이 아니라 TLS로 암호화된 픽셀만을 로컬 클라이언트로 전송하게 됩니다. 또한 변경된 화면 부분의 픽셀만 전송하기 때문에 대역폭도 절약하게 됩니다. 그리고 기본적으로 H.264 기반의 비디오 압축을 수행하며 네트워크 상황이 허락되면 무손실 압축으로 전환됩니다.

그림 8. NICE DCV의 스트리밍 메트릭(Metric)

NICE EnginFrame을 이용한 HPC환경

기본적으로 엔지니어링 VDI와 초기 접속 화면과는 동일하지만, 그림 9처럼 로그인 후 좌측의 Menu 가 엔지니어링 VDI 환경 보다 추가된 메뉴를 보여줍니다.

그림 9. NICE EnginFrame 내의 HPC 구성 화면

EnginFrame에서는 Web 기반으로 시뮬레이션 잡 제출도 가능하며, 리눅스 환경에서의 터미널에서도 잡 제출이 가능하도록 지원하고 있습니다.

그림 10. NICE EnginFrame 내의 웹 기반의 시뮬레이션 잡 제출 방법

리눅스 환경에서 시뮬레이션 잡을 제출하기 위해서는 NICE EnginFrame 접속 후, 헤드 노드에 원격 스트리밍 프로토콜인 NICE DCV를 이용하여 접속하여 GNOME3 터미널에서도 가능하며, 기존 리눅스 환경과 동일하게 쉘 스크립트를 활용하여 사용자가 잡 스크립트를 수정할 수 있습니다. 이후 Slurm 명령어를 이용하여 생성한 시뮬레이션 잡을 제출하면 됩니다.

그림 11. NICE DCV를 통해 접속한 헤드 노드의 GNOME3 환경에서의 Siemens STAR-CCM 활용 예시

그림 11은 대표적인 CFD 해석 툴인 Siemens Star-CCM 사용에 대한 예시이며, 아래 Slurm 스크립트는 구조해석에 많이 활용되는 시뮬레이션 SW인 Dassault ABAQUS를 이용한 시뮬레이션용 잡 스크립트에 대한 예시입니다. 만약 현재 온프레미스 환경에서 Slurm이 아닌 기타 상용 스케줄러를 사용하고 있다면, 초기에 한번은 Slurm으로 스케줄러를 마이그레이션 하는 작업이 필요합니다.

#!/bin/bash -e

#SBATCH --잡-name      ABAQUS-gpu
#SBATCH --time          00:05:00       # Walltime
#SBATCH --cpus-per-task 4              
#SBATCH --mem           4G              # total mem
#SBATCH --gpus-per-node 1

module load ABAQUS/2019 
module load CUDA

abaqus 잡="propeller_s4rs_c3d8r" verbose=2 interactive \
    cpus=${SLURM_CPUS_PER_TASK} gpus=${SLURM_GPUS_PER_NODE} mp_mode=threads

NICE EnginFrame 통합 사용자의 HPC환경 잡 제출 후 상태 확인

시뮬레이션 잡을 실행시킨 후, 정상적으로 잡 스크립트 또는 입력 데이터 기반으로 시뮬레이션이 잘 진행되는지 진행 상태 확인이 필요합니다. NICE EnginFrame의 Spooler 항목에서 시뮬레이션 잡의 아웃풋을 바로 확인하고, 오류가 있는 경우 해당 잡을 취소하고 다시 수행할 수 있게 됩니다.

그림 12. Running Job의 Spooler Output 파일 실시간 확인

NICE EnginFrame 통합 사용자의 파일 업로드

NICE EnginFrame에서는 파일 업로드 및 다운로드가 가능합니다. 시뮬레이션 잡 이 모두 완료되면, 해당 잡의 아웃풋 파일 혹은 최종 시뮬레이션 결과 파일을 사용자의 PC에 내려받을 수 있습니다.

그림 13. 시뮬레이션 입력 파일 업로드 혹은 결과 파일 다운로드 페이지

NICE EnginFrame에서의 관리자 잡 관리

NICE EnginFrame에서 사용자는 사용자 소유의 세션만 확인이 가능하지만, 관리자 기능으로 엔지니어링 VDI뿐만 아니라, HPC 잡까지 한 번에 확인이 가능하며, 엔지니어링 VDI 자원 사용량 및 HPC 자원 사용량을 한눈에 볼 수 있습니다.

그림 14. 관리자 모드를 통한 엔지니어링 VDI 및 HPC 세션 모니터링

NICE EnginFram에서는 모든 사용자가 HPC 자원 대상 노드의 상태를 확인함으로써, 자원이 현재 어느 정도 가용한지를 확인할 수 있습니다. AWS 환경에서는 제출했던 잡의 수행이 완료되면, 헤드 노드를 제외한 기본 Computing 노드들은 자원을 반납하도록 되어 있어, 컴퓨팅 자원을 사용한 만큼만 과금하도록 되어 있습니다.

그림 15. 클러스터 자원의 잡 및 시스템 부하와 메모리 사용률 모니터링

NICE EnginFrame을 이용한 하이브리드 환경 구성

NICE EnignFrame은 AWS에서 무료로 사용 가능하지만, 온프레미스 환경에서도 라이선스 비용을 지불하면 사용이 가능합니다. 따라서 NICE EnginFrame를 기반으로 온프레미스와 AWS를 연동하는 하이브리드 환경 구성이 가능합니다. 이 경우 AWS는 HPC 버스팅 용도로 사용하는 것이 일반적입니다. 이때 메인 클러스터를 보유한 온프레미스 환경에서 NICE EnginFrame을 통해 연구원이 시뮬레이션 잡 제출 시, 이것을 온프레미스 환경에서 처리할지, 아니면 원격 클러스터인 AWS에서 처리할지는 사용자가 원하는 Cluster를 선택함으로써 수행이 가능합니다. 예를 들어, Slurm 스크립트에서 ‘–clusters=[원하는 클러스터 명] ‘ 형태로 지정하면 됩니다.

 # sbatch --clusters=main run-batch.sh  <== On-Prem 에서 수행
 # sbatch --clusters=aws run-batch.sh <== AWS 에서 수행

이러한 하이브리드 환경 구성을 AWS 에서 Seoul 리전을 메인 클러스터로 사용하고, 원격 클러스터를 해외 리전에 구축하여, 두 개의 클러스터를 하나처럼 Federation 해서 사용하는 것도 가능합니다.

그림 16. NICE EnginFrame을 이용한 하이브리드 환경 구성 방법

맺음말

전통적인 온프레미스 환경의 많은 제약 사항들로 인해, CAE 및 CAD와 관련된 HPC 및 엔지니어링 VDI 인프라 환경을 클라우드 기반으로 도입했거나 도입에 관심 있는 고객들이 최근 증가하고 있습니다. 이에 따라 많은 고객사에서 이러한 인프라 환경 구축을 위해 때로는 개별 서드파티 솔루션을 도입하기도 합니다. 그러나 CAE와 CAD 업무 특성상 이 두 가지 업무를 별도로 구축할 경우 여러 가지 비효율이 발생합니다.

AWS에서는 이를 위해, 단일 포털을 통해 연구원들이 CAE 및 CAD 환경을 사용할 수 있는 통합 오퍼링을 제공하고 있습니다. 그 중심에는 NICE EnginFrame이 존재합니다. 연구원들은 인터넷을 통해 NICE EnginFrame에 접근만 가능하다면 어느 디바이스를 통해서도 스마트 워크 구현이 가능합니다. 또한 그동안 분리되어 구성되어 왔던 연구 업무 환경을 단순화 시킴으로써 업무 효율성을 극대화할 수 있습니다

마지막으로 NICE EnginFrame이 제공하는 여러 장점을 다시 한번 제공함으로써 이번 블로그를 마치도록 하겠습니다.

사용자 관점 관리자 관점
터미널기반 잡 제출
웹 기반 잡 제출
OpenGL 가속 GUI 터미널 제공 (NICE DCV 연동)
HPC 인프라 사용률 모니터
사용자 터미널 공유 및 공동 작업
홈 경로 데이터 관리 메뉴 제공
사용하기 쉬운 단순한 UI
AES-256 지원으로 NICE DCV 터미널 암호화
엔지니어링VDI 및 HPC 잡 의 통합 모니터링
사용자 세션 원격 지원 가능
통합 사용자 인증 구성 지원
서비스 시스템 자원 사용률 모니터
동접 사용자 환경의 NICE DCV 세션 관리 기능
엔지니어링 VDI 환경에서의 다양한 보안 정책 반영 가능
이름

WanHee Kim

ISBC 김완희 대표는 국내에 영상 및 제조 분야의 RnD HPC/eVDI Cluster 를 AWS 에서 운용하고 있으며,
국내 RnD 및 영상 작업을 하는 고객분들께,  최적의 업무환경을 제공해드릴 수 있도록, 고객사에서 사용하고
있는 Application 을 통합 운용 및 다양한 컨설팅 서비스를 제공 하고 있습니다.

Sangman Cho

Sangman Cho

조상만 Solutions Architect는 AWS 입사 이후, 엔터프라이즈 제조 고객의 AWS 클라우드 기반 디지털 전환을 기술적으로 도와드리는 업무를 수행하고 있습니다.