트렌딩 목록으로
C++

esutcu / planb-lpm

설명이 제공되지 않았습니다.

34
2
2개월 전
GitHub에서 보기

이 프로젝트에 대해

esutcu 님의 planb-lpm 프로젝트는 GitHub에서 34개의 별을 받으며 많은 개발자들의 주목을 받고 있습니다. 특히 C++ 환경에서 유용하게 활용될 수 있으며, 최근 오픈소스 커뮤니티에서 활발한 기여와 토론이 이루어지고 있는 트렌딩 레포지토리입니다.

Language Breakdown

C++ 94%CMake 4%Makefile 1%

🇰🇷 한국어 번역 README

캐시 히트

planb-lpm

AVX-512 SIMD와 스칼라 fallback을 사용하는 선형화된 B+-트리 기반 IPv6 최장 접두사 일치(LPM). 알고리즘은 다음 논문을 기반으로 함:

Zhihao Zhang, Lanzheng Liu, Chen Chen, Huiba Li, Jiwu Shu, Windsor Hsu, Yiming Zhang. PlanB: Efficient Software IPv6 Lookup with Linearized B+-Tree. NSDI '26. arXiv:2604.14650. 저자 참고 코드: .

이 저장소는 참조 알고리즘을 독립적이고 청정 환경에서 재구현한 것으로, 포터블하며 MIT 라이선스가 적용된 C++17 라이브러리로 구현되었고, 참조 코드에는 없는 추가 기능들도 포함됩니다:

  • 포터블 헤더 전용 핵심(include/lpm6.hpp)으로 AVX-512 없이도 컴파일되며 스칼라 경로로 투명하게 fallback합니다.
  • 동적 FIB(lpm6::Dynamic)로 논문의 재구성 및 교체 모델을 std::atomic을 사용하여 구현; 조회는 대기 없이 수행됩니다.
  • Python 바인딩 pybind11를 통해 제공 (pip install -e .).
  • 정확성 테스트(tests/test_correctness.cpp)로 합성 FIB에서 브루트 포스 LPM 참조와 트리를 검증합니다.
  • 샘플 FIB/트레이스 생성기(examples/generate_sample.py).

존재 이유

PlanB 논문은 견고한 엔지니어링 아이디어이지만, GitHub 참조 코드는 다른 프로젝트에 바로 사용하기 어렵습니다: Linux 및 AVX-512 전용, 라이선스 없음, Python 계층 없음, 동적 FIB 경로 없음. planb-lpm은 논문의 알고리즘을 포터블, 테스트 완료, 그리고 허용적인 라이선스가 적용된 라이브러리로 다시 표현하여 연구, 교육, 그리고 실제 소프트웨어에서 실제로 활용할 수 있게 합니다.

사용 사례

  • **

🌐 본 텍스트는 빠른 이해를 돕기 위한 요약 번역본입니다. 정확한 기술 정보 및 전체 코드는 GitHub 원문에서 확인하실 수 있습니다.

이 정보는 AI가 자동으로 분석한 결과입니다. 정확한 내용은 원문을 확인하세요.

esutcu/planb-lpm GitHub 원문 바로가기 →