Mini ITX Cluster Turing Pi 2 με 32 GB RAM

Mini ITX Cluster Turing Pi 2 με 32 GB RAM

Χαιρετισμούς στην κοινότητα του Habr! Έγραψα πρόσφατα για την πρώτη μας έκδοση του πίνακα συμπλέγματος [V1]. Και σήμερα θέλω να σας πω πώς δουλέψαμε στην έκδοση Turing V2 με 32 GB μνήμη τυχαίας προσπέλασης.

Μας αρέσουν οι μίνι διακομιστές που μπορούν να χρησιμοποιηθούν τόσο για τοπική ανάπτυξη όσο και για τοπική φιλοξενία. Σε αντίθεση με τους επιτραπέζιους υπολογιστές ή τους φορητούς υπολογιστές, οι διακομιστές μας έχουν σχεδιαστεί για να λειτουργούν 24/7, μπορούν να συνδεθούν γρήγορα, για παράδειγμα, υπήρχαν 4 επεξεργαστές σε ένα σύμπλεγμα και μετά από 5 λεπτά υπήρχαν 16 επεξεργαστές (χωρίς πρόσθετο εξοπλισμό δικτύου) και όλα αυτά σε συμπαγή μορφή αθόρυβο και ενεργειακά αποδοτικό.

Η αρχιτεκτονική των διακομιστών μας βασίζεται στην αρχή του cluster της κατασκευής, δηλ. φτιάχνουμε πίνακες συμπλέγματος που, χρησιμοποιώντας το δίκτυο ethernet στην πλακέτα, συνδέουν πολλές υπολογιστικές μονάδες (επεξεργαστές). Για να απλοποιήσουμε, δεν φτιάχνουμε ακόμη τις δικές μας υπολογιστικές μονάδες, αλλά χρησιμοποιούμε τις μονάδες υπολογισμού Raspberry Pi και ελπίζαμε πραγματικά για τη νέα μονάδα CM4. Όμως, όλα πήγαν κόντρα στα σχέδια με τη νέα τους μορφή και νομίζω ότι πολλοί είναι απογοητευμένοι.

Κάτω από το κόψιμο, πώς περάσαμε από το V1 στο V2 και πώς έπρεπε να βγούμε με το νέο Raspberry Pi CM4.

Έτσι, μετά τη δημιουργία ενός συμπλέγματος για 7 κόμβους, οι ερωτήσεις είναι - τι ακολουθεί; Πώς να αυξήσετε την αξία ενός προϊόντος; 8, 10 ή 16 κόμβοι; Ποιοι κατασκευαστές μονάδων; Σκεπτόμενοι το προϊόν στο σύνολό του, συνειδητοποιήσαμε ότι το κύριο πράγμα εδώ δεν είναι ο αριθμός των κόμβων ή ποιος είναι ο κατασκευαστής, αλλά η ίδια η ουσία των συστάδων ως δομικό στοιχείο. Πρέπει να αναζητήσουμε το ελάχιστο δομικό στοιχείο αυτό

Η πρώτη, θα είναι ένα σύμπλεγμα και ταυτόχρονα θα μπορεί να συνδέει δίσκους και πλακέτες επέκτασης. Το μπλοκ συμπλέγματος θα πρέπει να είναι ένας αυτάρκης κόμβος βάσης και με ένα ευρύ φάσμα επιλογών επέκτασης.

Η δεύτερη, έτσι ώστε τα ελάχιστα μπλοκ συμπλέγματος να μπορούν να συνδεθούν μεταξύ τους δημιουργώντας συμπλέγματα μεγαλύτερου μεγέθους και ώστε να είναι αποτελεσματικό όσον αφορά τον προϋπολογισμό και την ταχύτητα κλιμάκωσης. Η ταχύτητα κλιμάκωσης πρέπει να είναι μεγαλύτερη από τη σύνδεση συνηθισμένων υπολογιστών σε ένα δίκτυο και πολύ φθηνότερη από το υλικό διακομιστή.

Τρίτη, οι ελάχιστες μονάδες συμπλέγματος θα πρέπει να είναι επαρκώς συμπαγείς, κινητές, ενεργειακά αποδοτικές, οικονομικά αποδοτικές και όχι απαιτητικές για τις συνθήκες λειτουργίας. Αυτή είναι μια από τις βασικές διαφορές από τα rack server και όλα όσα συνδέονται με αυτά.

Ξεκινήσαμε προσδιορίζοντας τον αριθμό των κόμβων.

Αριθμός κόμβων

Με απλές λογικές κρίσεις, συνειδητοποιήσαμε ότι οι 4 κόμβοι είναι η καλύτερη επιλογή για το ελάχιστο μπλοκ συμπλέγματος. 1 κόμβος δεν είναι σύμπλεγμα, 2 κόμβοι δεν επαρκούν (1 κύριος 1 εργαζόμενος, δεν υπάρχει δυνατότητα κλιμάκωσης σε ένα μπλοκ, ειδικά για ετερογενείς επιλογές), 3 κόμβοι φαίνονται εντάξει, αλλά όχι πολλαπλάσιο των δυνάμεων του 2 και κλιμάκωση εντός ένα μπλοκ είναι περιορισμένο, 6 κόμβοι έχουν τιμή σχεδόν όπως 7 κόμβοι (από την εμπειρία μας αυτή είναι ήδη μια μεγάλη τιμή κόστους), 8 είναι πολλά, δεν ταιριάζουν στον παράγοντα μορφής mini ITX και μια ακόμη πιο ακριβή λύση PoC.

Τέσσερις κόμβοι ανά μπλοκ θεωρούνται ο χρυσός μέσος όρος:

  • λιγότερα υλικά ανά πίνακα συστοιχίας, επομένως φθηνότερη κατασκευή
  • πολλαπλάσιο των 4, συνολικά 4 μπλοκ δίνουν 16 φυσικούς επεξεργαστές
  • σταθερό κύκλωμα 1 κύριος και 3 εργάτες
  • πιο ετερογενείς παραλλαγές, ενότητες γενικού υπολογισμού + επιταχυνόμενου υπολογισμού
  • mini ITX form factor με μονάδες SSD και κάρτες επέκτασης

Υπολογιστικές ενότητες

Η δεύτερη έκδοση βασίζεται στο CM4, πιστεύαμε ότι θα κυκλοφορήσει σε μορφή SODIMM. Αλλά…
Αποφασίσαμε να φτιάξουμε μια θυγατρική κάρτα SODIMM και να συναρμολογήσουμε το CM4 απευθείας σε μονάδες, έτσι ώστε οι χρήστες να μην χρειάζεται να σκέφτονται το CM4.

Mini ITX Cluster Turing Pi 2 με 32 GB RAM
Υπολογιστική μονάδα Turing Pi που υποστηρίζει Raspberry Pi CM4

Γενικά, σε αναζήτηση μονάδων, άνοιξε μια ολόκληρη αγορά υπολογιστικών μονάδων από μικρές μονάδες με 128 MB RAM έως 8 GB RAM. Οι μονάδες με 16 GB RAM και περισσότερες είναι μπροστά. Για τη φιλοξενία εφαρμογών αιχμής που βασίζεται σε εγγενείς τεχνολογίες cloud, το 1 GB μνήμης RAM δεν είναι ήδη αρκετό και η πρόσφατη εμφάνιση μονάδων για 2, 4, ακόμη και 8 GB μνήμης RAM παρέχει καλό περιθώριο ανάπτυξης. Εξέτασαν ακόμη και επιλογές με ενότητες FPGA για εφαρμογές μηχανικής εκμάθησης, αλλά η υποστήριξή τους έχει καθυστερήσει επειδή το οικοσύστημα λογισμικού δεν έχει αναπτυχθεί. Κατά τη μελέτη της αγοράς των μονάδων, καταλήξαμε στην ιδέα της δημιουργίας μιας καθολικής διεπαφής για μονάδες και στο V2 αρχίζουμε να ενοποιούμε τη διεπαφή των μονάδων υπολογιστών. Αυτό θα επιτρέψει στους κατόχους της έκδοσης V2 να συνδέσουν μονάδες από άλλους κατασκευαστές και να τις συνδυάσουν για συγκεκριμένες εργασίες.

Το V2 υποστηρίζει ολόκληρη τη σειρά Raspberry Pi 4 Compute Module (CM4), συμπεριλαμβανομένων των εκδόσεων Lite και των μονάδων RAM 8 GB

Mini ITX Cluster Turing Pi 2 με 32 GB RAM

Περιφέρεια

Αφού προσδιορίσαμε τον προμηθευτή των μονάδων και τον αριθμό των κόμβων, προσεγγίσαμε τον δίαυλο PCI στον οποίο βρίσκονται τα περιφερειακά. Ο δίαυλος PCI είναι το πρότυπο για περιφερειακά και βρίσκεται σχεδόν σε όλες τις υπολογιστικές μονάδες. Έχουμε αρκετούς κόμβους και ιδανικά, κάθε κόμβος θα πρέπει να μπορεί να μοιράζεται συσκευές PCI σε λειτουργία ταυτόχρονης αίτησης. Για παράδειγμα, εάν είναι ένας δίσκος συνδεδεμένος στο δίαυλο, τότε είναι διαθέσιμος σε όλους τους κόμβους. Αρχίσαμε να ψάχνουμε για διακόπτες PCI με υποστήριξη πολλαπλών κεντρικών υπολογιστών και διαπιστώσαμε ότι κανένας από αυτούς δεν ανταποκρίνεται στις απαιτήσεις μας. Όλες αυτές οι λύσεις περιορίζονταν κυρίως σε 1 κεντρικό υπολογιστή ή πολλούς κεντρικούς υπολογιστές, αλλά χωρίς τη λειτουργία ταυτόχρονων αιτημάτων σε τελικά σημεία. Το δεύτερο πρόβλημα είναι το υψηλό κόστος των 50 $ ή περισσότερο ανά τσιπ. Στο V2, αποφασίσαμε να αναβάλουμε τα πειράματα με διακόπτες PCI (θα επιστρέψουμε σε αυτά αργότερα καθώς αναπτύσσουμε) και ακολουθήσαμε την πορεία της ανάθεσης ενός ρόλου για κάθε κόμβο: οι δύο πρώτοι κόμβοι εξέθεσαν τη θύρα mini PCI express ανά κόμβο, ο τρίτος κόμβος εκτεθειμένος ελεγκτής SATA 2 θυρών 6 Gbps . Για πρόσβαση σε δίσκους από άλλους κόμβους, μπορείτε να χρησιμοποιήσετε το σύστημα αρχείων δικτύου μέσα στο σύμπλεγμα. Γιατί όχι?

Sneakpeek

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

Mini ITX Cluster Turing Pi 2 με 32 GB RAMMini ITX Cluster Turing Pi 2 με 32 GB RAMMini ITX Cluster Turing Pi 2 με 32 GB RAM

Ως αποτέλεσμα, καταλήξαμε σε μια μονάδα συμπλέγματος με 4 κόμβους 260 ακίδων, 2 θύρες mini PCIe (Gen 2), 2 θύρες SATA (Gen 3). Η πλακέτα διαθέτει διαχειριζόμενο διακόπτη Layer-2 με υποστήριξη VLAN. Από τον πρώτο κόμβο έχει αφαιρεθεί μια θύρα mini PCIe, στην οποία μπορείτε να εγκαταστήσετε μια κάρτα δικτύου και να αποκτήσετε μια άλλη θύρα Ethernet ή μόντεμ 5G και να δημιουργήσετε έναν δρομολογητή για το δίκτυο στο σύμπλεγμα και τις θύρες Ethernet από τον πρώτο κόμβο.

Mini ITX Cluster Turing Pi 2 με 32 GB RAM

Ο δίαυλος συμπλέγματος έχει περισσότερες δυνατότητες, συμπεριλαμβανομένης της δυνατότητας να αναβοσβήνει τις μονάδες απευθείας μέσω όλων των υποδοχών και φυσικά τις υποδοχές FAN σε κάθε κόμβο με έλεγχο ταχύτητας.

Εφαρμογή

Υποδομή αιχμής για αυτο-φιλοξενούμενες εφαρμογές και υπηρεσίες

Σχεδιάσαμε το V2 ώστε να είναι το ελάχιστο δομικό στοιχείο για μια υποδομή αιχμής καταναλωτικής/εμπορικής ποιότητας. Με το V2, είναι φθηνό να ξεκινήσετε το proof-of-concept και να κλιμακώνεστε καθώς μεγαλώνετε, μεταφέροντας σταδιακά εφαρμογές που είναι πιο οικονομικές και πρακτικές για φιλοξενία στο edge. Τα μπλοκ συμπλέγματος μπορούν να συνδεθούν μεταξύ τους για να δημιουργήσουν μεγαλύτερα συμπλέγματα. Αυτό μπορεί να γίνει σταδιακά χωρίς μεγάλο κίνδυνο να καθιερωθεί
διαδικασίες. Ήδη σήμερα υπάρχει ένας τεράστιος αριθμός αιτήσεων για επιχειρήσεις, που μπορεί να φιλοξενηθεί τοπικά.

Σταθμός εργασίας ARM

Με έως και 32 GB RAM ανά σύμπλεγμα, ο πρώτος κόμβος μπορεί να χρησιμοποιηθεί για την επιτραπέζια έκδοση του λειτουργικού συστήματος (για παράδειγμα, Ubuntu Desktop 20.04 LTS) και οι υπόλοιποι 3 κόμβοι για εργασίες μεταγλώττισης, δοκιμών και εντοπισμού σφαλμάτων, ανάπτυξη εγγενών λύσεων cloud για ARM συστάδες. Ως κόμβος για CI / CD στην υποδομή άκρων ARM στην παραγωγή.

Το σύμπλεγμα Turing V2 με μονάδες CM4 είναι σχεδόν πανομοιότυπο αρχιτεκτονικά (διαφορά στις δευτερεύουσες εκδόσεις του ARMv8) με το σύμπλεγμα που βασίζεται σε στιγμιότυπα AWS Graviton. Ο επεξεργαστής μονάδας CM4 χρησιμοποιεί την αρχιτεκτονική ARMv8, ώστε να μπορείτε να δημιουργήσετε εικόνες και εφαρμογές για παρουσίες AWS Graviton 1 και 2, οι οποίες είναι γνωστό ότι είναι πολύ φθηνότερες από τις παρουσίες x86.

Πηγή: www.habr.com