CPU 사용의 효율화를 통한 In-Memory 기반 패킷 분석 시스템의 성능 개선 연구
- 주제(키워드) 도움말 packet , numa , affinity
- 발행기관 서강대학교 정보통신대학원
- 지도교수 구명완
- 발행년도 2016
- 학위수여년월 2016. 2
- 학위명 석사
- 학과 및 전공 정보통신대학원 소프트웨어공학
- 실제URI http://www.dcollection.net/handler/sogang/000000059104
- 본문언어 한국어
- 저작권 서강대학교 논문은 저작권보호를 받습니다.
초록/요약
DPI(Deep Packet Inspection)는 IP 네트워크에서 전송되는 패킷의 L2(MAC Header)부터 L7(Application) 트래픽을 실시간 수집, 분석 및 제어하는 기술이다. 오늘날 대분분의 디바이스들은 인터넷에 연결되어 있어 다양한 인터넷 패킷을 유, 무선을 통해 발생시키고 있다. 이렇게 발생된 패킷들은 DPI기술을 사용한 다양한 장비에서 수집/분석되어 개인정보 유출방지, 침입탐지, 트래픽 관리 등에 사용된다. 이러한 패킷 분석 시스템들은 실시간으로 패킷을 수집, 분석, 제어를 하기 위해 많은 성능을 필요로 하는데, 기존의 프로그래밍 방법인 단순한 쓰레드 생성, 메모리 공유로는 많은 문맥교환(Context Switching), 캐시미스(Cache Miss), 메모리 잠김(Memory Locking)으로 고성능으로 패킷을 분석하기에는 한계가 있다. 본 논문에서는 이러한 성능 제약을 SMP시스템의 LUMA를 이용하여 원격지 CPU로 메모리내 데이터 이동을 최소화하고, 쓰레드에 CPU Affinity를 할당하여 문맥교환(Context Switching)과 해시테이블의 Memory Locking을 최소화하여 분석 시스템의 성능을 개선하였다. 성능 테스트는 NUMA, CPU Affinity, 해시테이블 단편화를 3개의 단위테스트로 구분하여 진행하였고, 최종 성능 테스트는 3개의 항목을 모두 적용한 경우와 적용하지 않은 경우 2개로 나누어서 진행하였다. 이러한 테스트를 동일한 조건내에서 반복 테스트한 결과, 본 논문에서 제안한 패킷 분석 방법은 기존의 패킷 분석 방법과 비교하여 최소 55.2%이상의 성능 개선됨을 확인하였다.
more초록/요약
The DPI (Deep packet inspection) is the technology that collects, analyzes and controls the packets on the IP network from the L2(MAC layer) to the L7 (application layer). Today most of the devices are able to connect to the internet and these devices generate packets through wire and wireless network. The packets, generated from these devices, are collected and analyzed in real-time using DPI technology. The information gathered from the packets is used for anti-leakage of private information, invasion detection and traffic control. The DPI systems require high performance in order to collect, analyze and control the packets in real-time. The conventional methods, including multi-threading and memory sharing, have a limit due to the massive context switching, cache miss and memory locking. This paper suggests a method that improves the performance of the DPI systems by two means. First, minimizing data transfer to the remote CPU using the SMP system of the LUMA. Second, minimizing the context switching and the memory locking of the hash table by assigning CPU affinities to threads. The module performance test is performed on three different modules, NUMA, CPU Affinity and hash table fragmentation. The final performance test is performed comparing the two systems, one on which the three modules are applied and the other on which the three modules are not applied. The result of the multiple tests in the same condition demonstrates that the method suggested in this paper improves the performance of the DPI by 55.2% compared to the conventional methods.
more