[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 [QEMU] 보드 없이 ARM64 리눅스 가상 환경 구성하기 이파란 2022.05.29 223
68 올해 스터디 모집기간 문의드립니다. [1] 니나노 2019.03.22 212
67 [제7회] 한국 리눅스 커널 개발자 모임 [1] 이파란 2022.08.27 163
66 [리눅스 커널 강의] 커널 코어 분석 공유 [1] 이파란 2023.10.11 152
» [Parallel Computing] 슈퍼 클러스터? 이파란 2021.04.18 135
64 스터디 가입문의 드립니다. [1] h388lee 2021.03.30 124
63 [챗GPT 러닝데이 | 챗GPT말고 LLM] LoRA로 빠르게 나만의 모델을 만들어보자 file 인공지능팩토리 2023.05.18 105
62 Fwd: [kernel-dev-ko] [제 7회 한국 리눅스 커널 개발자 모임] 이파란 2022.07.07 103
61 [딥러닝러닝데이] AutoML을 활용한 모델 탐색-서호건 file 인공지능팩토리1 2024.01.11 93
60 [과기부,NIPA] 2022년 인공지능 온라인 경진대회 참가자 모집합니다. [1] file ai.nipa2022 2022.05.19 77
59 [챗GPT 러닝데이] 개발자에게 부탁하기 두려웠던 나머지...(더보기) file 인공지능팩토리1 2023.11.02 76
58 [2022 제2회 K-water AI 경진대회] 수돗물 수요예측 AI 알고리즘 개발 ~ 12월 09일 (금) file 인공지능팩토리 2022.11.08 74
57 모두의 아이디어랩 file 인공지능팩토리 2023.02.09 67
56 [랭체인러닝데이] 개인 데이터셋을 통한 llama2 fine-tune - 최재혁 file 인공지능팩토리1 2024.01.05 66
55 [오픈소스] 성당과 시장 : 우연한 혁명으로 일어난 리눅스와 오픈소스에 대한 생각 이파란 2022.05.29 61
54 [Github] 경로 또는 이름이 바뀐 파일 추적 기능 공유 file 이파란 2023.08.23 60
53 프로메테우스 스타트업 해커톤 및 후원사 모집 file 인공지능팩토리 2023.01.20 60
52 무료세미나 [챗GPT 러닝데이] 입문 - 자연어처리 시작하기 인공지능팩토리 2023.03.13 56
51 [SD러닝데이] 의도대로 사용하는 스테이블디퓨전 사용법과 AI생성이미지의 이해 인공지능팩토리 2023.06.12 55
50 제4회 2023 연구개발특구 AI SPARK 챌린지 file 인공지능팩토리 2023.03.21 50
XE Login