Trawling

개발·오픈소스 · 최신기사

개발 도구와 언어, 웹 기술과 오픈소스 프로젝트의 변화를 다룹니다.

AMD MI300X에서 Gemma 4 서빙하기 — 시간당 1.99달러로 얻는 성능

발행

AMD Instinct MI300X 한 장에 Gemma 4 E2B를 vLLM과 ROCm으로 배포하고, MCP 기반 운영 도구로 상태 확인과 벤치마크를 자동화한 과정을 설명합니다. 1,024 컨텍스트 단일 스트림에서 305 tok/s, 64개 스트림에서 10,284 tok/s를 기록했으며, 온디맨드 비용 기준으로 TPU v5e보다 높은 처리량 대비 비용을 측정했습니다.

죽은 CRC Crate를 되살렸더니 갑자기 입소문을 탔습니다

발행

2015년 이후 방치된 Rust용 crc32 Crate를 현대적인 구현으로 재작성한 사례를 소개합니다. slicing-by-16, no_std, 빌드 타임 코드 생성, Python·Node.js 바인딩을 추가했으며, 순수 Safe Rust 경로에서 최대 약 1,282 MiB/s를 달성하면서 이식성과 안전성을 강조합니다.

V 언어 리뷰 (2023) — 약속과 실제 구현 사이의 간극

발행

V 언어를 6개월간 사용한 리뷰어가 문서, 메모리 관리, 자동 메모리 해제, 할당, 안전성, 바이너리 크기를 직접 검증합니다. 문서의 설명과 실제 동작이 크게 다르고, autofree와 컴파일러 자체 빌드에서도 누수와 런타임 오류가 발생한다고 지적합니다.

MCP로 살펴본 MI300X — 매트릭스 코어가 실행하는 것과 실행하지 않는 것

발행

AMD Instinct MI300X 한 장을 실제 클라우드 환경에서 MCP 도구로 관리하고, 하드웨어와 ROCm 스택이 지원하는 수치 형식을 직접 측정합니다. 결과적으로 이 카드에서는 FP8 E4M3FNUZ가 실용적인 네이티브 경로이며, INT8·MXFP4·NVIDIA용 FP8·GGUF는 사양표나 기능 목록만으로 판단하면 안 된다는 점을 보여줍니다.

io_uring을 위한 스레드 정체성 바꿔치기

발행

io_uring이 실제로 블록될 때만 워커 스레드 비용을 부담하도록 task_struct의 정체성을 교환하는 RFC 패치가 제안됐습니다. tmpfs fsync()에서 약 700% 향상이 관찰됐지만, 커널 참조 무결성과 shadow stack 호환성 같은 위험도 큽니다.

Rust 개발자가 경험한 Zig

발행

7년간 Rust를 사용한 개발자가 RFC 9535 기반 JSONPath 구현을 Zig로 다시 만들며 두 언어의 개발 경험을 비교합니다. Zig의 단순한 빌드 도구와 낮은 추상화는 긍정적으로 평가하지만, 수동 메모리 관리와 미성숙한 생태계에서는 Rust와 뚜렷한 차이를 확인합니다.

Git은 packfile을 다시 만들면 object storage에서도 실행할 수 있습니다

발행

Git 저장소를 object storage에 직접 올리려면 로컬 파일시스템을 전제로 설계된 기존 packfile이 병목이 됩니다. Tigris의 objgit은 Range request에 맞춘 자체 packfile과 인덱스를 도입해 push 요청을 최대 약 300배, clone 요청을 최대 약 20배 줄였지만 아직 인증·권한·압축(compaction)이 구현되지 않은 실험 단계입니다.

아키텍처 우주비행사에게 겁먹지 마세요

발행

추상화와 아키텍처를 지나치게 높은 수준에서 논하는 ‘Architecture Astronauts’가 실제 사용자의 문제와 소프트웨어의 목적을 놓치는 현상을 비판합니다. Napster, SOAP, XML, .NET, Jini 등의 사례를 통해 기술 유행보다 사용자가 새롭게 할 수 있는 일이 중요한 이유를 설명합니다.

Frozendict 🧊: Python·Node.js를 위한 최신 불변 해시맵

발행

frozndict는 Rust로 구현하고 Python·Node.js 바인딩을 제공하는 불변·해시 가능 딕셔너리입니다. 삽입 순서를 유지하면서 해시를 캐시하고 copy()를 O(1)로 처리하며, 작성자가 제시한 벤치마크에서는 반복·복제·동등성 검사에서 기존 구현과 비교 가능한 성능을 보입니다.

4GB 노트북 GPU가 Gemma 4에서 12코어 CPU보다 4.3배 빠릅니다

발행

동일한 노트북에서 Gemma 4 소형 양자화 모델을 CPU와 4GB GTX 1650 Ti로 번갈아 서빙한 결과, GPU 디코드 속도가 평균 4.27배 빨랐습니다. 모델의 대형 임베딩 테이블이 호스트 메모리에 남는 구조 덕분에 4GB GPU만으로도 충분히 적재할 수 있었습니다.

higgsfield-ai/higgsfield — 수십억~수조 파라미터 모델 학습을 위한 내결함성·고확장성 GPU 오케스트레이션 및 머신러닝 프레임워크

발행

Higgsfield는 대규모 언어 모델(LLM) 학습을 위해 GPU 노드 할당, 실험 큐 관리, 분산 샤딩, 학습 모니터링, GitHub Actions 연동을 제공하는 오픈소스 프레임워크입니다. PyTorch FSDP와 DeepSpeed ZeRO-3를 지원하며, 여러 노드에서 대규모 모델을 학습하고 체크포인트를 관리하는 흐름을 단순화합니다.

개발 로그 #21 — WebRTC-Direct 강화와 SCM 누수 해결

발행

이번 주에는 Python 기반 libp2p의 WebRTC-Direct 상호운용성 문제와 소켓 누수를 수정하고, Go 기반 agent-orchestrator의 파일 경로·GitHub SCM 폴링 문제를 다뤘습니다. ICE 자격 증명 경쟁 조건, 연결 종료 누수, 잘못된 PR 재조회, .git/info/exclude 누적 문제를 포함해 8개 커밋과 11개 PR을 진행했습니다.

디바이스를 기다려야 했던 클립보드 브리지

발행

tapflow가 브라우저와 시뮬레이터 사이에서 텍스트를 복사·붙여넣기하는 과정을 비동기 프로토콜로 구현한 사례를 설명합니다. 고정 지연 대신 sentinel과 상태 확인을 사용하고, 브라우저의 사용자 제스처·보안 컨텍스트·타임아웃 제약까지 함께 다룹니다.

점진적 공개(Progressive Disclosure): 무엇을, 어디에, 언제, 왜 적용할까요?

발행

코딩 에이전트의 지침을 하나의 거대한 파일에 항상 넣는 대신, 작업에 필요한 규칙을 무엇을·어디에·언제라는 기준으로 나눠 필요한 순간에만 불러오는 점진적 공개를 설명합니다. 28,721개 저장소 분석과 AGENTS.md, CLAUDE.md, skills, 경로 설정 사례를 바탕으로 컨텍스트 경쟁을 줄이는 방법과 새롭게 생기는 지침 관리 문제를 다룹니다.

Resilient와 Battle-Tested는 같은 말이 아닙니다

발행

AI 도구로 빠르게 만든 애플리케이션을 곧바로 production-grade나 battle-tested라고 부르는 것은 신뢰성의 서로 다른 축을 혼동하는 일입니다. Resilient는 예상한 오류를 견디도록 설계됐다는 뜻이고, battle-tested는 실제 운영 장애와 예측하지 못한 조건을 겪고 수정한 이력까지 포함해야 합니다.

AI는 실제로 API를 어떻게 호출하는가? — 처음부터 이해하는 Tool Calling

발행

Foundation model은 스스로 코드를 실행하지 않고, 호출할 도구와 입력을 구조화된 요청으로 출력합니다. 애플리케이션이 실제 함수를 실행해 결과를 돌려주면 모델이 답변을 완성하며, 글에서는 Amazon Bedrock의 Converse API로 날씨·날짜 도구, 프롬프트 주입, MCP까지 단계적으로 설명합니다.

스틸맨: AI 에이전트가 복잡성을 감수할 만해지는 순간

발행

대부분의 AI 에이전트는 LLM 호출을 끼운 결정적 파이프라인에 가깝다고 지적한 뒤, 진짜 자율성이 필요한 좁은 조건을 정리합니다. 런타임에 새 경로가 발견되고, 분기 공간을 미리 열거할 수 없으며, 자율 영역을 최소화하고, 모든 결정을 저렴하게 검증·기록할 수 있어야 합니다.