[Parallel Computing] 슈퍼 클러스터?

이파란 2021.04.18 23:45 조회 수 : 135

슈퍼 클러스터 관련 궁금하여 찾아본 내용을 공유합니다.

 

1. 슈퍼 클러스터가 무엇일까?

 

    Superclusters — clusters of clusters

 

        - Beowulf Cluster Computing with Linux - Thomas Sterling

 

하나의 백본 인프라 기반을 가지고 있는 기관이 있을 때,

광역 네트워크로 통합되는 산업 단지의 별도 건물 또는 공유 전산실과 같은 로컬 영역 내의

클러스터 집단을 포함하여 상위의 클러스터로 묶는 것을 말함.

 

 

어원?

 

초은하단(Superclusters)


- 초은하단은 은하단 및 은하군으로 이루어진 대규모 무리로 우주에서 가장 거대한 구조 중 하나이다.

 

 

2. 클러스터 구성

 

요즘 일반적으로 많이 사용하는 클러스터(Hadoop, Kubernetes)의 구성은

 

보통 마스터(Name node, Coordinator, Controller) <-> 워커(Data node, Worker node) 구성으로

 

작업을 나눠주는 소수의 코디가 있고, 코디가 나눠준 작업 단위를 처리하는 다수의 워커 형태임.

 

 

슈퍼클러스터는 보통 고성능 컴퓨팅(high-performance computing, HPC)을 위한 클러스터 형태로

 

수십년 전부터 오픈소스 기반으로 구축가능한 가성비 좋은 베오울프 클러스터를 연구하기 시작했음.

 

 

3. Beowulf Cluster?

 

소수의 메인급 서버 컴퓨터, 많은 노드가 존재함

 

연산 작업을 통제하는 메인 서버가 병렬화된 단위 작업을 하위 노드의 프로세서에 배포하고

 

단위 작업의 결과를 메인 서버가 관리하고 전체적으로 동기화함.

 

베오울프의 노드들은 CPU 와 연산 메모리 램과 마더보드 그리고 이더넷 기능 만을 갖는

최소한의 환경만을 요구하므로 pxe 부트(NIC 가 지원함. DHCP -> TFTP)로 부팅 디스크 조차도 별도로 없음.

 

 

4. 클러스터 Parallel Computing 동작 방식

 

(1) TORQUE 를 이용한 job submission.

 

(2) Maui Scheduler 는 각 노드의 프로세서, 메모리, 디스크 등의 리소스를

    작업에 할당하는 어떤 노드를, 어느 시점에, 어떻게 제어할 지 정하는 policy engine 임.

    각 작업은 MPI 를 사용하여 서로 통신 할 수 있음.

 

(3) 병렬 컴퓨팅에 사용할 수 있도록, 분산 메모리 응용 프로그램의 메시지 전달 표준 MPI

     병렬 언어 라이브러리로 C 또는 포트란으로 작성함.

     (표준은 MPI 로 굳어짐. Open MPI, MPICH2 를 많이 사용함)

     최근 예제 프로그램을 보면 MPI + Open MP 라이브러리도 함께 사용하고 있음.

 

 

동작하는 방식 & 관련한 자료를 보고있습니다.

 

세부적인 설정이 가능하기 때문에 설명을 위해서는 공부가 많이 필요할 것 같아서

 

관련 설명은 다음 기회에!

 

 

5. Linux Kernel 의 관련 기술

 

RDMA (원격 직접 메모리 액세스)는 일반적으로 고속, 저지연 네트워크(일명 패브릭)를 통해 구현되는 네트워킹 기술임.

원격 호스트의 메모리에 직접 액세스 할 수 있어 지연 시간과 CPU 오버 헤드를 크게 줄일 수 있음.

이더넷 NIC 에서 RoCE 프로토콜 등의 지원 필요함.

 

리눅스에서 등록된 노드를 ib_write_bw 커맨드로 관리함

 

LWN: RDMA

https://lwn.net/Articles/133649/

- https://lkml.org/lkml/2021/2/22/724

 

6. 사용 분야

 

업계의 가장 어려운 문제를 해결하기 위해 HPC 를 사용함.

 

    핵 반응 모델링
    유전학 모델링
    석유 및 가스 시뮬레이션
    경영 시뮬레이션
    반도체 디자인
    날씨 예측 시뮬레이션

 

번호 제목 글쓴이 날짜 조회 수
공지 [공지] 강좌, 팁, 정보등에 대해 올리는 게시판입니다. woos 2016.04.09 246
69 [LG화학] 입자 형태 분석 모델 개발 해커톤 인공지능팩토리 2022.07.01 36
68 INNOPOLIS AI SPACE-S 인공지능 세미나 - GCP와 TFX로 쉽게 MLOps를 시작하는법 인공지능팩토리 2022.06.16 32
67 (채용 특전) 제7회 롯데멤버스 빅데이터 경진대회 인공지능팩토리 2022.06.16 36
66 [Git] 특정 파일을 포함한 커밋 & 수정 카운트 필터링 [2] file 이파란 2021.08.22 344
65 [커널 프로그래밍] 열심히 공부한 커널 코어 서브시스템 활용! [2] 이파란 2022.05.16 248
64 [QEMU] 보드 없이 ARM64 리눅스 가상 환경 구성하기 이파란 2022.05.29 214
63 [오픈소스] 성당과 시장 : 우연한 혁명으로 일어난 리눅스와 오픈소스에 대한 생각 이파란 2022.05.29 61
62 [과기부,NIPA] 2022년 인공지능 온라인 경진대회 참가자 모집합니다. [1] file ai.nipa2022 2022.05.19 77
61 Linux Kernel Network 관련 포스팅중입니다. pr0gr4m 2021.07.25 907
60 [Linux Kernel] Kernel history archaeologist file 이파란 2021.07.11 255
59 스터디 모집 공고 언제올라오나요? [3] eubl 2021.04.07 282
58 짧은 책소개, The Art of Multiprocessor Programming 빵먹고싶다 2021.04.26 278
» [Parallel Computing] 슈퍼 클러스터? 이파란 2021.04.18 135
56 [Git] 함수의 변천사 확인하기 [1] 이파란 2021.01.23 326
55 스터디 가입문의 드립니다. [1] h388lee 2021.03.30 124
54 IUP. RISC-V 컴퓨터 구조 및 SoC 교육 프로그램 및 자료 file AndyLee 2021.03.24 930
53 init_pg_dir 도입 패치 분석 [2] DEWH 2020.12.31 234
52 Barrier 가 꼭 필요한지 질문드립니다. [7] 콤퓨타 2020.11.15 1729
51 스터디 모임 질문 [3] 살길바라냐 2019.10.25 1201
50 2020년 스터디 모집 기간 문의 [1] 흰둥흰둥 2019.11.02 741
XE Login