Intel Xeon Phi: Μια περιήγηση στον 50-πύρηνο πρωταθλητή
Στο extremetech.com είχανε πρόσφατα την ευκαιρία να μιλήσουν με την Intel για τον επερχόμενο Xeon Phi/Many Integrated Core (MIC), και να συζητήσουν πώς αυτό είναι ένας ζωτικής σημασίας βήμα στην πορεία τους προς exascale computing. Η Intel δεν είναι έτοιμη να αποκαλύψει τις πλήρεις τεχνικές προδιαγραφές, αλλά μια σειρά από επιστημονικά και ερευνητικά ιδρύματα έχουν κυκλοφορήσει έγγραφα με λεπτομέριες από την εμπειρία τους με τον Knights Ferry, τον προκάτοχο του Xeon Phi. Για να είμαστε σαφείς σχετικά με την ορολογία, το MIC είναι μια αρχιτεκτονική, ενώ το Knights Ferry και το Knights Corner είναι συγκεκριμένες υλοποιήσεις της αρχιτεκτονικής αυτής, και το Xeon Phi είναι η εμπορική ονομασία υπό την οποία το KNC(Knights Corner) θα πωλείται! Στο extremetech.com είχανε πρόσφατα την ευκαιρία να μιλήσουν με την Intel για τον επερχόμενο Xeon Phi/Many Integrated Core (MIC), και να συζητήσουν πώς αυτό είναι ένας ζωτικής σημασίας βήμα στην πορεία τους προς exascale computing. Η Intel δεν είναι έτοιμη να αποκαλύψει τις πλήρεις τεχνικές προδιαγραφές, αλλά μια σειρά από επιστημονικά και ερευνητικά ιδρύματα έχουν κυκλοφορήσει έγγραφα με λεπτομέριες από την εμπειρία τους με τον Knights Ferry, τον προκάτοχο του Xeon Phi. Για να είμαστε σαφείς σχετικά με την ορολογία, το MIC είναι μια αρχιτεκτονική, ενώ το Knights Ferry και το Knights Corner είναι συγκεκριμένες υλοποιήσεις της αρχιτεκτονικής αυτής, και το Xeon Phi είναι η εμπορική ονομασία υπό την οποία το KNC(Knights Corner) θα πωλείται!
Της Intel το MIC το οποίο προφέρεται "Mike", ξεκίνησε ως μια υβριδική GPU/HPC (high-performance computing) που έγινε γνωστό ως Larrabee. Η Intel ανακοίνωσε επίσημα τον Larrabee το 2007 και σύντομα ισχυρίστηκε ότι η κάρτα αυτή θα εγκαινιάζε μια νέα εποχή στα ray-traced video games παράλληλα με απίστευτες επιδόσεις. Η Intel τοποθέτησε σε ένα ράφι τελικά τις φιλοδοξίες της για τη συγκεκριμένη υλοποίηση, όταν κατέστη σαφές ότι ο Larrabee δεν επρόκειτο να είναι σε θέση να ξεπεράσει το τότε διαθέσιμο high end hardware από το κόκκινο αλλά και το πράσινο στρατόπεδο, και "μετονόμασε" τον Larrabee από GPU/HPC σε σκέτο HPC Part. Η "μετονομασία" στην ιδιοτητα του έφερε και μετονομασία κανονική και απο Larrabee ονομάστηκε Knights Ferry (KNF), ενώ τέλος η Intel ξεκίνησε το shipping του σε HPC developers το 2010.
Πόσο έχει απομείνει λοιπόν από τον εσωτερικό κόσμο του Larrabee στο MIC της Intel; Εξαρτάται από το πού βλέπει κανείς. Όλο το display hardware και το integrated logic για το driving μιας GPU έχει εξαφανιστεί, αλλά οι number-crunching δυνατότητές από τους ίδιους τους πυρήνες εμφανίζονται σε μεγάλο βαθμό αμετάβλητες. Μια διαφορά που γνωρίζουμε είναι ότι ενώ ο Larrabee και ο KNF έχουν επικεντρωθεί στο single-precision floating point math, ο επερχόμενος Knights Corner θα προσφέρει ισχυρή διπλής ακρίβειας υποστήριξη επίσης. Συγκρίνετε το Larrabeeʼs block diagram απο πάνω με το Knights Ferry παρακάτω:
Ας μιλήσουμε λοιπόν για το Knights Corner/Xeon Phi. Αν και η Intel δεν δίνει πολλές λεπτομέρειες ακόμα, γνωρίζουμε ότι η αρχιτεκτονική θα "συσκευάζει" 50 ή περισσότερους πυρήνες και τουλάχιστον 8GB μνήμης RAM. Σε αυτό το διάστημα, η συνολική διαθέσιμη μνήμη είναι ένα σημαντικό χαρακτηριστικό. Ο Knights Ferry, με 32 πυρήνες και maximum 2GB μνήμης RAM, μπορούσε να προσφέρει μόνο 64MB μνήμης RAM ανά πυρήνα, ενώ ένας 50πύρηνος Xeon Phi με 8 έως 16GB μνήμης RAM θα μπορούσε να προσφέρει μεταξύ 163-327MB ανά πυρήνα.
Είναι λογικό να σκεφτείτε πως ο αριθμός των πυρήνων της Intel καθώς και το load της RAM θα ποικίλλει ανάλογα με τις αποδόσεις και τις ανάγκες των χρηστών/πελατών. Οι χρήστες/πελάτες με μεγάλα datasets μπορεί να δουν καλύτερη κλιμάκωση από ένα 50πύρηνο chip με 16 GB μνήμης RAM, ενώ τα μικρά datasets μπορεί να κάνουμε το καλύτερο δυνατό με 8GB Ram και 64 πυρήνες. Το layout του Aubrey Isle die στην καρδιά ενός Knights Ferry, που απεικονίζεται παραπάνω, δίνει σε ένα 64πύρηνο Chip μια ισχυρή πιθανότητα να μπορεί να βελτιώσει την απόδοση απενεργοποιώντας κάθε φορά διαφορετικό αριθμό πυρήνων!
Οι πυρήνες στην καρδιά του πρώτου Intel Phi βασίζονται στην P54C revision του original Pentium και εμφανίζονται σε μεγάλο βαθμό αμετάβλητοι από το σχεδιασμό που σκόπευε να χρησιμοποιήσει η Intel για τον Larrabee. Παρά την κάποια λογομαχία με την nVidia, σας συνιστούμε να μην συγχέεται τη λέξη "βασίζονται" με την λέξη "παρεμποδίζονται". Η Intel επέστρεψε στην μικροαρχιτεκτονική P5 για τους Larrabee δεδομένου ότι της έκανε καλή αίσθηση για να το κάνει - αλλά το Knights Corner δεν είναι ένα μάτσο hardware από τις αρχές του 1990 που το hardware κολλούνταν σε μια πλακέτα (PCB). Η Intel έχει προσθεσεί υποστήριξη 64-bit, μεγαλύτερη on-die cache (ο Pentium Classic δεν είχε ποτέ ένα on-die L2, ή μία L1 με 1-cycle latency ), ένα 512-bit, bi-directional ring bus που συνδέει το σύνολο της αρχιτεκτονικής, προηγμένο κύκλωμα για τη διαχείριση και την κατανάλωση ενέργειας, και 32 512-bit vector registers. Για να το συγκρίνεται, σκεφτείται πως ένας high end Core i7 σήμερα διαθέτει 16 256-bit AVX registers.
Συνεπώς, από υπολογιστική σκοπιά, το να καλεί κανείς το Knights Corner ένα "τροποποιημένο Pentium" είναι να σαν αποκαλεί το Enterprise (Star Trek) ένα τροποποιημένο σκαφάκι. Ο ανανεωμένος λοιπόν P54C πυρήνας θα μπορούσε να θεωρηθεί σαν τα στηρίγματα σε μία εξέδρα εκτόξευσης. Δηλαδή είναι το framework που χρησιμοποίησε η Intel για να δημιουργήσει κάτι καινούργιο, όχι το διαστημόπλοιο!
Είναι το Knights Corner συμβατό με x86; Η απάντηση της Intel μας λέει πως είναι ικανοποιητικά συμβατό. Σύμφωνα με το software blog της εταιρίας:
Υπάρχουν πολλά x86/x86-64 instructions, συμπεριλαμβανομένων και κάποιων αρκετά κοινών, τα οποία δεν θα υποστηρίζει το KNC. Δηλαδή, γνωστά instruction's όπως MMX, SSE, ή AVX μπορεί να μην υποστηρίζονται...ακόμη. Όμως, τα Vectorization και Scalar instructions που τα KNC/KNF εισήγαγαν, είναι αρκετά ξεχωριστά. Φυσικά, αυτό το "ακόμη" είναι πολύ σημαντικό μιας και η Intel σκοπεύει να ενοποιήσει τα instruction set της κάποια στιγμή στο μέλλον. Τα Transactional Synchronization Extensions (TSX), τα οποία είναι προγραμματισμένα να κάνουν το ντεμπούτο τους με τους Haswell, ενδεχομένως να είναι πολύ σημαντικά για τον διάδοχο του Knights Corner.
Η Intel δεν επέτρεψε σε κανέναν να δημοσιεύσει τρανταχτές πληροφορίες για τις επιδόσεις του Knights Ferry, ενώ ταυτόχρονα δεν υπάρχει καμία πληροφορία διαθέσιμη για τον Xeon Phi. Όταν, όμως, μιλήσαμε με τον Dr. Glenn Brook, research enginner του NICS (National Institute for Computational Sciences), μας πληροφόρησε πως το KNF της Intel προσφέρει ένα καλό συνδυασμό υψηλού scaling, ενεργειακής αποδοτικότητας, αλλά και συνολικών επιδόσεων. Οι διάφορες αναφορές που παρουσιάστηκαν στο TACC (Texas Advanced Computing Centre) κατά τη διάρκεια του Highly Paraller Computing Symposium της Intel την περασμένη άνοιξη, είναι αρκετά αισιόδοξες για την ικανότητα του KNC να ανταποκριθεί στις απαιτήσεις της βιομηχανίας του Hign Performance Computing (HPC).
Αξίζει, όμως, να σημειωθεί πως οι αναφορές για τις ικανότητες του KNF δεν είναι παντού οι ίδιες. Συγκεκριμένα, μία ομάδα από το National Center for Atmospheric Research παρουσίασε τις επιδόσεις του KNF's στον υπολογισμό κλιματικών μοντέλων και σημείωσαν τα ακόλουθα:
Η υποστήριξη της Intel για το OpenMP(Open Multiprocessing)/MPI αλλά και οι λεπτοί χειρισμοί για τον έλεγχο των πόρων που είναι διαθέσιμοι στο KNF, έχουν και αυτά χαρακτηριστεί ως σημαντικά χαρακτηριστικά της αρχιτεκτονική. Όπως φαίνεται, μία από τις απαιτήσεις του HPC (High Performance Computing) research είναι η ανάγκη σύμπτυξης μικρών και μεγάλων εργασιών, με στόχο την αποδοτικότερη εκμετάλλευση των διαθέσιμων υπολογιστικών πόρων. Υπό αυτήν την οπτική γωνία, το Knights Corner είναι σχεδιασμένο να ανταποκρίνεται σε αυτού του είδους τις απαιτήσεις, μιας και η κάρτα μπορεί να χρησιμοποιηθεί ως ένα τμήμα ενός HPC cluster, ή ως ένα stand-alone co-processor για την επιτέλεση συγκεκριμένων εργασιών. Ακόμη, είναι σχεδιασμένο με σκοπό την ευελιξία αναφορικά με το software αλλά και το hardware, καθώς αναμένουμε κάποια μορφή Turbo Boost, πιθανόν με κάποια άλλη ονομασία. Ένας τρόπος με τον οποίο η Intel μπορεί να αυξήσει τις επιδόσεις είναι οι αύξηση της ταχύτητας του scaling, ένας τρόπος που παραμερίζει την χαμηλή single-thread αποδοτικότητα.
Ο KNC μπορεί να επικοινωνεί και με άλλα MIC cards μέσου του PCIe δίαυλου, ενώ μπορεί να επιτελεί και διεργασίες σε κάποιο άλλο board. Παρόλα αυτά, το PCIe bus προσφέρει μόνο ένα μικρό τμήμα του bandwidth που η κάρτα χρησιμοποιεί στο εσωτερικό της. Έτσι, παρόλο που το KNF είχε σχεδιαστεί με βάση το PCIe 2.0, δεν είναι απίθανο το Knights Corner να διατηρήσει το bus rate, μεταβαίνοντας στο PCIe 3.0, το οποίο μπορεί να διπλασιάσει το effective bandwidth, δεν μπορεί όμως να αντισταθμίσει τα υψηλά access latency's αλλά και το μικρότερο δυνατό bandwidth σε σύγκριση με το data localization.
Όσο και εάν όλοι έχουμε συνηθίσει τα μετροπρογράμματα για την ανάδειξη των επιδόσεων ενός hardware, το αληθινό πλεονέκτημα του KNC μάλλον δεν πρόκειται να έρθει από εκεί.
Τα περισσότερα άρθρα αναφορικά με το supercomputing επικεντρώνονται αποκλειστικά στο Hardware, αφού οι περισσότεροι αδιαφορούν για το software support. Έχοντας διαβάσει, όμως, αρκετές πληροφορίες που δημοσιεύθηκαν στο TACC, αλλά και συζητώντας το θέμα με το Dr. Brook, γίνομαι όλο και πιο πεπεισμένος πως αυτή η hardware-ρο κεντρική προσέγγιση παραβλέπει σημαντικά μεγαλύτερα προβλήματα του προϊόντος.
Μία από τις ερωτήσεις μας προς τον Dr. Brook ήταν το κατά πόσο η πολλαπλά αναδεδειγμένη x86 συμβατότητα είχε πρακτικό αντίκτυπο στις καθημερινές εφαρμογές των επιστημόνων. Η απάντησή του ήταν η ακόλουθη:
Η απόφαση ενός ινστιτούτου να ενσωματώσει το MIC ή το CUDA μπορεί να επηρεαστεί περισσότερο από την προσβασιμότητα, με την έννοια της ευκολίας, και λιγότερο από τις απόλυτες επιδόσεις, ακόμη και στις περιπτώσεις που η μία επιλογή προσφέρει σημαντικά καλύτερο real-world performance. Οι επιδόσεις μέσα στα τελευταία χρόνια έχουν αυξηθεί πάρα πολύ. Χαρακτηριστικό παράδειγμα αποτελεί το γεγονός ότι ο ταχύτερος υπολογιστής του Ιουνίου του 2005 βρίσκεται πλέον στην θέση #125 του top 500 list, ενώ ο τρίτος ταχύτερος δεν υπάρχει καν. Δυστυχώς, στο μεσοδιάστημα οι άνθρωποι δεν έλαβαν κάποιο upgrade και έτσι η αποδοτική διανομή αυτής της υπολογιστικής δύναμης είναι εξαιρετικά δύσκολο έργο. Για αυτό το CPU παραμένει ακόμη ο κύριος εκπρόσωπος του HPC.
Εδώ είναι που έρχεται το πλεονέκτημα της Intel σε σχέση με την Nvidia, πράγμα που θα δυσκολευτεί πολύ να ισοσταθμίσει ο σχεδιαστής GPU. Εάν προγραμματίζει κανείς σε x86 και χρειάζεται performance monitor, thread analyzer, optimized library, ή compiler, η Intel μπορεί να ανταποκριθεί σε αυτές τις απαιτήσεις. Τα tools της εταιρίας δεν είναι μόνο πολλά, αλλά ταυτόχρονα είναι και εξελιγμένα, παρέχοντας σημαντικό under-the-hood visibility. Αυτή, είναι σημαντική όταν πρέπει να βελτιστοποιηθούν τα workloads για το cluster computing. Τα latency και το chip-to-chip communication level που είναι πλήρως διαχειρίσιμα μέσα σε ένα 4S (Quad Socket) σύστημα μπορούν να υπερφορτώσουν ένα δίκτυο όταν διανέμονται μεταξύ των nodes.
Από τους 58 Top500 υπολογιστές που χρησιμοποιούν co-processor/accelerators, οι 53 από αυτούς χρησιμοποιούν Hardware της Nvidia. Αυτό είναι ένα σημαντικό βήμα από τον Ιούνιο του 2011, όπου μόλις 12 συστήματα χρησιμοποιούσαν τις CUDA κάρτες της εταιρίας. Όμως, τα συστήματα αυτά δεν είναι τόσο ισχύρά όσο τα 374 που χρησιμοποιούν Intel CPU's. Σύμφωνα με την Intel, η βελτιστοποίηση για τον Xeon Phi μπορεί να αυξήσει τις επιδόσεις σε σχέση με του κλασικούς Xeon, αν και οι δύο επεξεργαστές δεν μοιράζονται τις δυνατότητες του vectorization. Σε αντίθεση με την Intel, η Nvidia δεν μπορεί να φτιάξει ένα κουτί Tesla μέσα στο οποίο και οι CPU's και οι GPU's επιτελούν το δικό τους έργο, και αυτό δίνει το πλεονέκτημα στην Intel.
Όμως, τίποτα από αυτά δεν καταδικάζει την Nvidia. Ακριβώς το αντίθετο. Δεν θα ήταν περίεργο εάν το επερχόμενο Kepler-based K20 Tesla μπορούσε να νικήσει το Knights Corner σε κάποια real-world test. Ακόμη, το Tesla της nVidia μπορεί να έχει και σημαντικό πλεονέκτημα, αναφορικά με το μέγεθος, από τον Xeon Phi, μιας και το die size του θα είναι τεράστιο. Πιο συγκεκριμένα, η Visual υπολογίζει το die size των Knights Ferry στα 700 mm^2. Ο Knights Corner μπορεί να έχει διαφορετική κλίμακα ολοκλήρωσης (22nm vs 45nm), προσθέτει όμως πυρήνες. Επίσης, σημαντικός παράγοντας είναι και η κατανόηση της ζήτησης, με σκοπό την μεγιστοποίηση του κέρδους. Για αυτό, είναι πιθανό η Nvidia να περιμένει μέχρι το Q4 για να κυκλοφορήσει το προϊόν της.
Ο επερχόμενος πόλεμος ανάμεσα στην Intel και την Nvidia για την αγορά των supercomputers θα έχει και σημαντικές επιπτώσεις στην αγορά των mainstream προϊόντων, ακόμη και εάν χρειαστούν αρκετά χρόνια για την μετάβαση της τεχνολογίας. Η βιομηχανία του HPC προσπαθεί να επιλύσει προβλήματα ενεργειακής αποδοτικότητας, interconnect scalling, ταχύτητας αποθήκευσης δεδομένων, αξιοποίησης των επεξεργαστών αλλά και communication latency. Αντίθετα, οι αγορές των κινητών τηλεφώνων αλλά και των Tablet προσπαθούν να αντιμετωπίσουν τα ίδια προβλήματα με τον πρόσθετο πονοκέφαλο της διάρκειας ζωής της μπαταρίας. Οι εξελίξεις στην κορυφή της αγοράς πάντα θα επηρεάζουν τα υπόλοιπα στρώματα, ενώ τα υπόλοιπα στρώματα την κορυφή.
Η μάχη για το ποιά εταιρία θα επηρεάζει και τους δύο κόσμους είναι στα πρόθυρα να ξεσπάσει για τα καλά, So Stay Tuned!
Από τον Larrabee στο Knights Ferry
Της Intel το MIC το οποίο προφέρεται "Mike", ξεκίνησε ως μια υβριδική GPU/HPC (high-performance computing) που έγινε γνωστό ως Larrabee. Η Intel ανακοίνωσε επίσημα τον Larrabee το 2007 και σύντομα ισχυρίστηκε ότι η κάρτα αυτή θα εγκαινιάζε μια νέα εποχή στα ray-traced video games παράλληλα με απίστευτες επιδόσεις. Η Intel τοποθέτησε σε ένα ράφι τελικά τις φιλοδοξίες της για τη συγκεκριμένη υλοποίηση, όταν κατέστη σαφές ότι ο Larrabee δεν επρόκειτο να είναι σε θέση να ξεπεράσει το τότε διαθέσιμο high end hardware από το κόκκινο αλλά και το πράσινο στρατόπεδο, και "μετονόμασε" τον Larrabee από GPU/HPC σε σκέτο HPC Part. Η "μετονομασία" στην ιδιοτητα του έφερε και μετονομασία κανονική και απο Larrabee ονομάστηκε Knights Ferry (KNF), ενώ τέλος η Intel ξεκίνησε το shipping του σε HPC developers το 2010.
Larrabee's original design
Πόσο έχει απομείνει λοιπόν από τον εσωτερικό κόσμο του Larrabee στο MIC της Intel; Εξαρτάται από το πού βλέπει κανείς. Όλο το display hardware και το integrated logic για το driving μιας GPU έχει εξαφανιστεί, αλλά οι number-crunching δυνατότητές από τους ίδιους τους πυρήνες εμφανίζονται σε μεγάλο βαθμό αμετάβλητες. Μια διαφορά που γνωρίζουμε είναι ότι ενώ ο Larrabee και ο KNF έχουν επικεντρωθεί στο single-precision floating point math, ο επερχόμενος Knights Corner θα προσφέρει ισχυρή διπλής ακρίβειας υποστήριξη επίσης. Συγκρίνετε το Larrabeeʼs block diagram απο πάνω με το Knights Ferry παρακάτω:
The relabeled Xeon Phi MIC block diagram
Μια ιστορία "Ιπποτών"
Μια ιστορία "Ιπποτών"
Ας μιλήσουμε λοιπόν για το Knights Corner/Xeon Phi. Αν και η Intel δεν δίνει πολλές λεπτομέρειες ακόμα, γνωρίζουμε ότι η αρχιτεκτονική θα "συσκευάζει" 50 ή περισσότερους πυρήνες και τουλάχιστον 8GB μνήμης RAM. Σε αυτό το διάστημα, η συνολική διαθέσιμη μνήμη είναι ένα σημαντικό χαρακτηριστικό. Ο Knights Ferry, με 32 πυρήνες και maximum 2GB μνήμης RAM, μπορούσε να προσφέρει μόνο 64MB μνήμης RAM ανά πυρήνα, ενώ ένας 50πύρηνος Xeon Phi με 8 έως 16GB μνήμης RAM θα μπορούσε να προσφέρει μεταξύ 163-327MB ανά πυρήνα.
The Knights Ferry die, Aubrey Isle. Die size on KNF, at 45nm, was rumored to be roughly 700mm^2.
Είναι λογικό να σκεφτείτε πως ο αριθμός των πυρήνων της Intel καθώς και το load της RAM θα ποικίλλει ανάλογα με τις αποδόσεις και τις ανάγκες των χρηστών/πελατών. Οι χρήστες/πελάτες με μεγάλα datasets μπορεί να δουν καλύτερη κλιμάκωση από ένα 50πύρηνο chip με 16 GB μνήμης RAM, ενώ τα μικρά datasets μπορεί να κάνουμε το καλύτερο δυνατό με 8GB Ram και 64 πυρήνες. Το layout του Aubrey Isle die στην καρδιά ενός Knights Ferry, που απεικονίζεται παραπάνω, δίνει σε ένα 64πύρηνο Chip μια ισχυρή πιθανότητα να μπορεί να βελτιώσει την απόδοση απενεργοποιώντας κάθε φορά διαφορετικό αριθμό πυρήνων!
The overall Pentium core is on the left, the vector engine is on the right. Diagrams are not to scale
Οι πυρήνες στην καρδιά του πρώτου Intel Phi βασίζονται στην P54C revision του original Pentium και εμφανίζονται σε μεγάλο βαθμό αμετάβλητοι από το σχεδιασμό που σκόπευε να χρησιμοποιήσει η Intel για τον Larrabee. Παρά την κάποια λογομαχία με την nVidia, σας συνιστούμε να μην συγχέεται τη λέξη "βασίζονται" με την λέξη "παρεμποδίζονται". Η Intel επέστρεψε στην μικροαρχιτεκτονική P5 για τους Larrabee δεδομένου ότι της έκανε καλή αίσθηση για να το κάνει - αλλά το Knights Corner δεν είναι ένα μάτσο hardware από τις αρχές του 1990 που το hardware κολλούνταν σε μια πλακέτα (PCB). Η Intel έχει προσθεσεί υποστήριξη 64-bit, μεγαλύτερη on-die cache (ο Pentium Classic δεν είχε ποτέ ένα on-die L2, ή μία L1 με 1-cycle latency ), ένα 512-bit, bi-directional ring bus που συνδέει το σύνολο της αρχιτεκτονικής, προηγμένο κύκλωμα για τη διαχείριση και την κατανάλωση ενέργειας, και 32 512-bit vector registers. Για να το συγκρίνεται, σκεφτείται πως ένας high end Core i7 σήμερα διαθέτει 16 256-bit AVX registers.
Συνεπώς, από υπολογιστική σκοπιά, το να καλεί κανείς το Knights Corner ένα "τροποποιημένο Pentium" είναι να σαν αποκαλεί το Enterprise (Star Trek) ένα τροποποιημένο σκαφάκι. Ο ανανεωμένος λοιπόν P54C πυρήνας θα μπορούσε να θεωρηθεί σαν τα στηρίγματα σε μία εξέδρα εκτόξευσης. Δηλαδή είναι το framework που χρησιμοποίησε η Intel για να δημιουργήσει κάτι καινούργιο, όχι το διαστημόπλοιο!
Είναι το Knights Corner συμβατό με x86; Η απάντηση της Intel μας λέει πως είναι ικανοποιητικά συμβατό. Σύμφωνα με το software blog της εταιρίας:
"Προγράμματα που έχουν γραφεί σε γλώσσες προγραμματισμού υψηλού επιπέδου(δηλαδή αυτές που έχουν απομακρυνθεί από τις γλώσσες μηχανής, όπως είναι η C,C++, Fortran κοκ), μπορούν εύκολα να παραμείνουν cross platform(δηλαδή να τρέχουν σε διάφορα OS), παρά τις διαφορές στα ISA ή ABI (application binary interface). Οι προσπάθειες στον προγραμματισμό θα επικεντρωθούν στην εκμετάλλευση του πολυνηματικού προγραμματισμού, μέσου του Vectorization αλλά και του Scaling. Vectiorization για την εκμετάλλευση των γραμμικών instruction του Knights Corner, και Scaling για την εκμετάλλευση 50+ πυρήνων. Αυτό είναι γνωστό και ως optimization για highly-parallel SMP system βασισμένο σε CPU's."
Υπάρχουν πολλά x86/x86-64 instructions, συμπεριλαμβανομένων και κάποιων αρκετά κοινών, τα οποία δεν θα υποστηρίζει το KNC. Δηλαδή, γνωστά instruction's όπως MMX, SSE, ή AVX μπορεί να μην υποστηρίζονται...ακόμη. Όμως, τα Vectorization και Scalar instructions που τα KNC/KNF εισήγαγαν, είναι αρκετά ξεχωριστά. Φυσικά, αυτό το "ακόμη" είναι πολύ σημαντικό μιας και η Intel σκοπεύει να ενοποιήσει τα instruction set της κάποια στιγμή στο μέλλον. Τα Transactional Synchronization Extensions (TSX), τα οποία είναι προγραμματισμένα να κάνουν το ντεμπούτο τους με τους Haswell, ενδεχομένως να είναι πολύ σημαντικά για τον διάδοχο του Knights Corner.
Όλα αυτά ακούγονται πολλά υποσχόμενα. Θα μπορέσει, όμως, ο Xeon Phi να αποδώσει;
Η Intel δεν επέτρεψε σε κανέναν να δημοσιεύσει τρανταχτές πληροφορίες για τις επιδόσεις του Knights Ferry, ενώ ταυτόχρονα δεν υπάρχει καμία πληροφορία διαθέσιμη για τον Xeon Phi. Όταν, όμως, μιλήσαμε με τον Dr. Glenn Brook, research enginner του NICS (National Institute for Computational Sciences), μας πληροφόρησε πως το KNF της Intel προσφέρει ένα καλό συνδυασμό υψηλού scaling, ενεργειακής αποδοτικότητας, αλλά και συνολικών επιδόσεων. Οι διάφορες αναφορές που παρουσιάστηκαν στο TACC (Texas Advanced Computing Centre) κατά τη διάρκεια του Highly Paraller Computing Symposium της Intel την περασμένη άνοιξη, είναι αρκετά αισιόδοξες για την ικανότητα του KNC να ανταποκριθεί στις απαιτήσεις της βιομηχανίας του Hign Performance Computing (HPC).
Αξίζει, όμως, να σημειωθεί πως οι αναφορές για τις ικανότητες του KNF δεν είναι παντού οι ίδιες. Συγκεκριμένα, μία ομάδα από το National Center for Atmospheric Research παρουσίασε τις επιδόσεις του KNF's στον υπολογισμό κλιματικών μοντέλων και σημείωσαν τα ακόλουθα:
"Γενικά, παρατηρήσαμε εξαιρετικό scalability και στα τα δύο μοντέλα που χρησιμοποιήσαμε τον KNF. Όμως, οι μονοπύρηνες επιδόσεις του KNF είναι φτωχές είτε ενεργοποιήσουμε είτε όχι το vectorization, πράγμα που μπορεί να υποδεικνύει και την αιτία αυτού του πολύ υψηλού scaling."
Η υποστήριξη της Intel για το OpenMP(Open Multiprocessing)/MPI αλλά και οι λεπτοί χειρισμοί για τον έλεγχο των πόρων που είναι διαθέσιμοι στο KNF, έχουν και αυτά χαρακτηριστεί ως σημαντικά χαρακτηριστικά της αρχιτεκτονική. Όπως φαίνεται, μία από τις απαιτήσεις του HPC (High Performance Computing) research είναι η ανάγκη σύμπτυξης μικρών και μεγάλων εργασιών, με στόχο την αποδοτικότερη εκμετάλλευση των διαθέσιμων υπολογιστικών πόρων. Υπό αυτήν την οπτική γωνία, το Knights Corner είναι σχεδιασμένο να ανταποκρίνεται σε αυτού του είδους τις απαιτήσεις, μιας και η κάρτα μπορεί να χρησιμοποιηθεί ως ένα τμήμα ενός HPC cluster, ή ως ένα stand-alone co-processor για την επιτέλεση συγκεκριμένων εργασιών. Ακόμη, είναι σχεδιασμένο με σκοπό την ευελιξία αναφορικά με το software αλλά και το hardware, καθώς αναμένουμε κάποια μορφή Turbo Boost, πιθανόν με κάποια άλλη ονομασία. Ένας τρόπος με τον οποίο η Intel μπορεί να αυξήσει τις επιδόσεις είναι οι αύξηση της ταχύτητας του scaling, ένας τρόπος που παραμερίζει την χαμηλή single-thread αποδοτικότητα.
Ο KNC μπορεί να επικοινωνεί και με άλλα MIC cards μέσου του PCIe δίαυλου, ενώ μπορεί να επιτελεί και διεργασίες σε κάποιο άλλο board. Παρόλα αυτά, το PCIe bus προσφέρει μόνο ένα μικρό τμήμα του bandwidth που η κάρτα χρησιμοποιεί στο εσωτερικό της. Έτσι, παρόλο που το KNF είχε σχεδιαστεί με βάση το PCIe 2.0, δεν είναι απίθανο το Knights Corner να διατηρήσει το bus rate, μεταβαίνοντας στο PCIe 3.0, το οποίο μπορεί να διπλασιάσει το effective bandwidth, δεν μπορεί όμως να αντισταθμίσει τα υψηλά access latency's αλλά και το μικρότερο δυνατό bandwidth σε σύγκριση με το data localization.
Όσο και εάν όλοι έχουμε συνηθίσει τα μετροπρογράμματα για την ανάδειξη των επιδόσεων ενός hardware, το αληθινό πλεονέκτημα του KNC μάλλον δεν πρόκειται να έρθει από εκεί.
Software: Ο Άσος στο μανίκι της Intel
Τα περισσότερα άρθρα αναφορικά με το supercomputing επικεντρώνονται αποκλειστικά στο Hardware, αφού οι περισσότεροι αδιαφορούν για το software support. Έχοντας διαβάσει, όμως, αρκετές πληροφορίες που δημοσιεύθηκαν στο TACC, αλλά και συζητώντας το θέμα με το Dr. Brook, γίνομαι όλο και πιο πεπεισμένος πως αυτή η hardware-ρο κεντρική προσέγγιση παραβλέπει σημαντικά μεγαλύτερα προβλήματα του προϊόντος.
Μία από τις ερωτήσεις μας προς τον Dr. Brook ήταν το κατά πόσο η πολλαπλά αναδεδειγμένη x86 συμβατότητα είχε πρακτικό αντίκτυπο στις καθημερινές εφαρμογές των επιστημόνων. Η απάντησή του ήταν η ακόλουθη:
"Είναι σημαντικό να συνειδητοποιήσει κανείς ότι πολλοί ερευνητές του NSF (National Science Foundation) χρηματοδοτούνται για να διεξάγουν επιστημονική έρευνα και όχι για να δημιουργήσουν επιστημονικούς κώδικες...Συνεπώς, πολλοί ερευνητές βλέπουν το code development ως ένα πρόσθετο κόστος, το οποίο πρέπει να αποφευχθεί ή να μειωθεί όταν υπάρχει αυτή η δυνατότητα. Ταυτόχρονα, οι περισσότεροι είναι πολλοί διστακτικοί στο να εγκαταλείψουν χρόνια ή και δεκαετίες code development, με στόχο την μετάβαση σε ένα διαφορετικό προγραμματιστικό μοντέλο."
Η απόφαση ενός ινστιτούτου να ενσωματώσει το MIC ή το CUDA μπορεί να επηρεαστεί περισσότερο από την προσβασιμότητα, με την έννοια της ευκολίας, και λιγότερο από τις απόλυτες επιδόσεις, ακόμη και στις περιπτώσεις που η μία επιλογή προσφέρει σημαντικά καλύτερο real-world performance. Οι επιδόσεις μέσα στα τελευταία χρόνια έχουν αυξηθεί πάρα πολύ. Χαρακτηριστικό παράδειγμα αποτελεί το γεγονός ότι ο ταχύτερος υπολογιστής του Ιουνίου του 2005 βρίσκεται πλέον στην θέση #125 του top 500 list, ενώ ο τρίτος ταχύτερος δεν υπάρχει καν. Δυστυχώς, στο μεσοδιάστημα οι άνθρωποι δεν έλαβαν κάποιο upgrade και έτσι η αποδοτική διανομή αυτής της υπολογιστικής δύναμης είναι εξαιρετικά δύσκολο έργο. Για αυτό το CPU παραμένει ακόμη ο κύριος εκπρόσωπος του HPC.
Εδώ είναι που έρχεται το πλεονέκτημα της Intel σε σχέση με την Nvidia, πράγμα που θα δυσκολευτεί πολύ να ισοσταθμίσει ο σχεδιαστής GPU. Εάν προγραμματίζει κανείς σε x86 και χρειάζεται performance monitor, thread analyzer, optimized library, ή compiler, η Intel μπορεί να ανταποκριθεί σε αυτές τις απαιτήσεις. Τα tools της εταιρίας δεν είναι μόνο πολλά, αλλά ταυτόχρονα είναι και εξελιγμένα, παρέχοντας σημαντικό under-the-hood visibility. Αυτή, είναι σημαντική όταν πρέπει να βελτιστοποιηθούν τα workloads για το cluster computing. Τα latency και το chip-to-chip communication level που είναι πλήρως διαχειρίσιμα μέσα σε ένα 4S (Quad Socket) σύστημα μπορούν να υπερφορτώσουν ένα δίκτυο όταν διανέμονται μεταξύ των nodes.
Από τους 58 Top500 υπολογιστές που χρησιμοποιούν co-processor/accelerators, οι 53 από αυτούς χρησιμοποιούν Hardware της Nvidia. Αυτό είναι ένα σημαντικό βήμα από τον Ιούνιο του 2011, όπου μόλις 12 συστήματα χρησιμοποιούσαν τις CUDA κάρτες της εταιρίας. Όμως, τα συστήματα αυτά δεν είναι τόσο ισχύρά όσο τα 374 που χρησιμοποιούν Intel CPU's. Σύμφωνα με την Intel, η βελτιστοποίηση για τον Xeon Phi μπορεί να αυξήσει τις επιδόσεις σε σχέση με του κλασικούς Xeon, αν και οι δύο επεξεργαστές δεν μοιράζονται τις δυνατότητες του vectorization. Σε αντίθεση με την Intel, η Nvidia δεν μπορεί να φτιάξει ένα κουτί Tesla μέσα στο οποίο και οι CPU's και οι GPU's επιτελούν το δικό τους έργο, και αυτό δίνει το πλεονέκτημα στην Intel.
Όμως, τίποτα από αυτά δεν καταδικάζει την Nvidia. Ακριβώς το αντίθετο. Δεν θα ήταν περίεργο εάν το επερχόμενο Kepler-based K20 Tesla μπορούσε να νικήσει το Knights Corner σε κάποια real-world test. Ακόμη, το Tesla της nVidia μπορεί να έχει και σημαντικό πλεονέκτημα, αναφορικά με το μέγεθος, από τον Xeon Phi, μιας και το die size του θα είναι τεράστιο. Πιο συγκεκριμένα, η Visual υπολογίζει το die size των Knights Ferry στα 700 mm^2. Ο Knights Corner μπορεί να έχει διαφορετική κλίμακα ολοκλήρωσης (22nm vs 45nm), προσθέτει όμως πυρήνες. Επίσης, σημαντικός παράγοντας είναι και η κατανόηση της ζήτησης, με σκοπό την μεγιστοποίηση του κέρδους. Για αυτό, είναι πιθανό η Nvidia να περιμένει μέχρι το Q4 για να κυκλοφορήσει το προϊόν της.
Ο επερχόμενος πόλεμος ανάμεσα στην Intel και την Nvidia για την αγορά των supercomputers θα έχει και σημαντικές επιπτώσεις στην αγορά των mainstream προϊόντων, ακόμη και εάν χρειαστούν αρκετά χρόνια για την μετάβαση της τεχνολογίας. Η βιομηχανία του HPC προσπαθεί να επιλύσει προβλήματα ενεργειακής αποδοτικότητας, interconnect scalling, ταχύτητας αποθήκευσης δεδομένων, αξιοποίησης των επεξεργαστών αλλά και communication latency. Αντίθετα, οι αγορές των κινητών τηλεφώνων αλλά και των Tablet προσπαθούν να αντιμετωπίσουν τα ίδια προβλήματα με τον πρόσθετο πονοκέφαλο της διάρκειας ζωής της μπαταρίας. Οι εξελίξεις στην κορυφή της αγοράς πάντα θα επηρεάζουν τα υπόλοιπα στρώματα, ενώ τα υπόλοιπα στρώματα την κορυφή.
Η μάχη για το ποιά εταιρία θα επηρεάζει και τους δύο κόσμους είναι στα πρόθυρα να ξεσπάσει για τα καλά, So Stay Tuned!