title: Memory system evaluation for disaggregated cloud data centers
title: Αξιολόγηση συστημάτων μνήμης διαχωρισμένων (disaggregated) κέντρων δεδομένων υπολογιστικών νεφών
Creators: name: Ανδρονικακης Ανδρεας
Publisher: name: Technical University of Crete
Year: 2017

description:  In our time, there is a plethora of highly demanding computational work and of major scientific research and applications. Various ways of compressing production costs for the above operations are also sought. There can be found a variety of efforts to meet the above-mentioned needs such as those that promote the automation of production, those which, more generally, seek to reduce operating costs, but simpler and less effective are those that seek to reduce non-functional costs. Such a practice and prospect could include the development of cloud computing and, more specifically of cloud servers, which is a necessary infrastructure for cloud computing services to work.
Their ease of use, scalability, low cost, and reliability are some of the most important reasons for deploying cloud computing, cloud servers and their respective service providers. One element to be highlighted is the need for a high-standard memory in terms of performance and size. The existing architecture of Cloud Data Centers is characterized by high energy consumption and a great waste of resources (mainly memory).

This thesis refers to estimating the memory of cloud data centers with disaggregated (or disintegrated) servers, ie servers whose components and/or resources are in separate sub-assemblies, regarding their physical location. This type of servers is being researched over the past years, and its advantages and disadvantages are examined. This Disaggregated Architecture System aims to change the traditional way of organizing a Data Center by proposing a more flexible and software-modulated integration around blocks, the Pooled Disaggregated Resources, as opposed to traditional unification around from the mainboard.

The purpose of this diploma thesis is to study and develop a unified (modular) memory simulation tool of the above architecture, driven by the execution of an application, the DiMEM Simulator (DIsaggregated MEMory System Simulator). This simulator was implemented to approximate the behavior of standard Cloud application workloads in Shared Architecture Memory. The tool combines the Intel Pin Framework, where this diploma focuses, with the DRAMSim2 memory simulator.

The subject of this study is the Dynamic Binary Instrumentation, the understanding of Cache levels and their simulation methods, the implementation of the Disaggregated Architecture Memory simulation, and experimentation with various parameters. The results presented approximate the overall behavior of a Memory System of a Disaggregated Cloud Data Center.
description:  Στην εποχή μας, υπάρχει πληθώρα από ιδιαίτερα απαιτητικές υπολογιστικά εργασίες και βαρύνουσας σημασίας επιστημονική έρευνα και εφαρμογές. Επίσης αναζητούνται διάφοροι τρόποι συμπίεσης του κόστους παραγωγής για τις παραπάνω εργασίες. Μπορεί κανείς να βρει ποικιλόμορφες προσπάθειες, για να καλυφθούν οι παραπάνω ανάγκες όπως αυτές οι οποίες προωθούν τον αυτοματισμό της παραγωγής, αυτές που, ευρύτερα, επιδιώκουν τη μείωση του λειτουργικού κόστους, όμως πιο απλές και με λιγότερες επιπτώσεις είναι αυτές που επιδιώκουν τη μείωση του μη-λειτουργικού κόστους. Σε μια τέτοια πρακτική και προοπτική θα μπορούσε να συγκαταλεχθεί η ανάπτυξη του «υπολογιστικού νέφους» (cloud computing), όπως και, πιο ειδικά, των διακομιστών νέφους (cloud servers), που είναι μια απαραίτητη υποδομή προκειμένου να μπορούν να λειτουργήσουν οι υπηρεσίες υπολογιστικού νέφους.
Η ευκολία στην χρήση τους, η επεκτασιμότητα τους, το χαμηλό κόστος και η αξιοπιστία είναι κάποιοι από τους σημαντικότερους λόγους ανάπτυξης του υπολογιστικού νέφους, των διακομιστών νέφους και των αντίστοιχων παρόχων υπηρεσιών. Ένα στοιχείο που θα πρέπει να τονιστεί είναι η αναγκαιότητα για μια μνήμη υψηλών προδιαγραφών, όσον αφορά τις επιδόσεις και το μέγεθός τους. Η υπάρχουσα αρχιτεκτονική των Cloud Data Centers χαρακτηρίζεται από την υψηλή κατανάλωση ενέργειας και την μεγάλη σπατάλη πόρων (κυρίως μνήμης).

Η εργασία αυτή αναφέρεται στην εκτίμηση της μνήμης των κέντρων δεδομένων νέφους με απομακρυσμένους/επιμερισμένους (disaggregated) ή αποσυντεθειμένους(disintegrated) διακομιστές, δηλαδή διακομιστές των οποίων τα συστατικά ή οι πόροι βρίσκονται σε ξεχωριστά –όσον αφορά τη φυσική τους τοποθεσία- υποσυστήματα. Το είδος αυτό των διακομιστών ερευνάται τα τελευταία, χρόνια, και εξετάζονται τα πλεονεκτήματα και μειονεκτήματά του. Η Αρχιτεκτονική αυτή (Disaggregated Architecture System) στοχεύει να αλλάξει τον παραδοσιακό τρόπο οργάνωσης ενός Data Center, προτείνοντας μια πιο ευέλικτη και μεταβαλλόμενη από το software ενοποίηση γύρω από blocks, τις Επιμερισμένες Δεξαμενές Πόρων (Pooled Disaggregated Resources), σε αντίθεση με την παραδοσιακή ενοποίηση γύρω από το mainboard.

Σκοπός της διπλωματικής αυτής εργασίας είναι η μελέτη και ανάπτυξη ένα ενοποιημένου (modular) εργαλείου προσομοίωσης μνήμης, της παραπάνω αρχιτεκτονικής, «οδηγούμενο» από την εκτέλεση ενός προγράμματος (execution driven), του DiMEM Simulator (DIsaggregated MEMory System Simulator). Ο προσομοιωτής αυτός υλοποιήθηκε για να αποτυπώσει προσεγγιστικά τη συμπεριφορά του τυπικού φόρτου εργασίας των Cloud εφαρμογών σε συνθήκες Μνήμης Επιμερισμένης Αρχιτεκτονικής. Το εργαλείο συνενώνει το Intel Pin Framework όπου και επικεντρώνεται η διπλωματική αυτή με τον προσομοιωτή Μνήμης DRAMSim2.

Αντικείμενο μελέτης είναι η δυαδική ενορχήστρωση δυαδικού κώδικα, η κατανόηση των επίπεδων της Cache καθώς και οι μέθοδοι προσομοίωσής τους, η υλοποίηση της προσομοίωσης Μνήμης Επιμερισμένης Αρχιτεκτονικής, και ο πειραματισμός με τις διάφορες παραμέτρους. Τα αποτελέσματα που παρουσιάζονται αποτυπώνουν προσεγγιστικά τη γενικότερη συμπεριφορά ενός συστήματος Μνήμης Διαχωρισμένου (Disaggregated) Κέντρου Δεδομένων Υπολογιστικού Νέφους.