SLURM 실습용 클러스터 구축 하드웨어

   조회 1994   추천 0    

안녕하세요. 홈서버에 입문한지 1년 남짓 되어가는 대학생입니다.

2CPU에서 많이 배워가고 있습니다.

최근에 HPC에 대해 관심이 생겨서 이것저것 공부하다가 실습용 클러스터를 한번 만들어보고 싶어졌습니다.

기존에는 proxmox vm을 생성해서 공부해왔지만, 실제 물리적인 클러스터를 만드는게 로망입니다.

클러스터의 구성 요건은 다음과 같습니다.


<구성 요건>

ROCKY linux 8.8

1개의 마스터 노드(HP Z440 보유중)

4개의 컴퓨트 노드 (CPU 만 사용)

https://github.com/openhpc/ohpc/releases/download/v2.7.GA/Install_guide-Rocky8-Warewulf-SLURM-2.7-x86_64.pdf


다만 제가 아직 학생인지라 예산의 한계가 있습니다.

그래서 컴퓨트 노드 당 5만원 이하로 구축하려 합니다.

그래서 지금 생각하고 있는 구성은 다음과 같습니다.


<컴퓨트 노드 구성>

X86기반

중고 채굴용 메인보드 + G3900 + ddr4 4g + 쿨러 2만원

중고 파워 서플라이 500w 1.5만원


컴퓨트 노드는 pxe와 NFS storage를 통해 diskless로 운영할 예정입니다.

G3900은 AVX 명령어를 포함하지 않는다고 하던데 추후 다른 cpu로 업그레이드 할 생각입니다.


Q1. 실습용으로 이정도 하드웨어면 충분할까요? 보드나 파워가 망가지면 해당 노드는 파기할 생각입니다.

Q2. 그래도 HPC를 제대로 공부하려면 BMC가 포함된 보드를 구매하는게 나을까요

Q3. 하나의 노드가 망가질 때 다른 노드도 함께 망가질 일은 없을까요?


이 외에도 HPC 관련 산업 종사자 또는 다뤄보신 분들이 계시다면 조언 부탁드립니다.

가르침에 감사드립니다.


쪽팔리면 질문하지 맙시다. 소중한 답변 댓글을 삭제하는건 부끄러운 일 입니다 

짧은글 일수록 신중하게.
제온프로 2024-02
방향이 좀 달라요

클러스터는 여러대를 한대 처럼 사용하는 목적이고..

네트워크와 데이터 이동 대역폭 문제에 시달립니다.

그래서 Ethernet 이 느려서 인피니벤드를 사용합니다.
(Infiniband 40G/100G/200Gbps)

1번 컴퓨터가 2번 컴퓨터의 메모리를 접근하는데..
2번 OS의 간섭을 받습니다. 그러면 느려져요..
그래서 RDMA를 사용합니다.  서로 OS 간섭없이 다른 컴퓨터의 메모리와 NVMe, GPU를
마치 나의 Local Device 를 사용하는 것 처럼 제한 없이 빠르게 쓸 수 있어야 합니다.

PC나 서버와는 또 다른 개념입니다... 슈퍼컴퓨터 인 것이죠..

일반적은 HPC에서 말하는 클러스터에 대한 견해입니다.
SLURM에 대한 견해는 아닙니다.
     
커리베어 2024-02
답변 감사드립니다.
IB와 RDMA의 개념은 대략 알고 있었지만 비용문제 때문에 제외했습니다.
우선 MPI 와 OPENMP를 실습하는데 초점을 두고 있습니다.
몇가지 추가적으로 여쭤봐도 될까요?

Q1. infiniband 없이 실습하는건 반쪽짜리 학습이 될까요?
mellanox connect x3 40g nic 가 생각보다는 저렴한것 같아 ib 스위치와 함께 구축할 생각도 해봤습니다.

Q2. 여기서 언급하신 NVME는 캐싱용인가요?

Q3. 실제 HPC에서는 각 노드에 독립적으로 OS를 설치하나요?

Q4. HPC 활용에 초점을 둔다면 어디서부터 공부하는게 좋을까요?
제가 컴퓨터 전공이 아니라 학교에서 배우기는 어려울것 같습니다.

이렇게 도움 주셔서 정말 감사합니다!!
          
구차니 2024-02
openMPI와 openMP는 전혀 다릅니다.
openMP는 하나의 컴퓨터 내에서 multi core를 사용하도록 작업을 쉽게 분배하는 것이고, 컴파일러 확장으로 손쉽게 for문을 등을 나눠주도록 하는 녀석입니다.
openMPI는 네트워크를 통해 다른 컴퓨터에서 연산을 하도록 해주는 기능입니다.
slurm은 워크로드 관리자로, 클러스터 환경에서 N개의 PC에 걸쳐 mpi로 구현된 프로그램을 여러 사용자가 일감을 예약하여 클러스터 전체의 사용량을 최대한 끌어내기 위한 관리자 입니다.

일단 현재 공부하시려는게 클러스터 쪽이라면
차라리 슈퍼컴퓨팅 센터의 운영 메뉴얼과 프로그래밍 메뉴얼을 보시면 간접적으로
클러스터가 어떻게 돌아가는지 빠르게 아실수 있을 것이고

그 이후에는 slurm 이나 openhpc, pbs 등으로 클러스터에 그런 시스템을 구축하는 쪽으로 방향을 잡으시면 어떨까 합니다.
다만, 이런식의 연산 클러스터 구축은 HPC/슈퍼컴퓨터 쪽에 주로 적용되지
클라우드 쪽에서는 hpc로 구현되진 않습니다.
상석하대 2024-02
실습인데요, 뭐.
그냥 생각대로 하는 거죠.
인피니밴드일 필요는 없어요.
메인보드에 BMC가 꼭 있어야 하는 건 아니예요.
온보드 랜으로 돼요.
고장난 노드는 계산할 때 빼버리는 거죠.
다른 노드에 영향을 주진 않아요.
     
상석하대 2024-02
노드 메모리는 좀 부족해요.
dateno1 2024-02
요즘 시대에 그런 스팩으로 구축하실꺼라면 차라리 좀 괜찮은 컴에서 가상으로 여러개 파세요 (가상이 저런 고철보단 빠름)

가상이라면 BMC 없어도 그닥 문제 없습니다

메인스트림도 램 256기가까지 되다보니 실습용으로 구축하는데 아무 지장 없습니다
이동원CH 2024-04
slurm 을 쓰신다니 지금은 그만둔 박사과정 Dry 랩이 생각나는군요. 화이팅 하시길 바랍니다!


QnA
제목Page 5352/5715
2014-05   5193160   정은준1
2015-12   1726246   백메가
2021-07   1992   프링글스
2023-03   1992   나로와
2022-10   1992   범이님
2022-01   1992   안녕해
2023-11   1992   흥마
2021-11   1992   겨울나무
2023-02   1991   sasaz
2021-11   1991   죠슈아
2024-07   1991   유호준
2024-07   1991   질문
2022-09   1991   미수맨
2024-01   1990   텔이
2023-01   1990   김제연
2023-12   1990   dateno1
2022-06   1990   바쿤
2022-10   1990   서울l승용
2023-07   1990   min1597
2023-08   1990   한중일
2022-02   1990   거니네
2023-04   1990   한효석