OpenURMA: A Clean-Room Open Implementation of the Unified Bus Protocol
본 논문은 화웨이 유니파이드 버스 프로토콜의 첫 번째 클린룸 오픈소스 구현체인 OpenURMA를 소개하며, RTL, SystemC 및 gem5 시뮬레이션을 통해 애플리케이션별 상태를 전송 상태와 분리함으로써 기존 RoCEv2 기준 대비 64바이트 원격 가져오기 지연 시간을 4.37배 줄이고 처리량을 2.80배 증가시킨다는 것을 입증합니다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
다음은 "OpenURMA: 통합 버스 프로토콜의 클린룸 오픈 구현"이라는 논문에 대한 설명을 쉬운 언어와 일상적인 비유로 풀어낸 것입니다.
큰 문제: "주변장치" 병목 현상
현대 데이터센터를 수천 명의 직원 (애플리케이션) 이 서로 즉시 대화해야 하는 거대한 사무실 건물로 상상해 보세요.
현재 그들이 대화하는 표준 방식은 다음과 같습니다:
- 주변장치 문제: 네트워크 카드 (NIC) 는 컴퓨터에 연결된 프린터나 마우스와 같은 주변장치로 취급됩니다. 이는 메인 두뇌 (CPU) 의 "바깥"에 위치해 있습니다.
- 대기열 시스템: 메시지를 보내려면 직원은 메모 (작업 요청, "Work Request") 를 작성하여 네트워크 카드의 우편함 ("도어벨") 으로 가져가야 하고 기다려야 합니다. 그런 다음 네트워크 카드가 이를 받아 처리하고 "완료" 메모를 우편함으로 다시 작성합니다.
- 교통 체증: 네트워크 카드가 "바깥"에 있기 때문에, 각 메모가 전송되고 확인되기 위해만 PCIe 버스라는 붐비는 고속도로를 네 번이나 건너야 합니다.
- 메모리 위기: 네트워크 카드는 서로 대화하는 각 직원 쌍마다 개인 파일 폴더를 보관해야 합니다. 1,000 명의 직원이 1,000 명과 대화한다면 카드는 100 만 개의 폴더가 필요합니다. 책상 공간 (온칩 메모리) 이 부족해져서 파일을 꺼내오기 위해 지하의 파일 캐비닛 (호스트 RAM) 으로 뛰어가야 합니다. 이로 인해 모든 것이 매우 느려집니다.
결과: 인터넷 케이블 ("선") 이 엄청나게 빠르더라도, 네트워크 카드가 어떻게 연결되고 조직화되었는지에 따라 전체 시스템이 교통 체증에 갇히게 됩니다.
해결책: 화웨이의 통합 버스 (UB)
화웨이는 이를 해결하기 위해 아센드 950 칩에서 **통합 버스 (Unified Bus, UB)**라는 새로운 설계를 제안했습니다. 그들은 기존 시스템을 단순히 수정한 것이 아니라, 도로의 규칙 자체를 변경했습니다.
1. 사무실 내부로 이동
네트워크 카드를 건물 밖의 주변장치로 두는 대신, UB 는 네트워크 컨트롤러를 메인 복도인 온칩 버스에 건물 내부에 배치합니다.
- 비유: 로비로 나가 편지를 우편함에 넣는 대신, 이제 책상 바로 옆에 서 있는 동료에게 직접 건네면 됩니다. 고속도로를 네 번 건너지 않고 한 걸음만 내딛으면 됩니다.
2. 파일 시스템 분할
기존 시스템은 대화하는 모든 쌍을 위해 하나의 거대한 폴더를 보관했습니다. UB 는 이를 분할합니다:
- 제티 (Jetty): 대화의 당신 쪽을 위한 작은 카드.
- TP 채널: 상대방 쪽을 위한 공유 카드.
- 비유: 모든 쌍을 위한 고유한 폴더가 필요했던 것 (크기가 폭발적으로 증가) 대신, 자신용 카드와 대화하는 상대방용 공유 카드만 있으면 됩니다. 폴더의 총 개수가 폭발적으로 증가 (승법적) 하는 대신 천천히 증가 (가법적) 합니다. 이로 인해 네트워크 카드의 책상 공간이 넘치지 않습니다.
3. "로드/스토어" 단축키
컨트롤러가 이제 건물 내부에 있기 때문에, CPU 는 프로그램에서 변수를 읽는 것처럼 표준 명령어 (예: LOAD 또는 STORE) 를 사용하여 직접 컨트롤러와 대화할 수 있습니다.
- 비유: 양식을 작성하고 우편함으로 가서 영수증을 기다릴 필요가 없습니다. 필요한 데이터를 즉시 가져오면 됩니다.
4. 선택적 규칙 (옵트인 순서)
기존 시스템은 엄격한 규칙을 강요했습니다: "어떤 경우에도 메시지는 전송된 순서대로 정확히 받아야 합니다." 이는 느리고 많은 작업에 불필요합니다.
- 비유: UB 는 "우리는 가능한 한 빠르게 메시지를 전달할 수 있습니다. 만약 정말로 순서가 필요하다면 손을 들어주세요. 그러면 정렬하기 위해 속도를 늦출 것입니다. 만약 상관없다면 도착하는 대로 인박스 (받은 편지함) 에 그냥 넣어드리겠습니다."라고 말합니다. 이는 엄격한 순서가 필요하지 않은 모든 사람에게 시간을 절약해 줍니다.
OpenURMA 가 한 일
화웨이의 칩은 존재하지만, 그것은 "블랙박스"입니다. 아무도 내부 작동 방식을 보거나 측정하거나 이를 기반으로 구축할 수 없습니다.
OpenURMA는 이 새로운 시스템의 첫 번째 오픈소스 클린룸 구현입니다.
- **"클린룸"**이란 화웨이의 비밀 코드를 보지 않고 공개된 규칙서 (명세서) 만을 사용하여 처음부터 새로 구축했음을 의미합니다.
- 그들은 이를 테스트하기 위해 세 가지 버전을 구축했습니다:
- RTL: 실제 하드웨어 칩을 위한 설계도 (FPGA 보드에서 테스트됨).
- SystemC: 네트워크의 초정밀 컴퓨터 시뮬레이션.
- gem5: 실제 운영체제를 실행하는 전체 컴퓨터 시뮬레이션.
그들은 공정한 비교를 위해 동일한 도구를 사용하여 새로운 시스템 (OpenURMA) 을 기존 표준 (RoCEv2) 과 비교했습니다.
결과: 얼마나 더 빠른가?
이 논문은 특히 작고 빠른 작업 (작은 데이터 조각 가져오기 등) 에서 막대한 개선을 주장합니다:
- 속도: 표준 데이터 가져오기의 경우 새로운 시스템은 기존 시스템 (약 2,186 나노초) 보다 4.37 배 빠릅니다 (약 500 나노초).
- 처리량: 초당 처리할 수 있는 데이터 양이 2.8 배 더 많습니다.
- 효율성: 칩에서 매우 적은 공간을 사용합니다 (테스트 보드의 사용 가능한 공간의 약 14% 만 사용).
- 확장성: 사용자가 늘어날수록 (1 명에서 1,024 명까지), 기존 시스템은 책상 공간이 부족해져서 속도가 극적으로 느려집니다. 반면 새로운 시스템은 효율적인 파일 시스템 덕분에 빠르고 안정적으로 유지됩니다.
왜 이것이 중요한가 (논문에 따르면)
이 논문은 데이터센터에서 컴퓨터를 연결하는 현재 방식 (네트워크 카드를 주변장치로 취급하는 방식) 이 현대 AI 및 빅데이터 워크로드에 근본적으로 결함이 있다고 주장합니다.
- "일관성 있는" 대안: 메모리를 "공유"되고 "일관성 있는" 것처럼 보이게 하려는 다른 기술들 (CXL 또는 NVLink 등) 이 있습니다. 그러나 논문은 이러한 기술들이 대규모 클러스터 (많은 랙의 서버) 로 확장하려고 할 때 실패한다고 주장합니다. 너무 많은 상태 추적이 필요하고 네트워크 오류를 잘 처리하지 못하기 때문입니다.
- UB 의 장점: UB 는 네트워크가 완벽하지 않음을 인정하고 건물 전체에 "완벽한 일관성"을 강제하려 하지 않습니다. 대신, 애플리케이션에 필요한 경우에만 순서를 관리할 수 있는 도구를 제공하여 다른 시스템에서 볼 수 있는 성능 붕괴 없이 수천 개의 서버로 확장할 수 있게 합니다.
요약
기존 시스템은 모든 편지에 대해 카운터로 가서 양식을 작성하고, 줄을 서서 기다리고, 영수증을 받아야 하는 우체국이라고 생각하세요.
새로운 OpenURMA 시스템은 당신 바로 옆에 앉아 있고, 누구와 대화하는지 정확히 알며, 특별히 영수증을 요청하지 않는 한 서류 작업 없이 편지를 손에 즉시 전달할 수 있는 개인 메신저라고 생각하세요.
이 논문은 네트워크를 조직하는 이 새로운 방식이 단순한 이론이 아니라, 오늘날 우리가 사용하는 것보다 훨씬 빠르고 확장 가능한 작동하는 오픈 설계임을 증명합니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.