b11557: rpc의 디버그 로깅을 가시성 수준으로 변경하고 로그 추가 (#29544)
요약
본 업데이트는 RPC 로깅 시스템의 가시성(verbosity) 레벨을 도입하여 디버깅 기능을 대폭 개선했습니다. 이제 0부터 3까지의 숫자로 로그 상세도를 제어할 수 있으며, 클라이언트와 서버 모두에 걸쳐 다양한 생명주기 이벤트 및 전송 세부 정보가 추가되었습니다.
핵심 포인트
- RPC 로깅이 가시성 레벨(0-3)로 전환되어 디버그 수준을 정밀하게 제어 가능합니다.
- 로그 시스템이 단일 통제 지점(log.h)으로 통합되어 일관된 로깅 관리가 이루어집니다.
- 클라이언트/서버 모두에 핸드셰이크, 텐서 전송 등 핵심 동작의 로그가 추가되었습니다.
- 원격 할당 실패나 RDMA 폴백 같은 저하 작동 이벤트는 이제 경고(LOG_WARN)로 처리됩니다.
- rpc : GGML_RPC_DEBUG를 가시성(verbosity) 레벨로 전환하고 로그 추가
GGML_RPC_DEBUG는 이제 숫자로 파싱됩니다: 0/unset은 디버그 로그를 비활성화하며, 1-3은 점차 상세한 출력(이벤트, 명령어별 추적, 전송 세부 정보)을 방출합니다. 숫자 외의 값은 1로 폴백됩니다.
ggml-rpc.cpp와 transport.cpp에 중복되던 env/매크로 블록들은 공유되는 log.h로 대체되었으며, 이 파일이 RPC 백엔드의 모든 로깅(조건 없는 심각도 로그를 위한 LOG_ERROR/LOG_WARN/LOG_INFO 및 가시성 기반 로그를 위한 LOG_DBG/LOG_DBG2/LOG_DBG3)의 단일 통제 지점이 됩니다. 전송 파일들은 더 이상 ggml-impl.h가 필요하지 않으며, 서버 배너도 이제 ggml 로거(stderr)를 통해 전달됩니다.
클라이언트(핸드셰이크, 버퍼 작업, 텐서 전송, 그래프 계산, 캐시 결정)와 서버(명령어별 디스패치, 그래프 노드) 모두에 누락된 로그가 추가되었으며, 여기에는 새로운 socket_t::transport_name()을 통한 협상된 전송도 포함됩니다.
Assisted-by: pi:llama.cpp/MiMo-V2.6-Flash-RL
- rpc : 문서화된 가시성 의미론에 맞게 로그 레벨 정렬
첫 번째 패스에서 GGML_RPC_DEBUG 레벨이 도입되었지만, 많은 호출 지점들이 문서화된 의미론을 따르지 않았고 일부 로그는 매크로를 완전히 우회했습니다:
- 남은 raw GGML_LOG_* 호출 지점을 로컬 LOG_* 매크로를 통해 라우팅하여, RPC 로깅을 위한 단일 통제 지점(choke point)으로 log.h가 유지되도록 함
- 레벨 2에서 텐서별 전송 및 명령 핸들러 추적을 방출하고, 레벨 1에서 일회성 생명주기 이벤트(백엔드 및 버퍼 유형 생성, 버퍼 할당, 그래프 계산, 그래프 캐시 제거)를 처리함
- rpc_dispatcher::send, work()에서 중복된 enqueue 추적을 삭제함. 해당 함수는 이미 디스패치된 명령과 그 왕복 시간(round-trip timing)을 모두 로깅하고 있음
- 저하 작동 이벤트(degraded-operation events)를 LOG_WARN으로 승격시킴: 원격 할당 실패, RDMA가 TCP로 폴백(falling back), 예상치 못한 피어 연결 끊김
- 클라이언트와 서버가 증분 그래프 업데이트가 유효하려면 동기화 상태를 유지해야 하므로 양쪽 모두에서 그래프 캐시 제거를 로깅함
- 알 수 없는 명령(Unknown command, opcode 범위 초과)을 처리되지 않은 명령(Unhandled command, 유효한 opcode이나 핸들러 없음)과 구분함
- 오류 로그의 형식 지정자(%zu는 size_t용, %u는 장치 ID용, 0x는 16진수 포인터용)와 누락된 개행 문자(newline)를 수정함
- llama.cpp 애플리케이션이 상세도 임계값(verbosity threshold)을 -lv 5로 높이지 않는 한 ggml 디버그 기록을 삭제한다는 점을 문서화함
AI 자동 생성 콘텐츠
본 콘텐츠는 llama.cpp Releases의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기