Scalability for IoT Cloud Services
Master's thesis at the Institute for Pervasive Computing, Department of Computer Science, ETH Zurich
Author: Martin Lanter
Supervison: Matthias Kovatsch, Prof. Friedemann Mattern
Abstract: The Internet of Things (IoT) is envisioned as a global network of billions of smart devices. Traditional protocols known from the Internet do not fit well with the constrained environment these devices typically are found in. Thus, the IETF has standardized the Constrained Application Protocol (CoAP). Devices can communicate over CoAP and be integrated into Cloud services. We focus on the backend of such services that run on an unconstrained machine. High numbers of services and especially clients call for efficient processing and scalable services with high throughput. HTTP server architectures that perform well in regards to these properties have been researched for over 15 years. We analyze HTTP server designs thoroughly and apply the lessons learned to a new CoAP framework for IoT Cloud services, a reimplementation of Californium (Cf).
We present a CoAP server design that is scalable and able to fully utilize a modern multi-core computer. We evaluate our new and the old version of Californium and five HTTP servers on a 4-core SMP and a 16-core NUMA system. Our implementation achieves a throughput of about 140,000 requests per second and even outperforms state-of-the art HTTP servers by 15% - 45%. The results substantiate that CoAP is superior to HTTP for IoT services not only in constrained but also unconstrained environments. Furthermore, we propose a powerful, yet simple API to develop scalable services for the IoT Cloud in an efficient and productive way.