Oasis+: A Real-time Performance-matching Emulator for IoT Systems
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Internet of Things (IoT) and its applications are proliferating. Performance and scalability are key aspects of an IoT system. A scalable IoT system can gracefully accommodate a growth in the number of IoT devices while still meeting performance requirements. This motivates the need for tools that allow the performance and scalability of an IoT system to be evaluated prior to deployment. Implementing the actual system at full scale and then evaluating it through measurements is ideal from the point of view of realism. However, such an approach can be expensive and inflexible. Emulating an IoT deployment on commodity hardware is an attractive alternative since it allows various system design alternatives to be evaluated in a flexible way without the need for expensive full scale implementations of the alternatives. Recently, many such IoT emulation platforms have been proposed. However, none of these platforms are appropriate for performance and scalability testing since they do not provide a mechanism to match the performance characteristics of the IoT devices being emulated. In this research, I present Oasis+, a system that addresses this limitation. Oasis+ uses Docker containers to emulate IoT devices. It leverages Docker’s resource allocation and the network emulation capabilities of Linux Traffic Control utility (known as TC) to match the performance characteristics of an emulated device to that of its native counterpart. Furthermore, it implements a novel scheduling algorithm that ensures the real-time nature of emulation is preserved despite container startup overheads. Experimental results spanning several hardware devices and emulation platforms show the performance matching accuracy, scalability, and real-time capabilities of Oasis+.