Rapid development of today’s mobile applications drives the demand for high-bandwidth, low-latency mobile data communication. Unfortunately, today’s network architecture poses several critical challenges to achieve scalable mobile data communication. On the client side with mobile devices, it is unclear whether the cellular network alone can meet the future demand of mobile data communication, due to the limited cellular network coverage and bandwidth. On the other hand, on the server side, CPU resources become a key limiting factor that determines the performance of network applications, but CPU cycles are often wasted for repetitive, mechanical operations merely to meet protocol requirements. In this dissertation, we claim that the networking stacks should be redesigned with new principles to achieve scalability in mobile data communication in two directions. First, we propose Cedos, a networking stack that can easily support offloading mobile data traffic to Wi-Fi, in order to overcome the limitation on cellular network bandwidth. Cedos allows users to offload as much mobile data traffic to Wi-Fi as possible, taking advantage of the user's latency tolerance, while transparently masking network disruptions and delays from applications. We find that up to 92.4% of the podcast traffic is offloaded to Wi-Fi, and one can watch a streaming video in a moving train while offloading 48% of the content to Wi-Fi without a single pause. Second, we propose AccelTCP, which offload complex TCP operations such as connection setup and teardown completely to NIC, which simplifies the host stack operations and frees a significant amount of CPU cycles for application processing. In addition, it supports running connection splicing on NIC so that the NIC relays all packets of the spliced connections with zero DMA overhead. Our evaluation shows that AccelTCP enables short-lived connections to perform comparably to persistent connections. It also improves the performance of Redis, a popular in-memory key-value store, and HAProxy, a widely-used layer-7 load balancer, by 2.3x and 11.9x, respectively.
모바일 애플리케이션들의 빠른 발전으로 인해 고대역폭, 저지연 모바일 데이터 통신에 대한 수요는 나날이 커져가고 있다. 하지만 오늘날의 네트워크 아키텍처는 모바일 데이터 통신의 확장성 측면에서 몇 가지 중요한 문제들을 겪고 있다. 전송 단말 구간에서는 모바일 데이터 네트워크의 한정된 대역폭으로 인해 성능이 제한되거나 비싼 전송 비용이 필요하다는 문제점이 있으며, 서버 구간에서는 씨피유 자원이 전송 계층 연산에 비효율적으로 소모되고 있어 대역폭 및 지연 성능 한계가 존재한다. 본 학위논문에서는 이러한 문제들에 대한 근본적인 해결책으로 크게 두 가지 방향에서 확장성 있는 모바일 데이터 통신을 위한 새로운 네트워킹 스택 설계를 진행한다. 첫째로 모바일 단말에서의 한정된 셀룰러 네트워크 대역폭 문제를 해결하기 위하여, 와이파이를 통한 네트워크 트래픽 오프로딩을 손쉽게 지원할 수 있는 네트워킹 스택인 세도스를 제안한다. 세도스는 모바일 네트워크 연결 단절 및 지연을 애플리케이션으로부터 감춰주면서도 사용자의 지연 허용성을 활용하여 최대한 많은 모바일 데이터 트래픽을 와이파이로 오프로딩 할 수 있도록 도와주며, 저렴한 비용으로 네트워크 대역폭을 확장시킬 수 있게 해준다. 세도스를 팟캐스트 다운로드 애플리케이션에 적용한 결과 최대 92.4% 이상의 트래픽을 와이파이로 오프로딩 했으며, 이동 중인 지하철에서 비디오 스트리밍을 하는 경우에도 단 한 번의 끊김 없이 재생하는 도중에 약 48%의 트래픽을 와이파이로 오프로딩 할 수 있었다. 둘째로 서버 측 연산 자원의 효율적인 사용을 위해 호스트 씨피유가 필요 없는 단순 반복적인 전송 계층 연산들을 네트워크 카드로 오프로딩 하는 네트워킹 스택인 엑셀티씨피를 제안한다. 엑셀티씨피는 연결 생성/종료 및 연결 간 데이터 전달 기능을 프로그래머블 네트워크 카드로 오프로딩하여 불필요한 씨피유 연산 자원 낭비를 최소화해준다. 엑셀티씨피를 널리 사용되는 키-밸류 저장소 및 레이어-7 부하 분산 애플리케이션 에 적용한 결과 각각 2.3배 및 11.9배의 성능 향상을 얻을 수 있다.