- 엑사급(Exascale) 초고성능 컴퓨터(HPC)는 1초에 10의 18제곱 연산을 처리할 수 있는 슈퍼컴퓨터입니다. 주로 과학 시뮬레이션, 인공지능 학습, 기후 예측 등 방대한 계산 자원이 필요한 분야에서 활용됩니다. 하지만 거대한 시스템을 효율적으로 활용하기 위해서는 각기 다른 하드웨어 자원과 복잡한 소프트웨어 환경을 상황에 맞게 최적화하는 것이 매우 중요합니다. KISTI 슈퍼컴퓨팅 센터와 협업하여 슈퍼컴퓨터 5호기(누리온 등), 6호기에 효과적인 스케줄링 알고리즘과 프로그램 실행 시 파라미터를 자동으로 튜닝하는 기법을 제안합니다.
HPC 스케줄링 최적화를 위한 기계학습(강화학습) 알고리즘 연구

Actor-Critic 강화학습 기반 스케줄링의 워크플로우
- 슈퍼컴퓨터(i.e., 고성능컴퓨팅 클러스터)의 성능을 극대화하기 위해서는 멀티 노드에서의 작업 스케줄링이 필수적입니다. 이러한 클러스터 환경은 제출된 작업 처리율, 대기 시간, 자원 활용률 등 최적화가 필요한 변수들이 있습니다. 기존의 heuristic or rule 기반 스케줄러(FCFS, SJF 등)는 갑작스런 시스템 구성 변화에 동적으로 대응하지 못하고 새로운 워크로드 특성에 맞춰 자원 할당이 어려운 문제가 있습니다. 이에 따라 새로운 대안으로 인공지능 기반 다양한 스케줄링 기법이 제안되고 있습니다. 그 중, 강화학습은 명시적인 규칙 없이도 동적으로 스케줄링 정책을 학습할 수 있도록 구성하여 기존 연구들에서 좋은 결과를 보이고 있습니다.
- 따라서, 본 프로젝트는 동적인 환경에 적절히 대응함과 동시에 여러 지표를 최적화 가능한 스케줄링 알고리즘을 연구하고자 합니다. 현재 환경에 맞게 여러 지표 간 우선순위를 자동으로 정의한 뒤, 강화학습 정책을 통해 스케줄링을 수행하는 것입니다. 예를 들어, 성능 지표는 평균 작업 대기 시간, 처리율, 자원 활용률 등 여러 지표들이 좋은 성능을 보이도록 기계학습 혹은 강화학습 기반의 알고리즘을 활용하여 새로운 기법을 제안합니다.
HPC 데이터 적재 및 활용을 위한 공통 레포지토리 시스템 아키텍처 설계

- 슈퍼컴퓨터(i.e., 고성능컴퓨팅) 환경의 최적화를 위해 공통 데이터 포맷, 공통 레포지토리 운영은 필수적입니다. 슈퍼컴퓨터 환경에서 생성되는 시뮬레이션 결과 값, 작업 로그 등 다양한 유형의 데이터를 통합하고 시스템 내 여러 계층에서 전체적인 최적화를 달성하기 위해 활용됩니다. 그러나, 기존 범용 저장소로 인해 슈퍼컴퓨터 환경의 데이터 처리에 병목 현상이 발생합니다. 예를 들어, 대규모 로그 데이터 검색 시 지연이 발생하고, 멀티 스레드 환경에서는 자원 경합으로 인해 처리량 저하가 나타납니다.
- 하지만 기존의 범용 저장소는 대규모 로그 데이터를 다룰 때 검색 지연이 발생하고, 멀티 스레드 환경에서는 자원 경합으로 인한 처리량 저하, 그리고 쓰기 작업 시 과도한 I/O 증폭 문제(I/O amplification)가 주요 병목 요소로 작용합니다.
- 우리 연구팀은 이러한 문제를 해결하고자, HPC 환경에서 생성되는 대규모 데이터를 빠르게 저장하고 효율적으로 활용할 수 있는 고성능 공통 레포지토리 아키텍처를 설계하고 있습니다. 핵심 목표는 실시간성, 확장성, 그리고 계층 간 데이터 통합을 모두 만족하는 아키텍처를 구현하는 것입니다.
무엇을 배울 수 있나요?
- HPC 시스템 및 분산 병렬 컴퓨팅에 대한 개념을 학습하고 실제 환경에서 발생할 수 있는 문제들을 탐색할 수 있습니다.
- 공통 레포지토리 아키텍처 설계 주제에서는 NoSQL, KV Cache 등 최근 주요한 데이터베이스 이슈에 대해 배울 수 있습니다. 이를 활용하여 실시간으로 생성되는 데이터 적재 및 분석을 위한 백엔드/시스템 아키텍처 설계 경험을 할 수 있습니다.
- 기술적 논의, 시스템 설계, 실험 프로토콜, 결과 해석 및 논문 작성 등 연구 전반에 참여합니다.
다음과 같은 학생을 선호합니다.
- 인턴십 기간 동안 프로젝트에 전념할 수 있는 학생.
- 머신러닝 및 딥러닝, 운영체제 기초가 탄탄한 학생.