SHAPES: εύκολες και υψηλού επιπέδου διατάξεις μνήμης

Περίληψη

Η ταχύτητα της CPU υπερτερεί πλέον αυτής της RAM. Ως αποτέλεσμα, οι προγραμματιστές που επιδιώκουν να επιτεύξουν υψηλή απόδοση σε σύγχρονες αρχιτεκτονικές θα χρειαστεί πιθανότατα να λάβουν υπ'όψιν το πώς να αξιποιήσουν τις λανθάνουσες μνήμεις (cache) της CPU κατά το βέλτιστο δυνατό τρόπο, το οποίο συνεπάγεται ότι θα χρειαστούν να εξετάσουν το πώς θα διατάξουν τα δεδομένα τους στη μνήμη ώστε να εκμεταλλευτούν τη χωρική τοπικότητα και να επιτύχουν υψηλή ευρυζωνικότητα μεταξύ της CPU και της RAM. Η εφαρμογή τέτοιων βελτιστοποιήσεων όσον αφορά τη μνήμη συνήθως έρχεται σε αντιπαράθεση με την αναγνωσιμότητα του κώδικα, τη συντηρησιμότητά του, την ασφάλεια της μνήμης και της έννοιας της αφαιρετικότητας αντικειμένων. Αυτό επιδεινώνεται περαιτέρω σε γλώσσες όπως η Java και η C#, όπου το runtime αποκρύπτει από τον προγραμματιστή το πώς διατάσσονται τα δεδομένα στη μνήμη και, ως αποτέλεσμα, τέτοιες βελτιστοποιήσεις είναι σχεδόν αδύνατον να θυλοποιηθούν. Ως εκ τούτου, παρουσιάζουμε σε αυτή τη διατ ...
περισσότερα

Περίληψη σε άλλη γλώσσα

CPU speeds have vastly exceeded those of RAM. As such, developers who aim to achieve high performance on modern architectures will most likely need to consider how to use CPU caches effectively, hence they will need to consider how to place data in memory so as to exploit spatial locality and achieve high memory bandwidth. Performing such manual memory optimisations usually sacrifices readability, maintainability, memory safety, and object abstraction. This is further exacerbated in managed languages, such as Java and C#, where the runtime abstracts away the memory from the developer and such optimisations are, therefore, almost impossible. To that extent, we present in this thesis a language extension called SHAPES. SHAPES aims to offer developers more fine-grained control over the placement of data, without sacrificing memory safety or object abstraction, hence retaining the expressiveness and familiarity of OOP. SHAPES introduces the concepts of pools and layouts; programmers group ...
περισσότερα

Όλα τα τεκμήρια στο ΕΑΔΔ προστατεύονται από πνευματικά δικαιώματα.

DOI
10.12681/eadd/54054
Διεύθυνση Handle
http://hdl.handle.net/10442/hedi/54054
ND
54054
Εναλλακτικός τίτλος
SHAPES: easy and high-level memory layouts
Συγγραφέας
Τάσος, Αλέξανδρος (Πατρώνυμο: Βασίλης)
Ημερομηνία
2022
Ίδρυμα
University of London. Imperial College of Science, Technology and Medicine. Department of Computing
Εξεταστική επιτροπή
Drossopoulou Sophia
Eisenbach Susan
Donaldson Alastair
Tratt Laurence
Επιστημονικό πεδίο
Επιστήμες Μηχανικού και ΤεχνολογίαΕπιστήμη Ηλεκτρολόγου Μηχανικού, Ηλεκτρονικού Μηχανικού, Μηχανικού Η/Υ ➨ Υπολογιστές, Υλικό (hardware) και Αρχιτεκτονική
Λέξεις-κλειδιά
Συστήματα τύπων; Αξιοποίηση λανθάνουσας μνήμης; Αναπαράσταση δεδομένων; Ασφάλεια μνήμης
Χώρα
Ηνωμένο Βασίλειο
Γλώσσα
Αγγλικά
Άλλα στοιχεία
πιν., σχημ., γραφ.
Στατιστικά χρήσης
ΠΡΟΒΟΛΕΣ
Αφορά στις μοναδικές επισκέψεις της διδακτορικής διατριβής για την χρονική περίοδο 07/2018 - 07/2023.
Πηγή: Google Analytics.
ΞΕΦΥΛΛΙΣΜΑΤΑ
Αφορά στο άνοιγμα του online αναγνώστη για την χρονική περίοδο 07/2018 - 07/2023.
Πηγή: Google Analytics.
ΜΕΤΑΦΟΡΤΩΣΕΙΣ
Αφορά στο σύνολο των μεταφορτώσων του αρχείου της διδακτορικής διατριβής.
Πηγή: Εθνικό Αρχείο Διδακτορικών Διατριβών.
ΧΡΗΣΤΕΣ
Αφορά στους συνδεδεμένους στο σύστημα χρήστες οι οποίοι έχουν αλληλεπιδράσει με τη διδακτορική διατριβή. Ως επί το πλείστον, αφορά τις μεταφορτώσεις.
Πηγή: Εθνικό Αρχείο Διδακτορικών Διατριβών.