본문 바로가기

[2021년 파트 - 정준영 개발자] redBPF

esrse 게시글 작성 시각 2021-07-18 15:23:20 게시글 조회수 974
파트 프런티어
redBPF
정준영
BPF를 활용할 수 있게 해주는 rust 라이브러리
2021 년
기타

- 개발자 주요경력
2012.08~2017.04 네이버 검색
2017.04~2020.08 11번가 검색
2020.08~ 카카오엔터프라이즈 AI

 

- 개발자 전문분야

리눅스 시스템프로그래밍, 분산처리, 대용량 데이터 처리, 시스템 처리량/지연시간 개선

 

- 활동 커뮤니티

github

 

- 활동 프로젝트 분야

BPF

 

- 프로젝트 개요

redBPF는 리눅스의 BPF 기술을 rust 언어로 활용할 수 있게 해주는
라이브러리입니다. BPF는 네트워킹, 트레이싱, 보안 등 분야에서 활용 가치가
있습니다. 그런데 비커널 개발자들이 이 기술을 제대로 활용하기 위해서는
유저스페이스의 라이브러리가 필수입니다. redBPF는 단순히 C로 제공되는 BPF
인터페이스를 래핑한 것을 넘어서, 러스트스러운 코드로 BPF 프로그램 및 이와
상호작용하는 사용자프로그램을 작성할 수 있게 해줍니다.

 

- 프로젝트 목표

BPF 최신 기술 팔로우업 (BTF, CO-RE, BPF iterator, ...)
BPF 사용자가 BPF를 쉽게 활용할 수 있도록 지원


- 프로젝트 특징

커널공간에서 동작하는 BPF 프로그램을 rust로 작성할 수 있게 해줍니다. rust
코드를 BPF 바이트코드로 직접 컴파일할 수 없기 때문에, 일단 rust 코드를 LLVM
bitcode로 만들고, bitcode를 LLVM 최적화 로직을 이용하여 loop unroll, function
inline, panic을 exit 명령으로 치환하는 등의 후처리를 해줍니다. 그러고 나서 BPF
바이트코드를 컴파일하여 ELF relocatable file 포맷으로 만듭니다. 참고로 한달
전에 BPF 타겟이 rust 컴파일러에 머지되었고(아직 stable rust에 포함 전), 이것은
bpf linker에게 비트코드를 전달함으로써 BPF 프로그램을 만드는 일을 합니다. 이
bpf linker는 redBPF에서 직접적으로 비롯된 프로그램입니다.

 

러스트다운 코드를 작성할 수 있게 해주는 것이 목표이기 때문에, C로 된 libbpf
라이브러리가 제공하는 인터페이스를 따르지 않으며, 독자적인 API를 제공합니다.
redBPF가 libbpf를 의존하긴 하지만, bpf 시스템콜을 래핑한 기본적인 기능 정도만
활용합니다.

 

BPF는 활발하게 개발되고 있는 커널 서브시스템이라서, 유저스페이스 단의
라이브러리도 계속 최신 기술을 팔로우업 해주어야 합니다. redBPF도 꾸준히
새 기능이 업데이트되고 있습니다.
 

전문개발자 프로젝트 - 번호, 제목, 분야, 조회수, 작성
번호 제목 분야 조회수 작성
223 [2021년 파트 - 송욱 개발자] NNStreamer 인공지능(AI) 1163 2021-07-19
222 [2021년 파트 - 이경일개발자] Project illuminati 기타 883 2021-07-18
221 [2021년 파트 - 정준영 개발자] redBPF 기타 974 2021-07-18
220 [2021년 파트 - 김홍규 개발자] uftrace 기타 1379 2021-07-17
219 [2021년 파트 - 배창혁 개발자] Yocto Project, Automotive Grade Linux (AGL) 기타 1403 2021-07-16
218 [2021년 파트 - 정훈섭 개발자] TAU 모바일 881 2021-07-16
217 [2021년 파트 - 진유림 개발자] Apache Zeppelin 빅데이터 1152 2021-07-16
216 [2021년 파트 - 장효찬 개발자] HackaTalk 기타 1067 2021-07-16
215 [2021년 파트 - 이다니엘 개발자] koNLPy 인공지능(AI) 832 2021-07-15
214 [2021년 파트 - 김민재 개발자] Yocto project / ROS(Robot Operating System) / webOS OSE(Open Source Edition) 드론/로봇 1526 2021-07-15
맨 위로
맨 위로