TU Darmstadt / ULB / TUprints

Urban Edge Computing

Gedeon, Julien (2020)
Urban Edge Computing.
Technische Universität Darmstadt
doi: 10.25534/tuprints-00013362
Ph.D. Thesis, Primary publication

[img]
Preview
Text
gedeon-urban_edge_computing.pdf
Copyright Information: CC BY-NC-ND 4.0 International - Creative Commons, Attribution NonCommercial, NoDerivs.

Download (8MB) | Preview
Item Type: Ph.D. Thesis
Type of entry: Primary publication
Title: Urban Edge Computing
Language: English
Referees: Mühlhäuser, Prof. Dr. Max ; Becker, Prof. Dr. Christian
Date: 2020
Place of Publication: Darmstadt
Date of oral examination: 30 July 2020
DOI: 10.25534/tuprints-00013362
Abstract:

The new paradigm of Edge Computing aims to bring resources for storage and computations closer to end devices, alleviating stress on core networks and enabling low-latency mobile applications. While Cloud Computing carries out processing in large centralized data centers, Edge Computing leverages smaller-scale resources— often termed cloudlets—in the vicinity of users. Edge Computing is expected to support novel applications (e.g., mobile augmented reality) and the growing number of connected devices (e.g., from the domain of the Internet of Things). Today, however, we lack essential building blocks for the widespread public availability of Edge Computing, especially in urban environments. This thesis makes several contributions to the understanding, planning, deployment, and operation of Urban Edge Computing infrastructures. We start from a broad perspective by conducting a thorough analysis of the field of Edge Computing, systematizing use cases, discussing potential benefits, and analyzing the potential of Edge Computing for different types of applications. We propose re-using existing physical infrastructures (cellular base stations, WiFi routers, and augmented street lamps) in an urban environment to provide computing resources by upgrading those infrastructures with cloudlets. On the basis of a real-world dataset containing the location of those infrastructures and mobility traces of two mobile applications, we conduct the first large-scale measurement study of urban cloudlet coverage with four different metrics for coverage. After having shown the viability of using those existing infrastructures in an urban environment, we make an algorithmic contribution to the problem of which locations to upgrade with cloudlets, given the heterogeneous nature (with regards to communication range, computing resources, and costs) of the underlying infrastructure. Our proposed solution operates locally on grid cells and is able to adapt to the desired tradeoff between the quality of service and costs for the deployment. Using a simulation experiment on the same mobility traces, we show the effectiveness of our strategy. Existing mechanisms for computation offloading typically achieve loose coupling between the client device and the computing resources by requiring prior transfers of heavyweight execution environments. In light of this deficiency, we propose the concept of store-based microservice onloading, embedded in a flexible runtime environment for Edge Computing. Our runtime environment operates on a microservice-level granularity and those services are made available in a repository—the microservice store—and, upon request from a client, transferred from the store to execution agents at the edge. Furthermore, our Edge Computing runtime is able to share running instances with multiple users and supports the seamless definition and execution of service chains through distributed message queues. Empirical measurements of the implemented approach showed up to 13 times reduction in the end-to-end latency and energy savings of up to 94 % for the mobile device. We provide three contributions regarding strategies and adaptations of an Edge Computing system at runtime. Existing strategies for the placement of data and computation components are not adapted to the requirements of a heterogeneous (e.g., with regards to varying resources) edge environment. The placement of functional parts of an application is a core component of runtime decisions. This problem is computationally hard and has been insufficiently explored for service chains whose topologies are typical for Edge Computing environments (e.g., with regards to the location of data sources and sinks). To this end, we present two classes of heuristics that make the problem more tractable. We implement representatives for each class and show how they substantially reduce the time it takes to find a solution to the placement problem, while introducing only a small optimality gap. The placement of data (e.g., such captured by mobile devices) in Edge Computing should take into account the user’s context and the possible intent of sharing this data. Especially in the case of overloaded networks, e.g., during large-scale events, edge infrastructure can be beneficial for data storage and local dissemination. To address this challenge, we propose vStore, a middleware that—based on a set of rules—decouples applications from pre-defined storage locations in the cloud. We report on results from a field study with a demonstration application, showing that we were able to reduce cloud storage in favor of proximate micro-storage at the edge. As a final contribution, we explore the adaptation possibilities of microservices themselves. We suggest to make microservices adaptable in three dimensions: (i) in the algorithms they use to perform a certain task, (ii) in their parameters, and (iii) in auxiliary data that is required. These adaptations can be leveraged to trade a faster execution time for a decreased quality of the computation (e.g., by producing more inaccurate or partly wrong results). We argue that this is an important building block to be included in an Edge Computing system in view of both constrained resources and strict requirements on computation latencies. We conceptualize an adaptable microservice execution framework and define the problem of choosing the service variant, building upon the design of our previously introduced Edge Computing runtime environment. For a case study, we implement representative examples (e.g., in the field of computer vision and image processing) and outline the practical influence of the abovementioned tradeoff. In conclusion, this dissertation systematically analyzes the field of Urban Edge Computing, thereby contributing to its general understanding. Our contributions provide several important building blocks for the realization of a public Edge Computing infrastructure in an urban environment.

Alternative Abstract:
Alternative AbstractLanguage

Das neue Paradigma des Edge Computing zielt darauf ab, Ressourcen für Datenspeicherung und Berechnungen näher an Endgeräte zu verlagern, um so die Belastungen in den Kernnetzen zu verringern und geringe Latenzen für mobile Anwendungen zu ermöglichen. Während bei Cloud Computing die Datenverarbeitung in großen, zentralisierten Rechenzentren erfolgt, nutzt Edge Computing kleinere opportunistische Ressourcen – oftmals als Cloudlets bezeichnet – in der Nähe der Benutzer. Es wird davon ausgegangen, dass Edge Computing sowohl neuartige Anwendungen (z.B. Mobile Augmented Reality) ermöglichen, als auch die wachsende Anzahl von vernetzen Geräten (z.B. im Umfeld des Internet der Dinge) unterstützen wird. Heute fehlen jedoch wesentliche Bausteine für eine breite, allgemeine Verfügbarkeit von Edge Computing, insbesondere in urbanen Umgebungen. Die vorliegende Dissertation liefert mehrere Beiträge zum Verständnis, zur Planung, zur Bereitstellung, sowie zum Betrieb von Urban-Edge-Computing-Infrastrukturen. Wir nehmen zunächst eine breite Perspektive ein, indem wir das Forschungsfeld des Edge Computing eingrenzen, Anwendungsfälle systematisieren, die Vorteile von Edge Computing diskutieren und dessen Potenzial für verschiedene Arten von Anwendungen analysieren. Wir schlagen vor, bestehende physische Infrastrukturen (Mobilfunk-Basisstationen, WiFi-Router und neuartige Straßenlaternen) in einer städtischen Umgebung zur Bereitstellung von Rechenressourcen zu verwenden, indem diese Infrastrukturen mit Cloudlets aufgerüstet werden. Auf Grundlage eines realen Datensatzes, der die Standorte dieser Infrastrukturen und die Bewegungsdaten zweier mobiler Anwendungen enthält, präsentieren wir erstmals eine groß angelegte Messstudie zur städtischen Cloudlet-Abdeckung. Diese Analyse führen wir auf Grundlage von vier verschiedenen Metriken für Abdeckung durch. Hierdurch zeigen wir die Machbarkeit der Nutzung dieser bestehenden Infrastrukturen in einer städtischen Umgebung für die Bereitstellung von Rechenressourcen durch Cloudlets. Basierend auf diesen Erkenntnissen leisten wir einen algorithmischen Beitrag zur Frage, welche Standorte mit Cloudlets aufgerüstet werden sollten, unter der Annahme, dass die zugrundeliegenden Infrastrukturen heterogen (in Bezug auf Kommunikationsreichweite, Ressourcen und Kosten) sind. Unser Ansatz operiert lokal auf Planquadraten und ist in der Lage, sich an einen variierenden Tradeoff zwischen Dienstgüte und Kosten anzupassen. Mittels eines Simulationsexperiments, das auf den gleichen vorher genannten Bewegungsdaten basiert, zeigen wir die Effektivität unseres Ansatzes. Bestehende Ansätze für die Auslagerung von Berechnungen sind oft mit einem hohen Aufwand verbunden, weil vor der Ausführung die Übertragung schwergewichtiger Ausführungsumgebungen vom Endgerät erforderlich ist, um eine lose Kopplung zwischen den Endgeräten und den Rechenressourcen zu erreichen. Angesichts dieses Mankos schlagen wir das Konzept des Microservice Store Onloading vor und betten dieses in eine flexible Laufzeitumgebung für Edge Computing ein. Diese Laufzeitumgebung nutzt feingranulare Module, sog. Microservices für die Ausführung von Berechnungen und hält diese Microservices in einem sog. Microservice Store vor. Auf eine Anfrage von Benutzern hin werden die Microservices vom Store direkt auf Agenten am Rande des Netzwerkes übertragen und ausgeführt. Des Weiteren ist die von uns vorgeschlagene Laufzeitumgebung in der Lage, laufende Service-Instanzen zwischen verschiedenen Benutzern zu teilen und ermöglicht über verteilte Nachrichtenwarteschlangen die Definition und Ausführung von verketteten Microservices. Empirische Messungen des implementierten Ansatzes zeigten eine bis zu 13-mal geringere Ende-zu-Ende-Latenz sowie Energieeinsparungen von bis zu 94 % für die mobilen Client-Geräte. Wir liefern drei Beiträge zu Entscheidungsstrategien und Anpassungen einer Edge Computing-Ausführungsumgebung zur Laufzeit. Bestehende Strategien zur Platzierung von Daten und Berechnungskomponenten sind nicht an die Anforderungen einer (z.B. in Bezug auf Ressourcen) heterogenen Edge-ComputingUmgebung angepasst. Die Platzierung von funktionalen Teilen einer Anwendung ist eine Kernentscheidung in Ausführungsumgebungen. Dieses Platzierungsproblem ist rechenaufwändig und wurde für Service-Ketten, deren Topologien typisch für Edge-Computing-Umgebungen sind (z.B. im Hinblick auf die Lage von Datenquellen und -Senken im Netzwerk), bisher nur unzureichend untersucht. Aufbauend auf dieser Beobachtung stellen wir zwei Klassen von Heuristiken vor, die das Platzierungsproblem in Edge Computing besser handhabbar machen. Für jede Klasse von Heuristiken implementieren wir Repräsentanten und zeigen, dass unser Ansatz die Zeit, die für die Lösung des Platzierungsproblems benötigt wird, erheblich reduziert. Zudem weisen die so gefundenen Lösungen nur minimale Abweichungen zur optimalen Platzierungsentscheidung auf. Die Platzierung von Daten in Edge Computing (z.B. solcher, die über mobile Endgeräte erfasst werden) sollte idealerweise den aktuellen Kontext des Benutzers sowie das Teilen der Daten berücksichtigen. Insbesondere bei überlasteten Netzwerken, z.B. infolge von Großveranstaltungen, können Edge-Computing-Infrastrukturen nützlich für die Speicherung und Verteilung von Daten sein. Hierzu schlagen wir vStore vor, eine Middleware, die – basierend auf einer Menge von Regeln – Anwendungen von ihren vordefinierten Speicherorten in der Cloud entkoppelt. Wir analysieren die Ergebnisse einer Feldstudie, durchgeführt mit einer Beispielanwendung, und zeigen auf, dass unser Ansatz in der Lage ist, Speicherorte von der Cloud an den Rand des Netzes zu verlagern. Als abschließenden Beitrag untersuchen wir die Anpassungsmöglichkeiten der Microservices selbst. Wir schlagen vor, die Microservices in dreierlei Hinsicht anzupassen: (i) in den Algorithmen, die sie zur Ausführung einer bestimmten Aufgabe verwenden, (ii) in ihren Parametern und (iii) in ggf. für die Ausführung erforderlichen weiteren (Hilfs-)Daten. Diese Anpassungen können z.B. genutzt werden, um eine schnellere Ausführungszeit im Gegenzug für eine verminderte Qualität der Berechnung (z.B. durch ungenauere oder teilweise falsche Ergebnisse) zu erreichen. Wir zeigen auf, dass diese Abwägung ein wichtiger Baustein in Edge-ComputingUmgebungen ist, bedingt sowohl durch die typische Ressourcenknappheit auf der einen, als auch im Hinblick auf strikte Latenzanforderungen auf der anderen Seite. Wir konzipieren eine Laufzeitumgebung, die anpassbare Microservices unterstützt, und definieren das Problem der Auswahl einer konkreten Dienstvariante, wobei wir auf dem Design der zuvor vorgestellten Edge-Computing-Ausführungsumgebung aufbauen. In einer Fallstudie demonstrieren wir anhand von repräsentativen Beispielen (z.B. im Bereich von Computer Vision und Bildverarbeitung) den Praktischen Einfluss der oben genannten Abwägungsentscheidung. Zusammenfassend bietet diese Dissertation eine systematische Analyse des Forschungsfeldes von Urban Edge Computing. Unsere Beiträge liefern wichtige Bausteine zur Realisierung einer allgemein verfügbaren Edge-Computing-Infrastruktur im urbanen Raum.

German
URN: urn:nbn:de:tuda-tuprints-133628
Classification DDC: 000 Generalities, computers, information > 004 Computer science
Divisions: 20 Department of Computer Science > Telecooperation
Date Deposited: 08 Sep 2020 12:13
Last Modified: 08 Sep 2020 15:20
URI: https://tuprints.ulb.tu-darmstadt.de/id/eprint/13362
PPN: 469310049
Export:
Actions (login required)
View Item View Item