Yandex άνοιξε τον κώδικα του YaFF (μειώνει τη χρήση της CPU έως και 20%)

Η Yandex αποφάσισε να ανοίξει (open source) το YaFF (είναι μια συντομογραφία του Yet Another Flat Format). Το YaFF είναι μια βιβλιοθήκη σειριοποίησης C++ ανοιχτού κώδικα που αναπτύχθηκε από τη Yandex. Έχει σχεδιαστεί για να εξαλείφει το κόστος αποσυμπίεσης (deserialization) σε εφαρμογές με υψηλό φόρτο δεδομένων, μειώνοντας τη χρήση της CPU έως και 20%

Η εταιρεία αναφέρει ότι το YaFF σχεδιάστηκε για να λύσει ένα κοινό πρόβλημα με το Protobuf, την ευρέως χρησιμοποιούμενη τεχνολογία σειριοποίησης δεδομένων. Ενώ το Protobuf είναι αποτελεσματικό για τη μετάδοση δεδομένων, οι εφαρμογές συνήθως πρέπει να αποσειριοποιήσουν αυτά τα δεδομένα πριν μπορέσουν να τα χρησιμοποιήσουν. Σύμφωνα με την Yandex, αυτή η διαδικασία μπορεί να καταναλώσει έως και το 10% των διαθέσιμων πόρων CPU σε μεγάλα συστήματα.

Ανακαλύψτε περισσότερα άρθρα στα αποτελέσματα αναζήτησης.

Το YaFF υιοθετεί μια διαφορετική προσέγγιση. Αντί να αναγκάζει τις εφαρμογές να αποσειριοποιούν δεδομένα πριν αποκτήσουν πρόσβαση σε αυτά, η τεχνολογία επιτρέπει την άμεση πρόσβαση, ενώ παραμένει συμβατή με τα υπάρχοντα σχήματα και τα workflows του Protobuf. Με άλλα λόγια, οι προγραμματιστές μπορεί να είναι σε θέση να επιτύχουν βελτιώσεις στην απόδοση χωρίς να ξαναγράψουν εφαρμογές ή να χρησιμοποήσουν μια εντελώς διαφορετική μορφή.

Αυτή η συμβατότητα είναι το μεγαλύτερο πλεονέκτημα του project. Τεχνολογίες όπως το FlatBuffers υπάρχουν ήδη για την αντιμετώπιση παρόμοιων προκλήσεων, αλλά η μετάβαση σε μια νέα μορφή μπορεί να είναι δαπανηρή και χρονοβόρα. Η Yandex αναφέρει ότι το YaFF λειτουργεί παράλληλα με την υπάρχουσα υποδομή Protobuf, καθιστώντας την υιοθέτηση πολύ πιο εύκολη.

Η εταιρεία ισχυρίζεται ότι το YaFF χρησιμοποιείται ήδη στην πλατφόρμα διαφήμισής της, η οποία επεξεργάζεται εκατοντάδες χιλιάδες αιτήματα ανά δευτερόλεπτο. Σε αυτό το περιβάλλον, η Yandex αναφέρει ότι η τεχνολογία μείωσε τη χρήση της CPU κατά 10 έως 20 τοις εκατό.

Φυσικά, αυτοί οι αριθμοί θα πρέπει να αντιμετωπίζονται με κάποια προσοχή μέχρι να βρουν χρόνο οι ανεξάρτητοι προγραμματιστές να αξιολογήσουν την τεχνολογία στα δικά τους περιβάλλοντα. Ωστόσο, η ιδέα είναι ενδιαφέρουσα. Εάν το YaFF μπορεί να προσφέρει σημαντικά ωφέλη στην απόδοση χωρίς να χρειάζονται σημαντικές αρχιτεκτονικές αλλαγές, θα μπορούσε να βρει κοινό μεταξύ των προγραμματιστών που ασχολούνται με backend συστήματα υψηλού φορτίου.

Η Yandex κυκλοφόρησε το YaFF με άδεια Apache 2.0 και διαθέτει τον πηγαίο κώδικα στο GitHub.


google preferences

Leave a Comment

Η ηλ. διεύθυνση σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *

Το μήνυμα σας δεν θα δημοσιευτεί εάν:
1. Περιέχει υβριστικά, συκοφαντικά, ρατσιστικά, προσβλητικά ή ανάρμοστα σχόλια.
2. Προκαλεί βλάβη σε ανηλίκους.
3. Παρενοχλεί την ιδιωτική ζωή και τα ατομικά και κοινωνικά δικαιώματα άλλων χρηστών.
4. Διαφημίζει προϊόντα ή υπηρεσίες ή διαδικτυακούς τόπους .
5. Περιέχει προσωπικές πληροφορίες (διεύθυνση, τηλέφωνο κλπ).