Το τέλος της εκθετικής αύξησης της απόδοσης των μονοεπεξεργαστικών συστημάτων σηματοδότησε το τέλος της κυριαρχίας των απλών μικροεπεξεργαστών στην πληροφορική. Η μελλοντική εξέλιξη των υπολογιστικών επιδόσεων μπορεί και αναμένεται να προέλθει από τον παραλληλισμό κάθε είδους. Τα θετικό νέο είναι ότι η τεχνολογική κλιμάκωση θα συνεχιστεί και η ενσωμάτωση εκατοντάδων πυρήνων σε ένα τσιπ αναμένεται στο εγγύς μέλλον. Τα αρνητικό είναι ότι η κλιμάκωση της επίδοσης στις πολυπύρηνες αρχιτεκτονικές δεν είναι εύκολη ούτε προφανής. Ένα από τα σημαντικότερα προβλήματα που προκαλούν μείωση της επίδοσης είναι το περιορισμένο εύρος ζώνης της κύριας μνήμης. Καθώς ο αριθμός των πυρήνων ανά τσιπ αυξάνεται, οι απαιτήσεις σε εύρος ζώνης μνήμης αυξάνουν σχεδόν γραμμικά. Δυστυχώς, η κλιμάκωση του εύρους ζώνης υπολείπεται σημαντικά της τεχνολογικής κλιμάκωσης και οι διαμοιραζόμενοι πόροι μνήμης και εύρους ζώνης αναδεικνύονται σε κρίσιμα σημεία συμφόρησης που περιορίζουν σημαντικά την επίδοση. Οι όροι Memory ή Bandwidth wall χρησιμοποιούνται συχνά για την αναφορά σε αυτό το ζήτημα. Ο στόχος της παρούσας διπλωματικής είναι η μελέτη και η αξιολόγηση της συμπίεσης στο δίαυλο μνήμης ως μιας τεχνικής για την αύξηση του αποτελεσματικού εύρους ζώνης και τη βελτίωση της επίδοσης σε σύγχρονους πολυπύρηνους επεξεργαστές. Η λογική πίσω από τη συμπίεση στο δίαυλο μνήμης είναι να καταφέρουμε να μειώσουμε την ποσότητα των δεδομένων που μεταφέρονται από/προς τη κύρια μνήμη με την αποστολή και τη λήψη των δεδομένων σε συμπιεσμένη μορφή. Στο σχήμα συμπίεσης που μελετήσαμε, πειραματιστήκαμε με διάφορους αλγόριθμους που έχουν προταθεί στο παρελθόν για συμπίεση στο υλικό και ανήκουν σε διαφορετικές “οικογένειες”. Παρακινούμενοι από την κακή απόδοση που έχουν συνήθως τα σχήματα σε επιστημονικά δεδομένα, εφαρμόσαμε και τον αλγόριθμο FPC, ένα σύγχρονο λογισμικό συμπίεσης για δεδομένα κινητής υποδιαστολής διπλής ακρίβειας. Για τη μοντελοποίηση του συστήματος και την πειραματική αξιολόγηση χρησιμοποιήσαμε τον Sniper, ένα σύγχρονο προσομοιωτή πολυπύρηνων αρχιτεκτονικών. Πειραματιστήκαμε με τρεις εφαρμογές που η κλιμάκωση τους περιορίζεται από τη μνήμη και με σύνολα ακέραιων δεδομένων και δεδομένων κινητής υποδιαστολής. Τα πειραματικά μας αποτελέσματα δείχνουν ότι η συμπίεση στο δίαυλο μπορεί να μειώσει σημαντικά τις απαιτήσεις σε εύρος ζώνης και υπό ορισμένες προϋποθέσεις, να βελτιώσει την επίδοση των πολυπύρηνων επεξεργαστών.
The end of exponential growth in single-processor performance marks the end of the dominance of the single microprocessors in computing. Future growth in computing performance is expected and must come from parallelism. The good news is that technology scaling will continue and the integration of hundreds of cores in a single die is the near future. The bad news is that performance scaling in the multicore era is not easy nor obvious. One of the major issues that causes performance degradation in Chip Multiprocessor systems is unsustainable off-chip memory bandwidth. As the number of cores per die increases, the demands in off-chip memory bandwidth increase almost linearly too. Unfortunately, bandwidth scaling typically lags significantly behind and the shared resources of memory and bandwidth emerge as critical performance and throughput bottlenecks. $Memory$ or $Bandwidth$ wall are terms usually used to refer to this performance constraint. The goal of this diploma is to study and evaluate memory-link compression as a technique to increase the effective memory bandwidth in modern CMPs and overcome the ``wall". The rational behind link compression is to manage to reduce the amount of data communicated from/to off-chip memory by sending and receiving it in a compressed form. In the link compression scheme we modeled, we've experimented with various compression algorithms previously proposed for hardware compression, belonging to different families. Motivated by the poor performance that schemes usually have with scientific workloads, we've also applied FPC, a modern software compression scheme for double precision floating-point data. For the scheme's modeling and experimental evaluation we've used Sniper, a modern multicore simulator. We've experimented with three scientific memory bandwidth bound applications and both integer and hard-to-compress scientific floating point datasets. Our experimental results show that link compression can significantly reduce off-chip bandwidth demands and under certain conditions improve CMP performance.