esutcu / planb-lpm
설명이 제공되지 않았습니다.
이 프로젝트에 대해
esutcu 님의 planb-lpm 프로젝트는 GitHub에서 34개의 별을 받으며 많은 개발자들의 주목을 받고 있습니다. 특히 C++ 환경에서 유용하게 활용될 수 있으며, 최근 오픈소스 커뮤니티에서 활발한 기여와 토론이 이루어지고 있는 트렌딩 레포지토리입니다.
Language Breakdown
🇰🇷 한국어 번역 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 원문 바로가기 →