Please use this identifier to cite or link to this item:
Title: Ανάπτυξη Εργαλείων Για Την Ανάλυση Της Συμπεριφοράς Και Τη Βελτιστοποίηση Των Δυναμικών Τύπων Δεδομένων Σε Εφαρμογές Ενσωματωμένων Υπολογιστών
Authors: Παναγιώτης Θεοχάρης
Σούντρης Δημήτριος
Keywords: δομές δεδομένων
ανάλυση συμπεριφοράς
ενσωματωμένες εφαρμογές
data structures
behavioural analysis
embedded applications
Issue Date: 7-Apr-2009
Abstract: Τα τελευταία χρόνια, υπάρχει ένα ολοένα και αυξανόμενο πλήθος εφαρμογών (π.χ. Τρισδιάστατα παιχνίδια, αναπαραγωγή βίντεο) προερχόμενο από το πεδίο γενικής χρήσης των προσωπικών υπολογιστών, οι οποίες έχουν τεράστιες απαιτήσεις σε μνήμη, το οποίο απαιτείται να μεταφερθεί σε εξαιρετικά μικρές συσκευές.Ωστόσο, τα ενσωματωμένα συστήματα δυσκολεύονται να ανταποκριθούν στην εκτέλεση αυτών των σύνθετων εφαρμογών, επειδή προέρχονται από ένα πεδίο με εντελώς διαφορετικούς περιορισμούς όσον αφόρα στη χρήση της μνήμης όπου συγκεκριμένα δεν υπάρχει έντονο ενδιαφέρον για αποδοτική χρήση της δυναμικής μνήμης. Πράγματι, στις μέρες μας, ένας προσωπικός υπολογιστής είναι εξοπλισμένος με τουλάχιστον 1024 ή 2048 ΜΒ RAM, σε αντίθεση με τα 32 ή 64 ΜΒ που είναι διαθέσιμα στα ενσωματωμένα συστήματα. Συνεπώς, ένα από τα κύρια ζητήματα που πρέπει να αντιμετωπιστούν κατά τη μεταφορά των εφαρμογών σε ενσωματωμένες, είναι η βελτιστοποίηση της χρήσης της δυναμικής μνήμης.Οι προγραμματιστές αφιερώνουν το κύριο μέρος του χρόνου τους στο πλαίσιο της δουλειάς τους, από το να βελτιστοποιούν των κώδικά τους. Αυτά συστήματα εργαλείων που προσφέρουν ανάλυση του κώδικα υπάρχουν ήδη, αλλά περιορίζονται στη βελτιστοποίηση στατικών δομών μνήμης.Σε αυτή τη Διπλωματική Εργασία, προτείνουμε ένα σύνολο εργαλείων που παρέχει συνολική ανάλυση της συμπεριφοράς των δυναμικών δομών δεδομένων των εφαρμογών, όπως τους δυναμικούς πίνακες, τις λίστες, τα δέντρα. Το αποτέλεσμα της ανάλυσης εξάγεται σε διάφορες μορφές όπως η σχεσιακή βάση δεδομένων και η XML, ούτως ώστε να μπορεί κάποιος να υποβάλει ερωτήματα στη βάση για να εξάγει πληροφορία ή να χρησιμοποιήσει κάποιον υπάρχοντα XML parser για εμφανίσει τα αποτελέσματα.Το σύνολο των εργαλείων μας δοκιμάστηκε αναλύοντας τη συμπεριφορά των δυναμικών δομών δεδομένων ενός πολύ σύνθετου τρισδιάστατου παιχνιδιού (Vdrift), και τελικά επιλέγοντας τις βέλτιστες υλοποιήσεις για κάθε ένα από αυτούς. Παρουσιάσαμε αποτελέσματα που δείχνουν 32% μείωση στην απαιτούμενη διαθέσιμη μνήμη και 6% μείωση στις προσπελάσεις των δεδομένων.In the last years, there has been an increasing amount of applications (e.g. 3D games, video-players) coming from the general-purpose domain, having large run-time memory management requirements, need to be mapped onto an extremely compact device. However, embedded systems struggle to execute these complex applications because they come from desktop systems, holding very different restrictions regarding memory usage features, and more concretely not concerned with an efficient use of the dynamic memory. In fact, a desktop computer typically includes today between 1024 and 2048 MB of RAM memory at least, as opposed to the 32 or 64 MB present in modern embedded systems. Therefore, one of the main tasks of the porting process of multimedia applications onto embedded multimedia systems is the optimization of the dynamic memory subsystem.Developers spend more time focusing on the context of their work, rather than optimizing their code. Automatic frameworks that offer code analysis do exist, but are limited in the following way: none of the existing frameworks targets the optimization of dynamic containers found in almost every modern application. In this Thesis, we propose a framework that provides a complete behavioral analysis of the applications’ dynamic data structures like vectors, lists, trees. The analysis output comes in several formats like relational database and XML, so that one can use queries to extract information or use an existing XML parser to visualize the results.Our framework was tested by analyzing the behavior of dynamic data structures of a complex 3D game application (VDrift) and subsequently choosing optimal implementations for each one of them. The results showed a 32% reduction in requested memory footprint and 6% reduction in data accesses.
Appears in Collections:Διπλωματικές Εργασίες - Theses

Files in This Item:
File SizeFormat 
DT2009-0043.pdf1.03 MBAdobe PDFView/Open

Items in Artemis are protected by copyright, with all rights reserved, unless otherwise indicated.