PYXIDA Institutional Repository
and Digital Library
 Home
Collections :

Title :Energy and run-time performance practices in software engineering
Alternative Title :Πρακτικές για απόδοση ενέργειας και χρόνου εκτέλεσης στην μηχανική λογισμικού
Creator :Georgiou, Stefanos
Γεωργίου, Στέφανος
Contributor :Spinellis, Diomidis (Επιβλέπων καθηγητής)
Louridas, Panagiotis (Εξεταστής)
Sakellariou, Rizos (Εξεταστής)
Chatziantoniou, Damianos (Εξεταστής)
Papaspirou, Nikolaos (Εξεταστής)
Voulgaris, Spyridon (Εξεταστής)
Zou, Ying (Εξεταστής)
Athens University of Economics and Business, Department of Management Science and Technology (Degree granting institution)
Type :Text
Extent :148p.
Language :en
Identifier :http://www.pyxida.aueb.gr/index.php?op=view_object&object_id=8387
Abstract :Energy efficiency for computer systems is an ever-growing matter that has caught the attention of the software engineering community. Although hardware design and utilization are undoubtedly key factors affecting energy consumption, there is solid evidence that software design can also significantly alter the energy consumption of IT products. Therefore, the goal of this dissertation is to show the impact of software design decisions on the energy consumption of a computer system.Initially, we analyzed 92 research papers from top-tier conferences and categorized them under the Software Development Life Cycle taxonomy. From this study, we were able to find many research challenges. Among these challenges, we identified that there is limited work in the context of different programming languages’ energy and delay implications.To this end, we performed an empirical study and pointed out which programming languages can introduce better energy and run-time performance for specific programming tasks and computer platforms (i.e., server, laptop, and embedded system). Motivated further by our survey results, we performed an additional study on different programming languages and computer platforms to demonstrate the energy and delay implications of various inter-process communication technologies (i.e, REST, RPC, gRPC).From the above studies, we were able to introduce guidelines on reducing the energy consumption of different applications by suggesting which programming languages to utilise in specific cases. Finally, we performed experiments to examine the energy and run-time performance taxing that security measures have over 128 distinct benchmark suites. By investigating the impact of CPU-related vulnerabilities (Meltdown, Spectre, and MDS), communication-related security measures (HTTP/HTTPS), memory protection (memory zeroing), and compiler safeguards (GCC), we have found that these measures can impact the energy and run-time performance of real-work applications (Nginx, Apache, Redis) by up to 20%.
Η ενεργειακή απόδοση για συστήματα υπολογιστών είναι ένα ζήτημα που έχει τραβήξει την προσοχή των μηχανικών λογισμικού. Παρόλο που ο σχεδιασμός και η χρήση του υλικού είναι αναμφίβολα οι βασικοί παράγοντες που επηρεάζουν την κατανάλωση ενέργειας, υπάρχουν ενδείξεις ότι ο σχεδιασμός λογισμικού μπορεί επίσης να αλλάξει σημαντικά την κατανάλωση ενέργειας των προϊόντων πληροφορικής. Επομένως, ο στόχος αυτής της διατριβής είναι να δείξει τον αντίκτυπο που έχει ο σχεδιασμός λογισμικού στην κατανάλωση ενέργειας ενός συστήματος υπολογιστή.Αρχικά, αναλύσαμε 92 ερευνητικές εργασίας από κορυφαία συνέδρια και τα ταξινομήσαμε κάτω από το Κύκλου Ζωής Ανάπτυξης Λογισμικού. Από αυτήν τη μελέτη, εξήγαμε ορισμένες ερευνητικές προκλήσεις. Μεταξύ αυτών των προκλήσεων, εντοπίσαμε ότι υπάρχει περιορισμένος αριθμός εργασιών στο πλαίσιο των επιπτώσεων της ενέργειας για γλώσσες προγραμματισμού.Για το σκοπό αυτό, κάναμε μια εμπειρική μελέτη ώστε να βρούμε ποιες γλώσσες προγραμματισμού έχουν την καλύτερη απόδοση ενέργειας και χρόνου εκτέλεσης για συγκεκριμένες εργασίες προγραμματισμού και πλατφόρμες υπολογιστών (π.χ. εξυπηρετητής, φορητός υπολογιστής και ενσωματωμένο σύστημα). Εκτός αυτού, πραγματοποιήσαμε μια επιπλέον μελέτη σε διαφορετικές γλώσσες προγραμματισμού και πλατφόρμες υπολογιστών για να δείξουμε τις επιπτώσεις της ενέργειας και χρόνου εκτέλεσης διαφόρων τεχνολογιών επικοινωνίας μεταξύ διεργασιών (δηλαδή, REST, RPC, gRPC).Από τις παραπάνω μελέτες, ορίσαμε κατευθυντήριες γραμμές για τη μείωση της κατανάλωσης ενέργειας διαφορετικών εφαρμογών, προτείνοντας δείξαμε ποιες γλώσσες προγραμματισμού μπορούν να χρησιμοποιηθούν σε συγκεκριμένες περιπτώσεις. Τέλος, πραγματοποιήσαμε πειράματα για να εξετάσουμε την απόδοση ενέργειας και χρόνο εκτέλεσης που έχουν διαφορετικά μέτρα ασφαλείας σε υπολογιστικά συστήματα. Συγκεκριμένα ερευνήσαμε μέτρα ασφαλείας για μικροεπεξεργαστές (όπως Meltdown, Specter και MDS), μέτρα ασφαλείας που σχετίζονται με την επικοινωνία (HTTP / HTTPS), προστασία μνήμης (μηδενισμός μνήμης) και προστατευτικά μέτρα μεταγλωττιστή (GCC). Διαπιστώσαμε ότι αυτά τα μέτρα μπορούν επηρεάσουν την απόδοση ενέργειας και χρόνο εκτέλεσης πραγματικών εφαρμογών έως και 20% (όπως Nginx, Apache, Redis).
Subject :Energy consumption
Run-time performance
Programming languages
Security measures
Γλώσσες προγραμματισμού
Κατανάλωση ενέργειας
Χρόνος εκτέλεσης
Μέτρα ασφαλείας
Date Available :2021-02-08 20:14:49
Date Issued :2021
Date Submitted :2021-02-08 20:14:49
Access Rights :Free access
Licence :

File: Georgiou_2021.pdf

Type: application/pdf