Μία ενδιαφέρουσα έρευνα που διεξήχθη από το Πανεπιστήμιο Carnegie Mellon μπορεί σύντομα να βοηθήσει το Twitter να λειτουργεί πιο γρήγορα και πιο αποτελεσματικά, κάτι που θεωρείται υψίστης σημασίας για όλους τους ιστότοπους, εφαρμογές και λογισμικά, ούτως ώστε ο χρήστης να παραμένει ικανοποιημένος, χωρίς να αναγκάζεται να περιμένει τη φόρτωση των στοιχείων τους, ακόμη και για μερικά χιλιοστά του δευτερολέπτου παραπάνω.
Ο Juncheng Yang, που θεωρείται ειδικός στην επιστήμη των υπολογιστών, και ο Rashmi Vinayak, επίκουρος καθηγητής στο Τμήμα Επιστήμης Υπολογιστών, συνεργάστηκε με τον Yao Yue από το Twitter για την περαιτέρω ανάπτυξη του Segcache για την καλύτερη δυνατή χρήση της DRAM στη μνήμη cache.
«Πραγματοποιήσαμε μια μεγάλης κλίμακας μελέτη σχετικά με τον τρόπο αποθήκευσης και πρόσβασης των στοιχείων στην προσωρινή μνήμη και με βάση την έρευνα μας, αναπτύξαμε ένα πρωτοποριακό σύστημα για καλύτερη χρήση του πολύτιμου χώρου προσωρινής αποθήκευσης», δήλωσε ο Juncheng Yang. «Αυτό θα μπορούσε ενδεχομένως να επιτρέψει στο Twitter να μειώσει το μέγεθος των στοιχείων που καταλαμβάνουν την κρυφή μνήμη κατά 60%».
Η έρευνα της ομάδας κέρδισε το βραβείο Community Award στην εκδήλωση USENIX Symposium on Networked Systems Design and Implementation τον περασμένο μήνα.
Η πλειονότητα των υπολογιστών, π.χ από προσωπικούς φορητούς υπολογιστές έως διακομιστές που φιλοξενούν εκατομμύρια επισκέπτες, αποθηκεύουν τα στοιχεία σε ένα από τα δύο εξής συστήματα: Στους σκληρούς δίσκους ή στη δυναμική μνήμη τυχαίας προσπέλασης (DRAM). Οι σκληροί δίσκοι αποθηκεύουν τα στοιχεία μόνιμα, ενώ το DRAM φιλοξενεί αντικείμενα κατά παραγγελία, όπως αρχεία που είναι αποθηκευμένα στην προσωρινή μνήμη. Τα στοιχεία στο DRAM μπορούν να ανακτηθούν γρήγορα, αλλά το DRAM είναι σχετικά ένα μικρός χώρος αποθήκευσης, ακριβός σε κόστος και συνάμα καταναλώνει ενέργεια. Η χρήση αυτού του περιορισμένου χώρου ήταν πάντα ένα δύσκολο πρόβλημα προσπάθησαν αρκετοί ερευνητές να το λύσουν όλα αυτά τα χρόνια, αλλά δυστυχώς δεν το κατάφεραν.
Όταν ανοίγετε κάθε φορά το Twitter, τα tweets που εμφανίζονται πρώτα στη ροή του προφίλ είναι αποθηκευμένα στην προσωρινή μνήμη. Χωρίς αυτή τη διαδικασία, η φόρτωση της αρχικής σελίδας θα απαιτούσε από το σύστημα να προβεί σε ανάκτηση των πρόσφατων tweet από όλα τα άτομα που ακολουθείτε από τον σκληρό δίσκο – κάτι που απαιτεί πολύ χρόνο και καταναλώνει πολύτιμους πόρους από το σύστημα.
Το Segcache εφαρμόζει δύο τεχνικές για καλύτερη χρήση του χώρου προσωρινής αποθήκευσης. Πρώτον, ομαδοποιεί τα στοιχεία για να επιτρέπεται η κοινή χρήση μεταδεδομένων μεταξύ τους. Τα στοιχεία στην προσωρινή μνήμη είναι συνήθως μικρά – το πιο συνηθισμένο μήκος ενός tweet είναι 33 χαρακτήρες. Ωστόσο, τα υπάρχοντα συστήματα αποθηκεύουν μεγάλες ποσότητες μεταδεδομένων για κάθε στοιχείο, σπαταλώντας πολύτιμο χώρο προσωρινής αποθήκευσης. Η ομαδοποίηση παρόμοιων στοιχείων και η κοινή χρήση των μεταδεδομένων μειώνει αυτή την γενική κατασπατάληση πόρων και χρησιμοποιεί την προσωρινή μνήμη πιο αποτελεσματικά.
Η δεύτερη τεχνική είναι ο επανασχεδιασμός του συστήματος για τον πιο αποτελεσματικό εντοπισμό και αφαίρεση των στοιχείων που έχουν λήξει. Τα στοιχεία που έχουν αποθηκευτεί στην προσωρινή μνήμη έχουν συνήθως μικρή διάρκεια ζωής και όταν τα στοιχεία που έχουν λήξει παραμένουν στην κρυφή μνήμη καταλαμβάνουν άσκοπα πολύτιμο χώρο. Η νέα σχεδίαση αφαιρεί αυτά τα στοιχεία πιο γρήγορα και με λιγότερες σαρώσεις από τις υπάρχουσες προσεγγίσεις, οι οποίες σαρώσουν περιοδικά όλα τα αντικείμενα.
Οι Yang και Vinayak δήλωσαν ότι η συνεργασία με το Twitter ήταν κρίσιμη για να φέρουν εις πέρας αυτό το δύσκολο έργο, καθώς η εταιρεία τους επέτρεψε να μελετήσουν ενδελεχώς το σύστημα της πλατφόρμας. Το Twitter εργάζεται τώρα για να ενσωματώσει την ερευνητικό έργο της ομάδας στο σύστημα της.
Διαβάστε επίσης: