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 |