Τα μεγαλύτερα σημεία συμφόρησης κατά τη δημιουργία Android από την πηγή

Αναρωτιέστε ποια σημεία συμφόρησης δημιουργεί το έργο AOSP; Ο Dan μοιράζεται τα ευρήματά του -- τα οποία μπορεί να εκπλήξουν τους αναγνώστες ως προς το τι προκαλεί και τι δεν προκαλεί συμφόρηση.

Ενημέρωση 19/4 12 μ.μ. CT: Οι ξεκαθαρισμένοι χρόνοι δημιουργίας είναι οι χρόνοι δημιουργίας της ccache.Ενημέρωση 20/4, 9:17 π.μ. CT: Το Build 3 σίγουρα δεν ήταν RAID 1. Διορθώθηκε αυτό το σφάλμα.

Το 2012 άρχισα να φτιάχνω πυρήνες -- και βασίστηκα στον αξιόπιστο Core 2 Quad Q9550 για την κατασκευή του. Αν αυτό δεν ήταν άξιο τσακίσματος, το γεγονός ότι το έκανα σε εικονική μηχανή μέσα στα Windows πιθανότατα θα διασφαλίσει ότι για τους περισσότερους ανθρώπους που κατασκευάζουν Android από την πηγή.

Ένα εικονικοποιημένο περιβάλλον Ubuntu δεν λειτουργεί τόσο καλά όσο ένα εγγενές περιβάλλον και ω, πόσο οδυνηρό έγινε εμφανές όταν ένας πυρήνας χρειάστηκε πάνω από 2 ώρες για να δημιουργηθεί. Καθώς ήθελα να ξεκινήσω την κατασκευή Android από την πηγή το επόμενο έτος, ήξερα ότι το τρέχον υλικό μου δεν θα το έκανε κόψτε το -- και έτσι ξεκίνησε ένα μακρύ και συνεχιζόμενο ταξίδι για να βρείτε έναν τρόπο να μειώσετε αυτή την ολοένα αυξανόμενη κατασκευή χρόνος.

Στα χρόνια από τότε, είχα την τύχη να δοκιμάζω σε πολλαπλούς παράγοντες μορφής και πλατφόρμες. Αυτό είναι σημαντικό, καθώς οι διαμορφώσεις έκδοσης δεν είναι μια κατάσταση που ταιριάζει σε όλους με το Android. Ένας προγραμματιστής εφαρμογών μπορεί να μην χρειάζεται την ίδια διαμόρφωση με τον προγραμματιστή παιχνιδιών. Και κάποιος που κατασκευάζει πυρήνες μόνο μπορεί να μην χρειάζεται να ξοδέψει τόσα πολλά όσο κάποιος που χρειάζεται να δημιουργήσει μια πλήρη Android ROM από την πηγή σε πολύ σύντομο χρονικό διάστημα. Και τι γίνεται με την επιλογή λειτουργικού συστήματος -- τι μπορεί (και δεν μπορεί) να χρησιμοποιηθεί αυτήν τη στιγμή; Ελπίζω να το εξερευνήσω περισσότερο επίσης, ειδικά με Τα Windows και η Canonical εργάζονται για να φέρουν ένα πλήρες Bash στα Windows 10.

Για να ξεκινήσει σωστά αυτή η σειρά, πρέπει να βρούμε πού βρίσκονται τα μεγαλύτερα πιθανά σημεία συμφόρησης στην κατασκευή έργων AOSP από την πηγή. Δεν πηγαίνουμε συχνά για αγορές για υπολογιστή ή αναβαθμίσεις χωρίς να ξέρουμε πού να βάλουμε τα χρήματά σας. Με βάση λοιπόν 3 χρόνια έρευνας και μετρήσιμα αποτελέσματα, είμαι έτοιμος να μοιραστώ ό, τι βρήκα. Τώρα η αναμενόμενη δήλωση αποποίησης ευθύνης: Αυτά τα ευρήματα βασίζονται σε προσωπικές εμπειρίες και δεν μπορούν ενδεχομένως να επηρεάσουν όλους τους συνδυασμούς. Όσοι από εσάς έχετε τη δική σας διαμόρφωση κατασκευής, ακούγεται ο ήχος και πείτε μας πώς πάνε οι κατασκευές σας! Οι καιροί αναφέρονται επίσης σε εκδόσεις με ενεργοποιημένη και συμπληρωμένη την ccache - ήταν συνήθως διπλή όταν η ccache δεν είχε συμπληρωθεί ακόμα.

Είσοδος/Έξοδος δίσκου: Πρέπει να δώσω ένα καπέλο στον Tom Marshall της Cyanogen - επίσης α μέλος της ομάδας Kang - που με έδειξε προς αυτή την κατεύθυνση πέρυσι. Ειλικρινά δεν τον πίστεψα όταν μου είπε ότι αυτό θα ήταν ο συμφόρηση πάνω από τη CPU. Αλλά τους τελευταίους 6 μήνες μπόρεσα να δημιουργήσω αντίγραφα ασφαλείας με μετρήσιμα δεδομένα. Σε επεξεργαστές ανώτερης ποιότητας (όπως τα περισσότερα μοντέλα επιτραπέζιου υπολογιστή Intel Core i7) αυτό είναι το κορυφαίο σημείο συμφόρησης που θα αντιμετωπίσει το σύστημά σας.

Ας πάρουμε 4 διαμορφώσεις κατασκευής στις οποίες το έχω δοκιμάσει. Θα επισημάνω εδώ την CPU,

  • Το Build 1, ο "μη αναβαθμισμένος" υπολογιστής μου, ήταν ένας Intel i7-4790K με 32 GB μνήμης RAM DDR3-2400, ένας Samsung 840 Evo 250 GB για τον κύριο δίσκο μου και ένας παλαιότερος Micron P400E 100 GB.
  • Το Build 2, το οποίο ήταν η αναβαθμισμένη έκδοση του Build 1. Τώρα διαθέτει έναν Intel i7-5960X υπερχρονισμένο στα 4,0 GHz, 32 GB μνήμης RAM DDR4-3200, έναν SSD Samsung SM951 512 GB AHCI m.2 μαζί με τους δύο προηγούμενους SSD. Οι πλήρεις προδιαγραφές κατασκευής για αυτό βρίσκονται στο PCPartPicker.
  • Το Build 3, μια πρόσφατη έκδοση χρήστη, διέθετε έναν Intel i7-5820K υπερχρονισμένο στα 4,2 GHz, 16 GB DDR4-2400 και 2 Samsung 840 EVO 120 GB σε διαμόρφωση RAID0 (ριγέ).
  • Build 4, μια πρόσφατη έκδοση διακομιστή που διαθέτει Intel Xeon E3-1270 v5 σε κανονικές ταχύτητες, 32 GB DDR4-2133, Samsung 950 Pro 512 GB NVMe m.2 μαζί με 4 SATA Samsung business SSD σε συστοιχία RAID5.

Αν κοιτούσατε μόνο αυτά, ποιο θα πιστεύατε ότι πέτυχε τον χαμηλότερο χρόνο κατασκευής; Τι θα λέγατε για το δεύτερο; Προς έκπληξή μου, δεν ήταν η δεύτερη διαμόρφωση που χρειάστηκε τον μικρότερο χρόνο κατασκευής - ήταν η τρίτη διαμόρφωση, στο λίγο λιγότερο από 14 λεπτά για την κατασκευή του CyanogenMod 13.0. Οπότε σίγουρα η κυρίαρχη CPU θα έπαιρνε τη δεύτερη θέση, σωστά? Πάλι λάθος. Το Build 4, στο οποίο μόλις τελείωσα τις δοκιμές, κράτησε κάτι περισσότερο από 25 λεπτά! Μόνο εδώ βρίσκεται η τρέχουσα κατασκευή μου, 2 λεπτά πιο αργά από ένα σύστημα με τους μισούς πυρήνες και threads αλλά μια συστοιχία SSD 3 SSD, ενώ οι SSD μου ήταν αυτόνομοι. Το SM951 είναι επίσης γνωστό ότι έχει προβλήματα γκαζιού αν ζεσταθεί πολύ, κάτι που θα μπορούσε να είναι πολύ πραγματικός παράγοντας σε αυτήν την περίπτωση. Η πρώτη και πιο αργή κατασκευή κράτησε περίπου 30 λεπτά, μια από τις μοναδικές φορές που είχα φτιάξει το CM 13.0. Έχω ακούσει για παρόμοιες διαμορφώσεις κατασκευής που το κάνουν στο 27.

Οι SSD ήταν επίσης ένα δύσκολο στοιχείο για να αποκτήσετε, οπότε υπήρχε πολύ λίγη συζήτηση για το θέμα. Ωστόσο, οι τιμές έχουν μειωθεί δραματικά τόσο στη λιανική όσο και στις αγορές μεταχειρισμένων κατά το τελευταίο έτος. Με 120 GB SSD τώρα κάτω από 50 $, δεν είναι το εμπόδιο που ήταν κάποτε για να προσθέσετε έναν σε ένα σύστημα. Οι παραδοσιακοί σκληροί δίσκοι θα κάνουν επίσης τη δουλειά, αλλά οι χρήστες είναι πιο πιθανό να φτάσουν σε αυτό το σημείο συμφόρησης πριν από άλλους, εάν δεν χρησιμοποιούν SSD.

CPU SleepΕΠΕΞΕΡΓΑΣΤΗΣ: Όταν αναφέρω παραπάνω ότι το κορυφαίο σημείο συμφόρησης είναι η είσοδος/έξοδος του δίσκου, ψήνεται με μια υπόθεση που μπορεί να μην ισχύει πάντα - καθεμία από αυτές τις εκδόσεις που χρησιμοποίησα διέθετε Intel Core i7. Όμως, όπως διαπίστωσα με τον διακομιστή Xeon, ο δίσκος συνεχίζει, αλλά στη συνέχεια διατηρεί και τα 8 νήματα της CPU σε υψηλή χρήση μέσω της πιο βαριάς διαδικασίας κατασκευής. Και όσο και να προσπαθήσω, χωρίς τη συστοιχία RAID που βρήκαμε παραπάνω, δεν βρίσκω ότι το Haswell-E μου έχει σχεδόν χρησιμοποιηθεί πλήρως για το μεγαλύτερο μέρος της διαδικασίας κατασκευής. Έτσι, αν ψάχνετε για το καλύτερο δυνατό κέρδος για τα κτίρια σας, σκεφτείτε το Intel i7-5820K.

Αλήθεια, είναι X99 και έτσι η μητρική μπορεί να είναι πιο ακριβή από μια μητρική Z97. αλλά είμαστε ακόμη στο πρώτο έτος του κύκλου X99. Οι τιμές για το Broadwell-E αναμένεται επίσης να παραμείνουν παρόμοιες με το Haswell-E κατά την κυκλοφορία, πράγμα που σημαίνει ότι θα πρέπει να μπορείτε να αγοράσετε στο τμήμα των ενθουσιωδών σχεδόν στην ίδια τιμή με ένα i7-4790K ή i7-6700K.

Στην Intel δεν υπάρχει πολύς λόγος να πάτε πέρα ​​από τα 5820K αυτή τη στιγμή, καθώς μπορείτε να έχετε εντυπωσιακούς χρόνους κατασκευής με αυτό. Ως επί το πλείστον, όσο υψηλότερος είναι ο αριθμός πυρήνων/νημάτων παρακάτω, μαζί με τις ταχύτητες του επεξεργαστή, θα έχετε ταχύτερο χρόνο κατασκευής. Ένα i7-4770R σε ένα Brix της GIGABYTE πέρυσι μου έδωσε κατά μέσο όρο 42 λεπτά κατασκευής. Αν και δεν ήταν το ταχύτερο, ταίριαζε στις ανάγκες μου και μου επέτρεψε να έχω μια αποκλειστική διαμόρφωση χαμηλής κατανάλωσης. Το ίδιο θα βρείτε και με τις APU της AMD - αν και μπορεί να μην αποδίδουν αυτήν τη στιγμή το ίδιο καλά με τις αντίστοιχες Intel, θα κάνουν εύκολα τη δουλειά τους και συνήθως σε χαμηλότερη τιμή από την αγορά της Intel. Αυτή είναι μια κατάσταση που παρακολουθώ στενά γιατί αν οι φήμες είναι αληθινές, τότε οι APU που βασίζονται στο Zen μπορεί να κλείσουν σημαντικά αυτό το κενό.

Υπάρχει ένα αποτέλεσμα για όσους από εσάς θα επιλέξουν να αφαιρέσουν αυτά τα σημεία συμφόρησης, κάτι που ισχύει περισσότερο για οικιακούς χρήστες παρά για το γραφείο. Η γενική απόδοση θα αυξηθεί σε ένα σύστημα αφαιρώντας αυτά τα σημεία συμφόρησης. Ειδικά οι παίκτες θα διαπιστώσουν ότι η αναβάθμιση για την αντιμετώπιση αυτών των σημείων συμφόρησης θα αυξήσει σε όλες σχεδόν τις περιπτώσεις την απόδοση του παιχνιδιού. Αν και μπορεί να μην κέρδισε τον ταχύτερο χρόνο κατασκευής, αυτή η δεύτερη κατασκευή προκάλεσε μια απροσδόκητη έκπληξη -- χρόνο φόρτωσης 30 δευτερολέπτων Just Cause 3 όταν πολλοί άλλοι παραπονιούνταν για χρόνους φόρτωσης σε λεπτά. Τελικά αυτοί οι χρόνοι κατασκευής είναι πραγματικά υψηλοί και μπορεί να είναι υπερβολικοί για πολλούς... αλλά τουλάχιστον τώρα το επιχείρημα ότι περισσότεροι πυρήνες θα σημαίνουν πιο γρήγορες κατασκευές έχει τελικά σταματήσει.

Δεδομένου ότι αυτή είναι μόνο η αρχή, ελπίζουμε οι αναγνώστες να ενημερωθούν και να μοιραστούν τις εμπειρίες κατασκευής τους σε διάφορες διαμορφώσεις. Ως αναγνώστης θέλετε να δείτε περισσότερες συζητήσεις για τέτοιου είδους θέματα; Ακούγεται στα σχόλια παρακάτω!