Cloud computing has experienced tremendous success in today’s market. In the cloud, various networked
systems such as intrusion detection systems, firewalls, and containers are running and consist of diverse
cloud-based services. The performance of the networked systems matters because their performance
directly affects the operating cost and revenue of the cloud-based service providers. However, delivering
the high performance of the systems is nontrivial because they would operate slowly if the characteristic of
the resource and workload is not considered in their design.
In this dissertation, we argue that one can effectively enhance the performance of the networked
systems in the cloud by considering the dependency relationship in workload and resource usage characteristics. In particular, we argue that the performance of the systems can be improved efficiently by
designing in consideration of the dependency relationships hidden in program code or data flow. Our
methodology falls into three categories. First, we dramatically improved the throughput of networked
middleboxes through a design that considers the instruction-level pipelining of CPU and dependency
relationship between characters in string patterns. Second, we efficiently reduced the latency of mobile applications by leveraging the low latency of the edge cloud and the dependency relationship between protocol messages.
Finally, we reduced the tail latency of microservices by considering the shared nature of resource and
microservice chain.
최근 클라우드 시장은 매우 빠른 속도로 성장하고 있으며 다양한 기업들이 클라우드를 활용하고 있다. 클라
우드에는 침입 탐지 시스템, 방화벽, 컨테이너 등 다양한 네트워크 시스템들이 동작하고 있고 그들은 여러
가지 클라우드 기반 서비스들을 구성하고 있다. 이러한 네트워크 시스템들의 성능은 기업의 매출과 운용
비용에 직접적으로 영향을 끼치기 때문에 이들의 성능을 높이는 것은 매우 중요하다. 하지만, 이들 시스
템의 높은 성능을 달성하는 것은 쉽지 않은데 그 이유는 시스템이 이용하는 리소스와 시스템이 처리하는
워크로드의 특성에 대한 고려 없이 설계된 디자인은 낮은 성능으로 이어질 수 있기 때문이다.
본 학위 논문에서는 리소스 사용 특성과 워크로드의 의존관계를 고려함으로써 클라우드 환경에서의
네트워크 시스템의 성능을 효과적으로 향상시킬 수 있음을 보인다. 특히, 프로그램 코드나 데이터 플로우에
내제되어 있는 의존 관계 특성을 고려한 디자인을 통해 다양한 네트워크 시스템의 성능을 효과적으로 향상
시킬 수 있음을 주장하고자 한다. 본 학위 논문에서 제안하는 방법론은 크게 세 가지로 나뉜다. 첫째로, 모던
CPU의 명령어 단위 파이프라이닝과 패턴 내 문자들 사이의 의존관계 특성을 고려한 디자인을 통해 네트워
크 미들박스의 성능을 극적으로 높일 수 있었다. 둘째로, 모바일 앱의 프로토콜 메시지 간의 의존관계 및
엣지 클라우드의 낮은 레이턴시 특성을 고려하여 모바일 앱의 응답속도를 효과적으로 단축시킬 수 있었다.
마지막으로, 리소스가 공유된다는 특성과 마이크로서비스 체인을 고려한 디자인을 통해 마이크로서비스의
레이턴시를 효과적으로 줄일 수 있었다.