Serverless Computing bietet ein Pay-per-Use-Modell mit hoher Elastizität und automatischer Skalierung für eine breite Palette von Anwendungen. Eines der Schlüsselkonzepte von Serverless ist, dass der Cloud-Anbieter die gesamte für die Ausführung der Anwendung erforderliche Infrastruktur verwaltet. Da kommerzielle Cloud-Anbieter den größten Teil der zugrunde liegenden Infrastruktur abstrahieren, funktionieren diese Dienste ähnlich wie Blackboxen. Aus diesem Grund können Entwickler schnell mehr Ressourcen reservieren, insbesondere virtuelle CPUs (vCPUs), als sie tatsächlich nutzen, ohne es zu wissen. Indem der Entwickler nicht die gesamte verfügbare Hardware nutzt, zahlt er mehr Geld als nötig.
In dieser Arbeit analysieren wir die Auswirkungen der Parallelisierung von rechenintensiven Programmen innerhalb einzelner Funktions- und Container-Instanzen für AWS Lambda, Google Cloud Functions (GCF) und Google Cloud Run (GCR). Darüber hinaus geben wir Einblicke in die zugrunde liegende Infrastruktur und untersuchen die Korrelation zwischen zugewiesenen Hardware-Threads und vCPUs in serverlosen Umgebungen. Wir führen unsere Experimente mit 5 verschiedenen Benchmarks durch und sammeln Metriken, wie Ausführungszeit und Speicherverbrauch, über jeden Dienst und jede Umgebung. Unsere Ergebnisse zeigen, dass die Anzahl der zugewiesenen vCPUs nicht immer mit der Anzahl der Hardware-Threads übereinstimmt. Darüber hinaus zeigen wir, dass Anwendungen durch Parallelisierung ähnlich der Anzahl der zugewiesenen vCPUs beschleunigt werden können. Wir haben die Ausführungszeiten zwischen Single- und Multi-Thread-Anwendungen gemessen und Geschwindigkeitssteigerungen von bis zum 5,4-fachen für AWS, 2,1-fachen für GCF und 3,7-fachen für GCR festgestellt. Die daraus resultierenden maximalen Kosteneinsparungen, die wir beobachten konnten, betrugen bis zu 81% für AWS Lambda, 49% für GCF und 71% für GCR.
«
Serverless Computing bietet ein Pay-per-Use-Modell mit hoher Elastizität und automatischer Skalierung für eine breite Palette von Anwendungen. Eines der Schlüsselkonzepte von Serverless ist, dass der Cloud-Anbieter die gesamte für die Ausführung der Anwendung erforderliche Infrastruktur verwaltet. Da kommerzielle Cloud-Anbieter den größten Teil der zugrunde liegenden Infrastruktur abstrahieren, funktionieren diese Dienste ähnlich wie Blackboxen. Aus diesem Grund können Entwickler schnell mehr Re...
»