Wotbench: a Benchmarking Framework for the Web of Things

Wotbench: a Benchmarking Framework for the Web of Things

WoTbench: A Benchmarking Framework for the Web of Things Raoufeh Hashemian Niklas Carlsson [email protected] [email protected] University of Calgary, Canada Linköping University, Sweden Diwakar Krishnamurthy Martin Arlitt [email protected] [email protected] University of Calgary, Canada University of Calgary, Canada ABSTRACT 1 INTRODUCTION The Web of Things (WoT) is a new paradigm resulting from the In recent years, the Internet of Things (IoT) has evolved substan- integration of the Web with the Internet of Things. With the emer- tially. One particular change has been an integration with Web gence of WoT comes the need for benchmarking tools to aid in technologies. This evolution, dubbed “The Web of Things" or WoT performance evaluation studies that can be used to guide actual for short, motivates new benchmarking tools and frameworks to deployments of WoT infrastructure. In this paper we introduce facilitate performance evaluation of WoT systems. Since the advent WoTbench, a Web benchmarking framework designed to facilitate of the Web, new Web benchmarking tools have frequently been pre-deployment performance evaluation studies of WoT setups. introduced to keep up with evolving workloads and environments. WoTbench enables workload emulation on a controlled test envi- For example, new benchmark suites have been developed to address ronment by taking advantage of Linux container technology. It changes such as Web 2.0 [31], Semantic Web [21], multicore Web supports the Constrained Application Protocol (CoAP), a RESTful infrastructure [14] and cloud computing [25]. The introduction application layer protocol that aims to replace HTTP for resource of WoT marks the beginning of another important paradigm that constrained devices. WoTbench consists of a scalable Gateway Em- requires new benchmarking tools. ulator (GE) and a group of CoAP device application emulators. We In this paper we develop a novel WoT benchmarking solution: describe components of WoTbench in detail and how WoTbench WoTbench, a Web of Things benchmarking framework. The can be used to answer capacity planning questions. 1 framework leverages commodity multicore server hardware as a testbed for emulating the performance behaviour of a group of CCS CONCEPTS CoAP devices each with a small resource footprint. WoTbench employs containerized WoT device emulators that execute CoAP • Networks → Network performance analysis; • Computer over Linux. The use of containers allows one to configure the us- systems organization → Client-server architectures. age characteristics of the various low level resources, e.g., sensors, network interface, and CPU core, used by a device as well as the KEYWORDS conditions experienced by the WoT network, e.g., packet losses and Web of Things, CoAP, benchmarking, container technology, perfor- delay. WoTbench also provides a synthetic workload generator that mance evaluation, scalability testing offers control over CoAP request arrival patterns experienced by the devices. ACM Reference Format: Using WoTbench, one can study the impact of various system Raoufeh Hashemian, Niklas Carlsson, Diwakar Krishnamurthy, and Martin architectures, e.g., different device interconnection topologies. It Arlitt. 2019. WoTbench: A Benchmarking Framework for the Web of Things. also allows comparison of alternative protocol features, e.g., vari- In Proceedings of The 9th International Conference on the Internet of Things ous application-level congestion control mechanisms. In contrast (IoT ’19). ACM, New York, NY, USA, 5 pages. https://doi.org/xxx to existing WoT simulation and emulation frameworks [7, 19, 22], WoTbench provides an integrated mechanism to evaluate how the 1 performance of large CoAP-based systems can change as a func- Authors’ version of work produced with ACM permission. Not for redistribution. tion of the overall system architecture, application policies, device resource demands, workload patterns, and network conditions. The rest of this paper is organized as follows. Section 2 pro- Permission to make digital or hard copies of all or part of this work for personal or vides background on the CoAP. Section 3 describes a use case for classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation WoTbench. Section 4 presents an overview of WoTbench and its on the first page. Copyrights for components of this work owned by others than ACM components. Section 5 discusses the deployment process. Section 6 must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a reviews related work while Section 7 concludes the paper. fee. Request permissions from [email protected]. IoT ’19, October 22–25, 2019, Bilbao, Spain © 2019 Association for Computing Machinery. ACM ISBN xxx...$15.00 https://doi.org/xxx IoT ’19, October 22–25, 2019, Bilbao, Spain Raoufeh Hashemian, Niklas Carlsson, Diwakar Krishnamurthy, and Martin Arlitt 2 CONSTRAINED APPLICATION PROTOCOL gateway, proxy, and the device tiers. A common capacity planning A fundamental limitation in most WoT systems is the limited pro- approach is to answer what-if questions such as the following: cessing capability and power constraints of devices. CoAP [30], (1) For a given number of devices, an expected user behaviour, designed by the IETF CoRE Working Group [2], considers this limi- i.e., workload, and specific set of resources, e.g., sensors tation and provides a lightweight approach for connecting devices and their read service times, what is the maximum rate at to the Web. It is designed to operate with a RESTful architecture which the gateway can read the sensor data while satisfying that results in a stateless nature. This allows the development of a desired response time? uniform HTTP-CoAP proxies to integrate devices with CoAP sup- (2) How do alternative implementations of application level poli- port to the Web. Similar to HTTP, in CoAP each device can have cies, e.g., congestion control and packet recovery protocols, multiple resources that each have a unique Universal Resource layered on top CoAP compare in terms of performance? Identifier (URI). A URI can be used to access a resource by sending (3) What is the impact of having heterogeneous devices with GET, PUT, POST and DELETE requests. The resources in a WoT varying computational capabilities? environment are typically the methods for reading data or modify- (4) What is the effect of network characteristics such as individ- ing the settings of devices, sensors, actuators and communication ual device bandwidths, WoT network packet loss, delay and mediums in the network. In contrast to HTTP, CoAP adopts UDP as jitter on this maximum rate? the transport layer protocol considering the resource constrained WoTbench provides a testbed to facilitate experiments to an- nature of devices. swer these type of questions. It uses Docker containers [23] to Since the initial design of CoAP in 2011, several implementations emulate a WoT-device. A WoT-device can exchange messages with have been introduced that are intended for different Operating the gateway using the actual CoAP protocol executing on Linux. Systems (OS) and hardware architectures. One of the widely used Furthermore, WoTbench can emulate synthetic resources, e.g., sen- implementations is libCoAP [16]. It is written in C and can run sors, attached to the WoT-device. It allows control over the resource on constrained device OSs (e.g., Contiki [10], TinyOS [17]) as well demand distributions of these synthetic resources as well as the as larger POSIX based OSs. Californium [15] in another popular fraction of the testbed’s computational and networking resources implementation of CoAP, written in Java. It mainly targets back- allocated to each device. The testbed also supports control over the end services and server nodes communicating with constrained pattern of CoAP request arrivals from the gateway to any given devices. However, it can also be used on more powerful IoT nodes. WoT-device. Other examples of CoAP implementations include CoAPthon [32] The ability to specify request arrival patterns and resource de- in Python or node-coap [4] in JavaScript. mand distributions allows one to answer the first question in the 3 USE CASE FOR WOT BENCHMARKING sample capacity planning study. The ability to execute CoAP allows the evaluation of alternative application level policies as part of the As mentioned earlier, CoAP is designed to provide a RESTful in- second question. To answer the third question, the heterogeneity terface for constrained devices. The CoAP/HTTP proxies allow of devices can be reflected by appropriately configuring the distri- Web users to access Web services provided by constrained devices bution of resource demands per WoT-device and by using the CPU through Web browsers. In these cases, the CoAP part of this commu- and network sharing mechanisms supported by Docker [3]. For ex- nication may remain transparent from the users’ perspective [33]. ample, a device with high computation capability can be emulated Figure 1 shows a simplified architecture of such a service. In this by assigning to it a large fraction of the testbed’s CPU resources. case, the CoAP devices can be temperature or air quality sensors Finally, to answer the last question, WoTbench supports integra- in different locations. The user request may involve

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    5 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us