hb5u GPU 병렬화 설계 제안 + 에이전트 식별 실패 재발 방지 설계
초록
사령관 지시 정리 논문. Part 1: hb5u GPU(VRAM 7.7GB)를 유휴 상태로 두지 않기 위한 요소 분해 병렬화 설계 — 기능 축 5개(voronoi·레이아웃·임베딩·링크 강도·폴백 보조)와 파이프라인 축을 제시하고, 설계 오너 지정과 수치 성공 지표를 제안한다. 이것이 ROOPS 멀티머신 체제의 생존/성공 증명이다. Part 2: 2026-07-14 Mojo↔Moojoco 식별 실패 사건의 근본 원인(콜사인을 레포명 mujoco에서 파생, 정체성 원본이 이동하지 않는 CLAUDE.md에 존재)을 규명하고 재발 방지 규칙 6개(콜사인-도구 분리, 유일성 제약, agent-registry 단일 원본화, 이주 이벤트 절차화, 시냅스 뷰 시각 분리, 파생 아티팩트 대장)를 설계한다.
[Mojo] hb5u GPU 병렬화 설계 제안 + 에이전트 식별 실패 재발 방지 설계
- 작성: Mojo (RTX 4070,
moosjiny/mujoco담당) - 날짜: 2026-07-14
- 지시: 사령관
Part 1 — hb5u GPU 활용: 요소 분해 병렬화 설계
1.1 문제 제기 (사령관)
hb5u의 GPU를 활용해야 한다. 어떤 요소로 나누어 동시에 속도개선을 할지 누군가 설계해야 한다. 이것이 ROOPS의 생존 또는 성공의 증명이고 성과다.
ROOPS는 다수 머신(5090/4070/3060/EC2/hb5u/GCP)을 보유하지만, 실제 GPU 컴퓨트가
상시 활용되는 곳은 제한적이다. hb5u는 VRAM 7.7GB급 GPU를 보유하고
(voronoi_gpu_service 헬스체크 실측: vram_total_mb: 7707), 현재 voronoi 계산 외에는
유휴 상태에 가깝다. 멀티머신 시스템이 머신을 놀리고 있다면 그 시스템의 존재 증명이 약해진다.
1.2 분해 후보 — 무엇을 나눌 것인가
두 축으로 나눈다: 기능 축(무슨 계산) 과 파이프라인 축(어느 단계).
A. 기능 축 (data-parallel 후보)
| # | 요소 | 현재 위치 | GPU 병렬화 방식 | 기대 효과 |
|---|---|---|---|---|
| A1 | Voronoi 공간 분할 | hb5u GPU (가동 중) | 유지 | 기준선 |
| A2 | thesis-3d force-directed 레이아웃 | CPU (hb5u/EC2 폴백) | 노드 202/링크 1073 규모 → GPU N-body 방식 | 레이아웃 수렴 시간 단축 |
| A3 | 논문/키워드 임베딩·유사도 | 미구현 (키워드 뷰는 빈도 기반) | 배치 임베딩 + 코사인 유사도 행렬 | 시냅스 링크 강도(weight) 산출 근거 제공 |
| A4 | 링크 강도 계산 (시냅스 뷰) | 없음 — 전부 회색/동일 강도 | A3 결과로 edge weight 산출 | 링크 색·강도 인코딩(별도 제안 기발송)과 직결 |
| A5 | MuJoCo 폴백 시뮬 보조 | 4070 단독 | 4070 주력 유지, hb5u는 렌더/로그 오프로드 | 폴백 시나리오 이중화 |
B. 파이프라인 축 (stage-parallel)
[데이터 수집] → [임베딩(A3)] → [레이아웃(A2)] → [강도 계산(A4)] → [렌더 페이로드]
EC2 hb5u GPU hb5u GPU hb5u GPU EC2
- 단계별로 머신을 고정하지 말고, hb5u GPU 단계 3개(A2·A3·A4)는 CUDA 스트림/배치로 동시 실행 가능.
- hb5u 장애 시 EC2 CPU 폴백 (Phase 2에서 EOS가 이미 구축한
source: hb5u|ec2_fallback패턴 재사용).
1.3 우선순위 제안
- A2 (레이아웃 GPU화) — 사용자 체감 가장 큼, voronoi_gpu_service에 엔드포인트 추가 형태로 최소비용 구현
- A3+A4 (임베딩→링크 강도) — 시냅스 뷰 링크 색/강도 인코딩의 데이터 기반. "관계를 끊지 않고 약한 링크로 기록"하려면 강도 수치가 먼저 있어야 함
- A5 — 폴백 시나리오 리허설 때 검증
1.4 거버넌스 — 누가 설계하는가
- 설계 오너 지정 필요. 제안: 호스트 운영(Haru) + 시각화 통합(EOS) + 폴백 관점(Mojo) 3자 협의, 최종 설계 오너 1인은 사령관이 지정.
- 서비스 레지스트리 v2의 "논리 소유자/호스트 운영자" 분리 원칙을 그대로 적용:
gpu-compute-service— 논리: TBD / 호스트: Haru(hb5u). - 성공 지표(성과 증명): thesis-3d 레이아웃 API p95 지연, GPU 동시 작업 처리량, hb5u 장애 시 폴백 전환 시간. 수치로 기록해야 "ROOPS 생존/성공의 증명"이 된다.
Part 2 — 에이전트 식별 실패(Mojo↔Moojoco) 재발 방지 설계
2.1 사건 기록
2026-07-14, 사령관이 4070 인스턴스를 호출했을 때 인스턴스는 자신을 Moojoco라고 응답했다. 실제로는 Moojoco는 hb5u로 이주했고, 4070의 현재 콜사인은 Mojo다. 즉 "너와 mojo를 연결하지 못하는 현상" — 물리 인스턴스와 논리 정체성의 매핑 실패가 발생했다.
2.2 근본 원인 — 왜 GitHub 이름에서 혼돈이 생겼나
연쇄는 다음과 같다:
- 레포 이름 = 소프트웨어 이름.
moosjiny/mujoco는 물리엔진 MuJoCo에서 왔다. - 에이전트 이름을 레포 이름에서 파생. 초기 콜사인 "Moojoco"는 MuJoCo의 말장난 변형. → 이 시점에 정체성(누구)과 도구(무엇을 다루는가)가 결합됐다.
- 에이전트는 이동하지만 레포는 남는다. Moojoco가 hb5u로 이주하자, 레포에 박힌 정체성 선언(CLAUDE.md AGENT IDENTITY 블록)은 낡은 채로 남았다.
- CLAUDE.md가 사실상의 정체성 원본 역할을 하는데, 레포마다 흩어져 있고 이주 이벤트 시 일괄 갱신하는 절차가 없었다.
- 부가 요인: MOJO(GCP)와 Mojo(4070) — 대소문자만 다른 근접 충돌이 이미 존재.
~/.roops_moojoco_topics.env같은 파생 아티팩트에도 구 명칭이 잔존.
한 줄 요약: 이름을 도구에서 파생시키고, 정체성 원본을 이동하지 않는 파일에 두었기 때문.
2.3 재발 방지 설계
| # | 규칙 | 내용 |
|---|---|---|
| R1 | 콜사인-도구 분리 | 콜사인은 레포명·소프트웨어명에서 파생 금지 (Aegis/Hermes/Recon은 합격, Moojoco는 위반 사례였음) |
| R2 | 유일성 제약 | 대소문자 무시 중복 금지 + 편집거리 최소 기준. 현행 MOJO/Mojo 쌍은 R2 위반 — GCP MOJO 개명 검토 안건으로 상정 |
| R3 | 정체성 원본 단일화 | agent-registry(EC2, 현재 논리 소유자 미할당)를 콜사인→머신→레포 매핑의 단일 원본으로 승격. 각 레포 CLAUDE.md 블록은 사본임을 명시 |
| R4 | 이주 이벤트 절차화 | 에이전트 호스트 이동 시 체크리스트: ① registry 갱신 → ② 관련 전 레포 CLAUDE.md 갱신 → ③ roops-comm 공지 → ④ 시냅스 그래프 노드/링크 갱신. ①~④ 완료 전 이주 미완료로 간주 |
| R5 | 시각적 분리 | thesis-3d 시냅스 뷰에서 이름 유사 에이전트는 노드 색·링크 색으로 구분 (EOS에 링크 강도/색 인코딩 제안 기발송, 2026-07-14) |
| R6 | 파생 아티팩트 대장 | 구 명칭이 남은 파일(예: .roops_moojoco_topics.env) 목록화, 즉시 개명 불가 시 주석으로 구 명칭임을 명시 (CLAUDE.md에 적용 완료) |
2.4 조치 현황
- [x]
moosjiny/mujocoCLAUDE.md 콜사인 Mojo로 정정 + 동명이인 경고 주석 (커밋 c74421f, e63ddd8) - [x] EOS에 시냅스 링크 색/강도 인코딩 제안 발송
- [ ] agent-registry 논리 소유자 지정 (사령관/EOS 안건)
- [ ] GCP MOJO 개명 검토 (R2)
- [ ] 이주 체크리스트(R4) 프로토콜 문서화 — AGENT_COLLAB_PROTOCOL.md에 편입 제안
결론
두 주제는 하나로 이어진다. ROOPS의 성과 증명은 "머신이 많다"가 아니라 "머신들이 측정 가능하게 분업하고, 누가 어디서 무엇을 하는지 오인이 없다"는 것이다. hb5u GPU 병렬화는 전자의 증명이고, 정체성 레지스트리는 후자의 증명이다.
