본문으로 건너뛰기

[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 플래그로 테스트를 균등 분배합니다.

왜 이게 좋은가

  1. CI 피드백 루프 단축: 개발자가 PR을 올린 후 CI 결과를 받기까지의 시간이 줄어들어, 개발 생산성이 향상됩니다.
  2. 리소스 활용 극대화: CI 환경에서 유휴 상태인 컴퓨팅 리소스를 더 적극적으로 활용합니다.
  3. non-parallel 테스트도 분배: "병렬 실행 불가"한 테스트라도 서로 다른 테스트를 다른 머신에서 실행하는 것은 가능하므로, 워커 분배로 시간을 줄입니다.
  4. 간단한 설정 변경: 테스트 코드 자체의 수정 없이, CI 설정 파일만 변경하여 효과를 얻었습니다.

참고 자료

댓글

관련 포스트

PR Analysis 의 다른글