본문으로 건너뛰기
피드

coreutils yes(1) 명령어를 175GiB/s로 최적화한 커밋

open-source 약 2분
vote
0
댓글
북마크

coreutils의 yes 명령어를 vmsplice/splice 제로카피 I/O로 175GiB/s까지 최적화한 커밋. 페이지 정렬 버퍼, 더블링 복사 패턴, 경험적으로 결정된 512KB 파이프 크기 등이 핵심 기법임.

  • 1

    vmsplice/splice와 SPLICE_F_GIFT를 활용한 제로카피 I/O로 대폭 성능 향상

  • 2

    512KB 파이프 크기의 1/4을 전송 단위로 사용하는 것이 최적

  • 3

    파이프가 아닌 stdout에는 full_write 폴백 처리

  • coreutils의 yes 명령어를 175GiB/s까지 끌어올린 커밋이 올라옴
  • 핵심은 vmsplice/splice를 활용한 제로카피 I/O임. SPLICE_F_GIFT 플래그로 커널에 페이지를 넘겨서 복사 없이 데이터를 전달함
  • 버퍼 채우기에는 더블링 복사 패턴을 사용함. 초기 데이터를 복사한 뒤 채워진 크기만큼 반복 복사해서 버퍼를 빠르게 채움
  • 파이프 크기는 경험적으로 512KB가 최적이었고, 실제 전송에는 파이프 용량의 1/4을 사용하는 게 vmsplice 처리량의 스윗스팟이었음
  • 페이지 정렬된 버퍼를 alignalloc으로 할당하고, stdout이 파이프가 아닌 경우에는 중간 파이프를 만들어서 splice로 전달함
  • stdout이 파이프가 아닌 경우에는 기존 full_write 방식으로 폴백함

단순한 yes 명령어 하나에도 이 정도 시스템 레벨 최적화가 가능하다는 점이 인상적. 제로카피 I/O 패턴의 좋은 학습 사례임

댓글

댓글

댓글을 불러오는 중...

open-source

차세대 데이터 파일 포맷 F3, 디코더를 Wasm으로 파일 안에 넣자는 실험

F3는 Parquet, ORC 같은 기존 컬럼형 파일 포맷의 한계를 줄이기 위해 제안된 오픈소스 연구 프로토타입이다. 핵심 아이디어는 데이터와 메타데이터뿐 아니라 WebAssembly(Wasm) 디코더까지 파일에 함께 넣어, 새 인코딩 방식이 나와도 플랫폼 호환성을 유지하자는 것이다.

open-source

에코백스, 1,134만원짜리 오픈소스 가정용 로봇 ‘빠졔’ 판매 시작

중국 청소 로봇 기업 에코백스가 첫 오픈소스 로봇 ‘빠졔’를 정식 판매하기 시작했음. 가정용 로봇을 개발자가 직접 조율하고 프로그래밍하고 2차 개발할 수 있게 만든 플랫폼이고, 가격은 4만9990위안, 약 1,134만원 수준임.

open-source

BMW·폭스바겐·스텔란티스, 자동차 소프트웨어 오픈소스 동맹 키운다

BMW, 폭스바겐그룹, 스텔란티스 등 유럽 완성차 업체들이 소프트웨어 정의 자동차(SDV) 경쟁력 강화를 위해 오픈소스 공동 개발에 나서고 있다. 독일자동차산업협회 주도 프로젝트에는 완성차, 부품사, 반도체 기업 등 30개 이상 기업이 참여하며 차량 OS, 미들웨어, 통신 소프트웨어 같은 공통 영역을 함께 만든다. 기대 효과는 개발·유지 비용 최대 40% 절감, 차량 개발 기간 최대 30% 단축이다.

open-source

AI 시대 오픈소스, ‘공개됐으니 막 써도 됨’은 진짜 위험한 착각

생성형 AI 서비스가 오픈소스 코드, 모델, 데이터셋, 외부 API를 섞어 쓰면서 라이선스와 이용 조건 관리가 훨씬 복잡해졌다는 내용이다. 공개된 기술이라도 저작권과 사용 조건은 남아 있고, 기업은 제품 안에 무엇이 들어갔는지 지속적으로 추적해야 한다.

open-source

에코백스, 1,134만원짜리 오픈소스 가정용 로봇 ‘빠졔’ 출시

중국 청소 로봇 기업 에코백스가 첫 오픈소스 로봇 ‘빠졔’를 판매하기 시작했다. 개발자가 로봇의 동작, 조작, 환경 인식 기능을 기반으로 임바디드 인텔리전스 애플리케이션을 만들고 상용화할 수 있게 하겠다는 전략이다.