- Today
- Total
목록분류 전체보기 (156)
Byeo
해당 포스트는 NSDI '15 https://www.usenix.org/system/files/conference/nsdi15/nsdi15-paper-pfaff.pdf 를 번역해서 정리한 포스트입니다. 7. 평가 7.1 성능 저자는 Open vSwitch의 성능을 Rakespace가 운영하는 multi-tenant 상업용 데이터센터의 대규모 하이퍼바이저 위에서 24시간 측정하였다. 1,000개의 하이퍼바이저에서 10분 단위로 측정하여 통계를 산출하였다. Cache Size 활성화된 megaflow의 개수는 실제로 Open vSwitch의 cache size를 어떻게 조절해야 할 지 가늠자가 된다. Figure 4는 실험 관측 시간동안 최소, 중앙값, 최대 megaflow 개수를 CDF로 나타낸다. 해당 ..
lspci lspci는 시스템에 장착된 pci 디바이스들을 모두 나열하여 보여줍니다. Ubuntu 기준으로 기본적으로 내장이 되어 있는 바이너리인데요. lspci라는 명령어를 입력하는 것 만으로 쉽게 사용할 수 있습니다. Ubuntu 18.04 instance의 lspci ubuntu@byeo-test-instance:~$ lspci 00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02) 00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II] 00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE..
해당 포스트는 NSDI '15 https://www.usenix.org/system/files/conference/nsdi15/nsdi15-paper-pfaff.pdf 를 번역해서 정리한 포스트입니다. 5. Caching-aware Packet Classification 여기서는 flow caching 기능에 적합하도록 위해서 tuple search algorithm을 어떻게 개선했는지 설명한다. 5.1 Problem Open vSwitch userspace가 openFlow table을 통해 packet 처리함에 따라, forwarding decision 과정에서 참고되는 packet bit들을 추적한다. 이 packet header field에 대한 bit단위 추적은 megaflow entry를 생성..
해당 포스트는 NSDI '15 https://www.usenix.org/system/files/conference/nsdi15/nsdi15-paper-pfaff.pdf 를 번역해서 정리한 포스트입니다. 3. 디자인 3.1 Overview Open vSwitch는 두 가지 구성 요소로 이루어져있다. (1) userspace 데몬이자 운영체제와 상관없이 동일한 ovs-vswitchd와 (2) 성능을 위해 OS 마다 작성된 datapath kernel module이다. Figure 1은 이 두 개의 OVS component가 어떻게 협동하여 pacekt을 전달하는지 나타낸다. Kernel datapath가 가장 먼저 physical NIC이나 VM의 virtual NIC으로부터 packet 수신한다. ovs-..
해당 포스트는 NSDI '15 (Networked System Design and Implementation) https://www.usenix.org/system/files/conference/nsdi15/nsdi15-paper-pfaff.pdf 를 번역해서 정리한 포스트입니다. 0. 초록 해당 논문은 하이퍼바이저 플랫폼을 위한 multi-layer 가상 스위치인 open source Open vSwitch의 디자인과 구현을 설명한다. Open vSwitch는 가상 환경 네트워킹을 위한 de novo (새로운) 디자인이며, 이를 통해 기존의 전통 스위칭 구조에서 벗어나는 결과를 가져왔다. 본문에서는 Open vSwitch가 하이퍼바이저의 자원을 보존하고 작업을 최적화를 위해 적용한 발전된 flow cl..
이 글은 Conext '18에 공개된 The eXpress Data Path (XDP): Fast Programmable Packet Processing in the Operating System Kernel 를 번역해 정리한 글입니다. 이전 게시글 XDP1: https://byeo.tistory.com/entry/The-eXpress-Data-Path-XDP-Fast-Programmable-Packet-Processing-in-the-Operating-System-Kernel The eXpress Data Path (XDP): Fast Programmable Packet Processing in the Operating System Kernel 1 이 글은 Conext '18에 공개된 The eXpre..
발열 요즘 Unity로 주말에 틈틈이 만들고 싶었던 게임을 개발하고 있는데요. 게임을 테스트할 때 마다 CPU 팬 속도가 너무 오르는 것 같아 무언가 문제가 있음을 직감했습니다. 사실 올해 초에 Ixion 게임을 할 때도 CPU 팬이 미치게 돌아가는 소리를 들었었는데, 그래픽이 고급인 게임을 하느라 그랬구나 하고 팬이 주는 신호를 묵살했었죠. 하지만 직접 Unity로 게임을 만드는데 아무리 저사양으로 돌려도 문제가 해결되지 않길래 원인을 찾아 나섰습니다. 표면적인 원인은 당연히 발열일 것이라고 생각을 했었지요. 실제로 Unity 게임을 테스트하기 위해 한 번 돌리면 CPU온도가 아주 가뿐히 90도를 넘겨버렸습니다. 75도만 넘기면 FAN 속도가 최대로 설정이 되는데, 이 마저도 해결을 해주지 못한 것이죠..
이 글은 Conext '18에 공개된 The eXpress Data Path (XDP): Fast Programmable Packet Processing in the Operating System Kernel 를 번역해 정리한 글입니다. 이전 게시글 XDP1 XDP Design XDP는 패킷 처리 성능을 위하여 OS에 safety를 보장하면서 통합되었다. 지금도 꾸준히 Linux community로부터 의견을 받아가며 발전시켜 나가고 있다. 이 구조에는 몇 가지 한계와 교훈이 있으나, 논문에서는 다루지 않았다. 여기에서는 그보다 XDP의 구성 요소와 동작 원리, 그리고 다른 시스템과 어떻게 동작하는지 설명한다. Figure 1은 XDP와 Linux kernel이 어떻게 통합되었는지, Figure 2는 X..
이 글은 Conext '18에 공개된 The eXpress Data Path (XDP): Fast Programmable Packet Processing in the Operating System Kernel 를 번역해 정리한 글입니다. 개요 근래 연구는 packet을 처리하는 방법으로 kernel보다 userspace를 선호하고 있다. 이는 userspace가 kernel보다 프로그래밍에 용이하고, kernel-userspace 간의 context switch로 부터 야기하는 성능 저하를 피할 수 있기 때문이다. 하지만 Kernel을 우회함으로 인해 Kernel이 가져다주는 이점 (application isolation, 보안, 그리고 검증된 코드)들을 잃게 된다. eXpress Data Path (X..
tcpdump -nei any tcpdump -nei any의 결과는 위와 같았어요. Layer 2의 data는 '00 00 00 01 00 06 fa 16 3e 30 1a 9d 00 00 08 00' 였습니다. 이를 Linux cooked capture라고 칭하나 보네요. 이게 뭔지는 wireshark document에서 잘 설명이 되어있었습니다. Linux cooked capture https://wiki.wireshark.org/SLL.md SLL Linux cooked-mode capture (SLL) This is the pseudo-protocol used by libpcap on Linux to capture from the "any" device and to capture on some d..