현재 GPU 서버가 5대 (GPU는 24대), CPU 서버 1대가 있고, 조만간 GPU 서버 3대 (GPU는 24대)가 추가로 들어올 예정입니다.
여태까지는 제가 메인으로 서버들을 관리하고 자잘한 것들은 서버 사용자들이 맡아서 관리를 했었는데, 자원 활용 측면에서 너무 비효율적이라 좀 더 효율적인 방안을 찾는 중입니다.
그리고 MS office를 학교에서 지원해줌에도 불구하고 서로 쓰는 툴(구글독스, 한글 등)이 다르다보니 협업 인프라도 좀 체계적으로 구성을 해야겠다는 생각이 들었습니다.
제가 러프하게 생각해본 방안은 이렇습니다.
1. 서버 자원 관리 측면에서는 kubernetes로 클러스터를 만든 뒤, 서버 자원 모니터링을 위한 서비스 포트를 개방 후, GKE와 같은 방식으로 자원을 제공하는 것입니다. 근데 이 방식은 닭 잡는데, 소 잡는 칼 쓰는 격이 아닌가란 생각이 들어 일단 생각만 해둔 상태입니다.
2. 그리고 협업 인프라 측면에서는, 일단은 MS teams를 연구실의 주 커뮤니케이션 수단(교수님만 자주 쓰시고, 학생들은 카톡을 주로 함)으로 사용하기 때문에, 이를 적극 활용해볼까 합니다. 그리고 CPU서버로 apache2와 samba 서비스를 운용 중입니다. Teams는 MS office(ppt, excel, word)의 co-authoring을 지원을 하기 때문에, samba를 onedrive와 sync하고 teams를 통한 co-authoring을 해보면 어떨까 생각 중입니다.
일단 다른 연구실은 어떤 식으로 인프라를 구성했는지?
또 제가 생각한 아이디어는 어떠하며, corner case는 없을지?
이것들이 궁금합니다.
많은 의견 남겨주시면 감사드리겠습니다.
(연구자포럼 게시판의 활성도가 상당히 낮은 것 같아서, 아무개랩 게시판에 재업합니다.)
카카오 계정과 연동하여 게시글에 달린 댓글 알람, 소식등을 빠르게 받아보세요
댓글 2개
2021.11.17
안녕하세요 궁금하게 있어 여쭙니다
저희는 각 서버 마다 도커를 사용해서 이용중인데, 노드가 증가하면서 이것을 한번에 사용하려 합니다.
클루스터로 묶게 될경우, 주피터랩 띄운후 들어가서 토치 실행시키면 각 클루스터 노드에 있는 모든 gpu들이 한번에 잡히나요? 그 클루스터 툴이 쿠버네티스 인거 맞나요?
2021.12.06
안녕하세요.
Slurm + Singularity / Conda 환경으로 GPU 클러스터 만들어서 사용하시는 것도 좋아보입니다. (몇몇 대학 대형 클러스터 시스템이 비슷하게 구성되어 있습니다.)
CPU 서버에 Slurm 설치 후 관리서버로 쓰시고
공용 저장공간 만든 다음 각 노드들에 NFS로 마운트해두면 그때그때 GPU 자원만 할당받아 편하게 작업 가능합니다.
모니터링은 각 노드들에 dcgm exporter 설치 후 관리서버에 prometheus + grafana로 묶어서 하시면 될 것 같고,
가상환경은 Singularity나 conda 쓰시면 웬만한건 다 가능합니다.
2021.11.17
2021.12.06