midagedev/bloomery는 혼합(MoE) 모델의 GPU와 CPU 추론을 한 프로젝트에서 함께 처리하는 라이브러리다. Rust로 작성했고 CUDA 커널까지 직접 구현했으며, llama-server를 대체하는 드롭인(drop-in) 서버를 표방한다. 2026년 11월 5일 커밋 1a7bba2는 tools/ref/depth-serve.sh 한 파일만 손댔다. 커밋 링크는 https://github.com/midagedev/bloomery/commit/1a7bba264cdbc1df2bc7819855f5b15f619ddcde 이다. 추가 18줄, 삭제 6줄이고, 내용은 대기 조건 하나를 고친 것이다. 다음 서버를 시작하기 전의 대기에 '포트가 비었다'와 '타이밍 카드를 쥔 프로세스가 없다'뿐 아니라 '이전 서버의 프로세스가 프로세스 테이블에 남아 있지 않다'가 추가됐다. 예전에는 앞의 두 조건만으로 기다림을 끝냈다.
이 조건이 필요한 이유는 커밋 메시지가 들고 있는 실패 형태에 있다. 래퍼의 KILL로 종료된 서버는 호스트 세트(host set) 약 262 GB를 정리하는 동안 몇 초간 계속 종료 중인 상태로 남는다. 그 사이 포트는 닫히고 카드 컨텍스트도 사라져, 다음 서버 앞의 CPU 프로브는 그 프로세스를 동시 입주자(co-tenant)로 읽었고 결과 행은 [cpu-busy] bloomery-serve 99.7 % over 6.5 s로 무효가 됐다. 같은 실패가 릴리스 회차(release sitting) 두 번 연속으로 반복됐다. 그래서 스크립트에는 ds_serve_procs()가 추가됐다. pgrep -x로 comm 이름이 bloomery-serve 또는 llama-server인 프로세스를 pid와 이름으로 모아 대기 줄에 적는다. ds_prev_gone은 포트와 타이밍 카드, 프로세스 테이블을 함께 확인하고 기다리는 대상을 이름으로 남기며, PORT_WAIT_S초를 넘으면 'its process has not exited'라는 이름으로 실패 처리한다. 커밋이 기록한 자체 점검은 199 checks ok다.
다만 이번 변경은 추론 엔진이나 CUDA 커널이 아니라 저장소의 depth-serve 스크립트 한 곳에만 한정된다. 성능 수치나 처리량 변화는 제시되지 않는다. 다뤄진 상황도 KILL로 종료된 서버가 아직 정리 중일 때의 대기 조건 하나뿐이다. 커밋 트레일러에는 Claude Fable 5.1의 공동 저자 표기와 세션 링크가 남아 있다. 판단하면 이 저장소의 릴리스 측정을 그대로 재현하려는 사람에게 필요한 수정이고, MoE 추론 경로 자체를 쓰는 사람에게 이번 커밋이 건드리는 것은 없다.