배치 알고리즘 가속을 위한 최적 스케줄링 아키텍처
초록
본 논문은 신경망 처리기에서 배치 단위로 실행되는 알고리즘의 처리 효율을 높이기 위해, 하드웨어와 소프트웨어 양쪽에서 적용 가능한 최적 스케줄링 아키텍처를 제안한다. 제안된 구조는 코어 자원 활용도를 극대화하여 학습·추론 시간을 단축시키며, 기존 방법 대비 성능 향상을 입증한다.
상세 분석
논문이 제시하는 핵심 아이디어는 “배치 알고리즘 전용 스케줄러”를 설계함으로써, 다수의 데이터 텐서를 동시에 처리하는 신경망 워크로드에서 발생하는 자원 불균형 문제를 해소하는 것이다. 기존의 일반 목적 스케줄러는 코어 별 연산 부하를 균등하게 분배하려는 목표에 초점을 맞추지만, 배치 처리에서는 각 코어가 동일한 연산량을 수행하지 않을 가능성이 크다. 예를 들어, 배치 내 일부 샘플은 복잡한 연산 경로를, 다른 샘플은 상대적으로 단순한 경로를 택하게 되면, 코어 간 대기 시간이 발생하고 전체 파이프라인 효율이 저하된다.
제안된 아키텍처는 이러한 비균형을 사전에 예측하고, 배치 내 텐서들을 “연산량 프로파일”에 따라 클러스터링한 뒤, 유사한 부하를 가진 그룹을 동일 코어 혹은 코어 그룹에 할당한다. 이를 위해 논문은 두 가지 구현 방식을 논의한다. 첫 번째는 하드웨어 레벨에서 스케줄링 로직을 전용 모듈로 삽입하여, 실시간으로 부하 정보를 수집하고 동적으로 매핑하는 방식이다. 이 경우, 스케줄러는 메모리 대역폭, 캐시 사용량, 연산 유닛 가용성 등을 종합적으로 고려해 최적 매핑 테이블을 생성한다. 두 번째는 소프트웨어 레이어에서 라이브러리 형태로 제공되는 스케줄러로, 컴파일 타임에 배치 특성을 분석하고 정적 스케줄링 계획을 수립한다. 소프트웨어 구현은 기존 파이프라인에 최소한의 오버헤드만 추가하면서도, 다양한 하드웨어 플랫폼에 이식성이 높다는 장점을 가진다.
성능 평가에서는 제안된 스케줄러를 적용한 경우와 기존 라운드 로빈 혹은 단순 FIFO 스케줄링을 적용한 경우를 비교한다. 실험 결과, 평균 코어 활용률이 1525% 상승하고, 전체 배치 처리 시간은 1218% 단축되었다고 보고한다. 특히, 대규모 배치(예: 1024 샘플)와 고차원 텐서(예: 3D CNN)에서 효과가 두드러졌으며, 메모리 대역폭 병목을 완화하는 데에도 기여했다.
하지만 몇 가지 한계점도 존재한다. 첫째, 부하 예측 모델이 정확하지 않을 경우 오히려 스케줄링 오버헤드가 증가할 위험이 있다. 논문에서는 간단한 히스토리 기반 예측을 사용했으나, 복잡한 모델에서는 머신러닝 기반 예측기로 교체할 필요가 있다. 둘째, 하드웨어 구현 시 추가적인 스케줄링 전용 회로가 면적과 전력 소비를 증가시킬 수 있다. 이는 특히 모바일 혹은 엣지 디바이스에서 민감한 요소이며, 전력‑성능 균형을 고려한 설계 최적화가 요구된다. 셋째, 제안된 아키텍처가 모든 종류의 신경망에 동일하게 적용 가능한지는 검증이 부족하다. 현재는 CNN 기반 워크로드에 초점을 맞췄으며, 트랜스포머나 그래프 신경망과 같은 비정형 연산 패턴에 대한 적용 가능성은 추가 연구가 필요하다.
전반적으로, 배치 처리 특성을 고려한 스케줄링 전략은 현재 AI 가속기 설계에서 간과되기 쉬운 영역이며, 논문이 제시한 접근법은 하드웨어와 소프트웨어 양쪽에서 실현 가능성을 보여준다. 향후 연구에서는 부하 예측 정확도 향상, 전력 효율 최적화, 그리고 다양한 모델 아키텍처에 대한 일반화 검증이 진행된다면, 실제 제품에 적용될 가능성이 크게 높아질 것으로 기대된다.
댓글 및 학술 토론
Loading comments...
의견 남기기