[Ray] Data CI 파이프라인 병렬성 확대로 테스트 실행 시간 단축
PR 링크: ray-project/ray#56508 상태: Merged | 변경: +8 / -2
들어가며
대규모 프로젝트의 CI 파이프라인은 테스트 수가 늘어나면서 점점 느려집니다. Ray Data 모듈의 CI도 마찬가지였습니다. 이 PR은 테스트 실행의 병렬성을 높여 CI 시간을 단축합니다. data 태그가 붙은 병렬 테스트의 워커를 2개에서 8개로 늘리고, 기존에 순차 실행되던 data_non_parallel 테스트에도 3-way 병렬 분배를 추가했습니다.
핵심 코드 분석
병렬 워커 수 증가
병렬 실행 가능한 테스트(data 태그)의 워커 수를 기존 2개에서 8개로 4배 늘렸습니다.
non-parallel 테스트에 워커 분배 추가
기존에 하나의 머신에서 순차 실행되던 data_non_parallel 테스트를 3개 워커로 분배하여, 각 워커가 테스트의 1/3씩 담당합니다. --workers와 --worker-id 플래그로 테스트를 균등 분배합니다.
왜 이게 좋은가
- CI 피드백 루프 단축: 개발자가 PR을 올린 후 CI 결과를 받기까지의 시간이 줄어들어, 개발 생산성이 향상됩니다.
- 리소스 활용 극대화: CI 환경에서 유휴 상태인 컴퓨팅 리소스를 더 적극적으로 활용합니다.
- non-parallel 테스트도 분배: "병렬 실행 불가"한 테스트라도 서로 다른 테스트를 다른 머신에서 실행하는 것은 가능하므로, 워커 분배로 시간을 줄입니다.
- 간단한 설정 변경: 테스트 코드 자체의 수정 없이, CI 설정 파일만 변경하여 효과를 얻었습니다.
참고 자료
관련 포스트
PR Analysis 의 다른글
- 이전글 [triton] AMD: range analysis 버그 수정 및 buffer-ops의 range analysis 의존성 강화
- 현재글 : [Ray] Data CI 파이프라인 병렬성 확대로 테스트 실행 시간 단축
- 다음글 [triton] Warp Specialization: OptimizePartitionWarps와 SWP 순서 교환으로 어노테이션 보존
댓글