fd.io
2016년 2월 11일 공개된 CISCO 주도의 프로젝트.
무려 2002년부터 개발한 것으로 현재 버전은 3번째 revision이라고 한다.
간만에 dpdk.org mailing list에 들어갔다 가장 최근에 올라온 글 제목이 눈에 띄었다.
[dpdk-dev] [dpdk-announce] new project using DPDK - FD.io Vincent JARDIN
“new project”?
그래서 내용을 봤더니 이게 다 였다는
A new project using DPDK is available,
http://FD.io
said
FiDo
You can clone it from:
http://gerrit.fd.io/
Best regards,
Vincent
그래도 첫 번째 링크를 따라가 보니 화려하다. CISCO, Ericsson, Intel이 platinum member네. 어딜가나 있는 여러 회사 이름도 보이고. Cavium도 있네. ODP를 밀고 있는데 잘 안되나? 물론 내용을 보면 조금 다르긴 하지만.
거기에 6wind도 있다. 역시 직접적인 경쟁회사라고 볼 수도 있을 텐데. E, H사가 보이는데 N사는 아직 없다. OFP에 집중하려는 걸까
코드는 github에 올려있어 확인해 봐야겠지만, https://fd.io/technology 에 설명된 내용을 잠깐 보면 이런 특징을 갖는다고 한다.
Vector Packet Processing
Rather than processing the first packet through the whole graph, and then the second packet through the whole graph, VPP instead processes the entire vector of packets through a graph node before moving on to the next graph node.
...
Picking up each tool in order for each piece of lumber is going to be much slower.
예전 Network Processor와 달리 Instruction Cache의 영향을 많이 받는 General Purpose Processor를 목적으로 한 SW라 instruction cache miss에 대한 고민을 많이 한 듯 하다.
기능 들은 graph node라고 표현했는데 일반적인 모듈 형태와 동일한 것으로 이해되고
Configuration
설정관련해서는 다양한 방법을 제공한다. 이를 윟 HoneyComb Agent라는 것을 두는데 NetConf/Yang, REST 등의 인터페이스를 제공한다.
External App과의 연동도 가능한데 C혹은 Java library를 지원한다고 한다. 이 부분도 좀 구체적으로 봐야 할 듯 한데.
재밌는 프로젝트로 보인다. 기존에 하고 있는 일과 많이 겹치는 게 사실이라는 것이 이슈지만…
성능 관련 내용은 lightreading 기사(2015년 10월) Validating Cisco’s NFV Infrastructure Pt. 1 를 참고. Part 2도 참고
build
빌드하려면 VM과 valgrid환경이 필요하다고 하는데.
Setting Up Your Dev Environment
mailing list
2/11일 당일 기사 The Linux Foundation Forms Open Source Effort to Advance IO Services
- founding members 6WIND, Brocade, Cavium, Cisco, Comcast, Ericsson, Huawei, Inocybe Technologies, Intel Corporation, Mesosphere, Metaswitch Networks (Project Calico), PLUMgrid and Red Hat
- The design of FD.io is hardware, kernel, and deployment (bare metal, VM, container) agnostic.
- providing an out-of-the-box vSwitch/vRouter
- VPP is production code currently running in products available on the market today. VPP runs in user space on multiple architectures, including x86, ARM, and Power, and is deployed on various platforms including servers and embedded devices.
- Continuous Performance Lab (CPL). The CPL provides an open source, fully automated testing infrastructure framework for continuous verification of code functionality and performance. Code breakage and performance degradation is flagged before patch review, conserving project resources and increasing code quality.