오픈에이아이(OpenAI)는 기업용 대규모 단일 저장소(monorepo)를 지원하고 자사 개발자와 인공지능 에이전트가 생성하는 코드 커밋의 급격한 성장에 대응하기 위해 특별히 설계된 Pando라는 이름의 새로운 Git 백엔드 시스템 개발 세부 정보를 공개했습니다. 회사는 분기별 커밋 수가 2024년 1분기 대비 2,400% 이상 증가했다고 설명했습니다.
새로운 시스템은 푸시(pushes) 작업의 응답 시간을 약 5배 단축했으며, 현재 매일 약 1피타바이트의 Git 데이터를 처리하고 있습니다. 10주 동안 러스트(Rust) 언어를 사용하여 개발을 진행하고 코드의 상당 부분을 코덱스(Codex) 에이전트로 프로그래밍한 이 과정에서, 오픈에이아이는 앤트로픽(Anthropic) 같은 다른 기업들처럼 완전히 새로운 클라이언트 시스템과 소프트웨어 아키텍처를 처음부터 구축하는 대신 표준 Git 표준과의 호환성을 유지하기로 결정했습니다.
새로운 Pando 시스템은 어떻게 작동하는가?
Pando는 기존 Git 서버가 필수적으로 여기는 두 가지 기본적 가정을 제거함으로써 기존의 병목 현상을 극복합니다. 즉, 저장소의 모든 브랜치에 대해 동시에 일관된 상태를 유지하지 않으며, 가져오기(fetches) 작업 중에 각 클라이언트마다 개별적인 팩파일(packfiles)을 생성하지 않습니다.
- 전체 동기화 폐기: 시스템은 각 브랜치를 독립적으로 처리하므로, 관련 없는 브랜치의 업데이트 때문에 다른 브랜치의 푸시 작업이 대기하는 것을 방지합니다.
- 즉각적인 검증 및 캐싱: 시스템은 팩파일을 로컬에서 해체하지 않고 클라우드 스토리지로 스트리밍하는 동안 검증하며, Express라는 캐싱 서비스는 99%가 넘는 적중률로 네트워크를 통해 팩을 제공합니다.
- 백엔드 통합(Compaction): 백엔드 서버는 로그 구조화 데이터베이스와 유사한 방식으로 시간이 지남에 따라 작은 패키지들을 점진적으로 더 큰 패키지로 병합합니다.
기여 및 공개 제한 사항
내부 시스템인 Pando 외에도, 오픈에이아이는 동시 패키지 다운로드 및 중단된 전송 재개와 관련된 원본 Git 클라이언트의 여러 결함을 수정해야 했습니다. 이들은 이러한 수정 사항과 병렬 인덱싱과 같은 기타 추가 기능 중 일부를 오픈 소스 프로젝트에 기여했으며, 백엔드 시스템인 Pando는 현재 오픈 소스로 공개되지 않은 상태로 남아 있습니다.
뉴스 출처
The New Stack - Software Development
원문 보기 ↗