Cloud Parallelizer, A High-Performance Backend for Distributed Task Parallelization

Amrein, Christoph and Markiewicz, Timothy (2015) Cloud Parallelizer, A High-Performance Backend for Distributed Task Parallelization. Student Research Project thesis, HSR Hochschule für Technik Rapperswil.

[thumbnail of A Flexible Backend for Distributed Task Parallelization.pdf]
Preview
Text
A Flexible Backend for Distributed Task Parallelization.pdf - Supplemental Material

Download (1MB) | Preview

Abstract

Im Zuge eines Forschungsprojekts des Instituts für Software der Hochschule Rapperswil wurde ein Framework zur .NET Task-Parallelisierung in der Cloud entwickelt. Das entwickelte Framework ermöglicht es, Tasks aus der .NET Task Parallel Library automatisch über einen Web-Dienst auf entfernte Rechenkerne zu verteilen und so die Anwendung zu beschleunigen. Hinter dem Dienst wurde bis anhin ein HPC Cluster benutzt, welcher jedoch in verschiedener Hinsicht schwerfällig und ineffizient ist. Einerseits muss der Cluster Eingaben und Ausgaben über Dateien austauschen und andererseits müssen Anfragen auf Jobs mit fixer Anzahl Cores abgebildet werden, was zu einer schlechten Lastverteilung führt.
Ziel dieser Arbeit war es daher, ein neues Backend zu entwickeln für eine mögliche Ablösung des bestehenden. Dazu sollte eine native Backend-Architektur ohne Cluster-Middleware entwickelt werden, welche die Last von Anfragen automatisch optimal auf eine beliebige Anzahl heterogener Rechnerknoten hinter dem Service verteilt. Zudem sollen zur Laufzeit neue Knoten hinzugefügt bzw. entfernt werden können.
Entwickelt wurde ein komplett neues Backendsystem bestehend aus zwei Komponenten: Einem Master-Service, mit welchem die .NET Anwendungen als Clients kommunizieren und welcher deren auszuführende Tasks verwaltet. Einem Worker-Service pro beteiligtem Rechen-Knoten, welcher vom Master-Service Tasks bezieht und auf den Cores des Knotens ausführt. Das Konzept entspricht einem verteilten Thread Pool. Aufgrund des Pull-Prinzips der Worker wird automatisch eine optimale Auslastung bei genügender Anzahl Tasks auf eine dynamische Anzahl heterogener Rechnerknoten erreicht. Zudem entfällt eine unnötige Serialisierung in Files. Die HTTPS-Kommunikation mit dem Master-Service basiert beim Warten auf einem Polling-Prinzip mit adaptiven Frequenzen.
Die entwickelte Lösung wurde auf einer Umgebung mit 24 Rechnern zu je 4 Cores (insgesamt 96 Cores) experimentell evaluiert und mit dem HSR Cluster verglichen. Dabei konnte nachgewiesen werden, dass das neue System gegenüber dem Cluster performanter ist, gleichförmiger skaliert und deutlich kleinere Overheads aufweist. Das neue Backend eignet sich somit als idealer Ersatz für das bestehende Cluster-Backend.

Item Type: Thesis (Student Research Project)
Subjects: Topics > Software > Performance
Topics > Software > Optimization
Topics > Cloud Computing
Area of Application > Web based
Area of Application > Academic and Education
Technologies > Frameworks and Libraries > .NET
Technologies > Protocols > HTTP/S
Technologies > Parallel Computing
Metatags > IFS (Institute for Software)
Divisions: Bachelor of Science FHO in Informatik > Student Research Project
Depositing User: OST Deposit User
Contributors:
Contribution
Name
Email
Thesis advisor
Bläser, Luc
UNSPECIFIED
Date Deposited: 20 Oct 2015 07:49
Last Modified: 20 Oct 2015 07:49
URI: https://eprints.ost.ch/id/eprint/432

Actions (login required)

View Item
View Item