- Today
- Total
목록프로그래밍 (Programming) (71)
Byeo

Linux server의 시스템 상태를 확인하기 위해서 많은 사람들이 많이 쓰는 응용은 아마도 top 일 거예요. 그런데 top은 CPU / Memory 사용량을 전체 시스템 뿐만 아니라 개별 process 마다 보여주는데 반해, I/O와 관련된 정보는 찾기가 쉽지 않습니다. 윈도우는 ctrl+alt+delete로 한 눈에 쉽게 보여주는데 말이죠. 그래서 이 포스트에서는 네트워크 트래픽 관측 툴들 몇 가지를 직접 사용해보고 정리해보려고 합니다. 구글에서 찾아보면 정말 많은 툴들이 존재합니다만, 각각을 깊이 다뤄본다기 보다는 간단하게 만져보고 장단점을 정리해보려고 합니다. 각 툴들의 캡처 화면과 내용을 살펴보시면서 마음에 드는 툴을 고르는데 도움이 되었으면 좋겠습니다~. 1개의 도구를 제외하고는 CLI 기..

해당 포스트는 Sigcomm '18의 Understanding PCIe performance for end host networking 을 번역하여 정리한 글입니다. Understanding PCIe performance for end host networking 1: https://byeo.tistory.com/entry/Understanding-PCIe-Performance-for-end-host-networking-1 Understanding PCIe performance for end host networking 1 해당 포스트는 Sigcomm '18의 Understanding PCIe performance for end host networking 을 번역하여 정리한 글입니다. 앞으로는 조금씩 ..

해당 포스트는 Sigcomm '18의 Understanding PCIe performance for end host networking 을 번역하여 정리한 글입니다. Understanding PCIe performance for end host networking 1: https://byeo.tistory.com/entry/Understanding-PCIe-Performance-for-end-host-networking-1 Understanding PCIe performance for end host networking 1 해당 포스트는 Sigcomm '18의 Understanding PCIe performance for end host networking 을 번역하여 정리한 글입니다. 앞으로는 조금씩 ..

해당 포스트는 Sigcomm '18의 Understanding PCIe performance for end host networking 을 번역하여 정리한 글입니다. 앞으로는 조금씩 요약하여 정리를 해볼까 합니다! 초록 최근 Programmable NIC의 등장과 발전으로 인해 end hosts는 점차 다양한 core network function (e.g., load balancing, congestion control, application specific offload) 들을 실행하는 지점으로 되어가고 있다. 그러나 programmable NIC을 구현하는 과정은 성능에 영향을 줄 수 있는 다양한 잠재적인 bottleneck이 존재하여 디자인을 어렵게 한다. 해당 논문은 PCIe (현대 서버에서의 ..

이 포스트는 sigcomm 22의 NetChannel [https://dl.acm.org/doi/pdf/10.1145/3544216.3544230] 를 번역하여 정리한 글입니다. 구현과 실험은 짧게 요약만 하고 넘기려고 합니다! 관심이 있다면 직접 읽어보시길 추천합니다. 4. 구현 구현 환경: Linux Kernel v5.6, 기존의 Linux kernel source code를 최대한 활용 Application interfaces: 애플리케이션의 코드가 최대한 수정되지 않도록 함을 목표, 기존 Kernel의 socket API에서 IPPROTO_VIRTUAL_SOCK flag와 setsockopt()를 통해 여러 설정들을 변경할 수 있도록 구현 Virtual socket connections: 기존 s..

이 포스트는 sigcomm 22의 NetChannel [https://dl.acm.org/doi/pdf/10.1145/3544216.3544230] 를 번역하여 정리한 글입니다. 이 논문은 이전에 정리했던 sigcomm 21의 Understanding Host Network Stack Overheads 논문의 후속 논문이라고 볼 수 있습니다. 2. Motivation 이 섹션에서는 오늘날의 host 네트워크 스택이 여러 방면에서 비효율적임을 증명한다. 실험에서는 리눅스 커널의 TCP뿐만 아니라, MPTCP (Multi-Path TCP), 다양한 인터페이스 (e.g., 표준 read/write, io_uring), 다양한 packet 처리 최적화 기법 (e.g., packet coalescing, pack..

이 포스트는 sigcomm 22의 Netchannel [https://dl.acm.org/doi/pdf/10.1145/3544216.3544230] 를 번역하여 정리한 글입니다. 이 논문은 이전에 정리했던 sigcomm 21의 Understanding Host Network Stack Overheads 논문의 후속 논문이라고 볼 수 있습니다. 초록 오늘날 많이 전개된 네트워크 스택의 정적이고 강하게 결합된 packet 처리 파이프라인은 최신 하드웨어를 완벽하게 사용하는 것을 어렵게 만든다. 논문에서는 disaggregated 네트워크 스택 구조인 NetChannel을 제안한다. 이 NetChannel은 Terabit Ethernet 위에서 μs-scale application을 위한 구조이다. 이 구조는..

해당 포스트는 SIgcomm' 14 CCR https://www.sigcomm.org/sites/default/files/ccr/papers/2014/July/0000000-0000004.pdf 를 번역해서 정리한 글입니다. 4. P4 언어 예제 이 section에서는 예제를 통해 P4를 깊이 탐구해본다. Network는 core와 edge를 다르게 구분한다; end-hosts는 edge device와 연결되어 있고, 이 device는 high-bandwidth core와 연결되어 있는 구조이다. 모든 프로토콜은 이러한 구조를 지원하기 위해 디자인되어 왔으며, 특히 core에서 forwarding을 간단하게 만드는데 초점을 두었었다. Two-tier core와 연결되어 있는 edge에서의 ToR 스위치 ..

해당 포스트는 SIgcomm' 14 CCR https://www.sigcomm.org/sites/default/files/ccr/papers/2014/July/0000000-0000004.pdf 를 번역해서 정리한 글입니다. 초록 P4는 packet 처리 장치를 위한 protocol 비의존적 프로그래밍 언어이다. P4는 OpenFlow와 같은 SDN control protocol과 결합하여 동작한다. 현재의 형태는 OpenFlow가 packet header의 필요 부분을 명시함으로써 동작한다. 하지만 field의 개수가 12개에서 41개로 늘어났고, 이러한 방식은 복잡도를 증가시키나 유연성은 그대로인 문제가 있다. 이 논문에서는 P4를 제안하며, OpenFlow가 어떻게 발전해야할지 제안한다. P4는 세..

구조 VM에 OvS 설치 - 두 개의 instance내에 각각 생성된 namespace를 서로 OvS의 VxLAN 기능을 이용해 통신을 시키는 실습을 수행해보려고 합니다. - 환경은 NHN Cloud입니다. 1. Instance 2개에 각각 Open vSwitch 설치 - 두 인스턴스에 각각 openvswitch-switch를 설치합니다. 인스턴스 1: byeo-test, ip: 192.168.0.83 인스턴스 2: byeo-test2, ip: 192.168.0.33 # 이후의 모든 명령어는 root 권한에서 실행 apt update apt install openvswitch-switch 설치 확인 root@byeo-test:/home/ubuntu# ovs-vsctl show c6c5d044-4a41-4..