Salt uriașă pentru AMD în comparație cu generația anterioară și mai mult, în multe domenii. Nu mă voi concentra atât de mult pe benchmark-uri, oricine dorește poate căuta online (vezi phoronix) și poate vedea singur cât de bine se descurcă acești procesoare în această generație.
Motivul principal pentru care am decis să trec de la 2990wx la 3970x (în opinia mea, este cea mai mare actualizare) este eliminarea arhitecturii numa ciudate pe care o avea predecesorul său (4 noduri numa / 2 CCX-uri pe nod / 4 nuclee pe CCX - 2 noduri cu memorie dual channel fiecare - 2 noduri fără niciun canal de memorie). Arhitectura de mai sus a dus la performanțe inconsistente în diverse sarcini de lucru (nu legate de CPU) din cauza latenței memoriei, și de multe ori chiar vedeam 1700 performând mai bine! Cel mai evident exemplu în cazul meu a fost în virtualizare. În timp ce virtualizarea înglobată rula fără probleme pe 1700, cu aceleași mașini virtuale pe 2990wx, am observat un timp mare de așteptare (vCPU așteaptă ca CPU-ul normal să servească alte vCPU-uri). Chiar și după multe ore de optimizare la nivel de sistem de operare, mașină virtuală sau BIOS (interleaving de memorie, afinitate de memorie, numactl, CPU pinning, etc.), nu am reușit să obțin rezultatele dorite. În cele din urmă, singurul mod de a îmbunătăți performanța a fost dezactivarea SMT, ceea ce a fost dezamăgitor. Problema anterioară nu este prezentă doar în virtualizare, ci și în toate tipurile de sarcini de lucru multicore care sunt sensibile la latența memoriei.
În rezumat, concluzionez că 2990wx este un procesor foarte puternic care își arată adevărata putere doar în sarcini de lucru legate de CPU (creare de conținut, editare video, etc.). Cei care rulează astfel de aplicații și doresc să facă upgrade la Threadripper-ul de generația a 3-a teoretic nu vor vedea mai mult de o îmbunătățire de 10-15% în performanță (aceasta este creșterea IPC între a 2-a și a 3-a generație).
Cu toate acestea, cu noul Threadripper din nouă generație, toate aceste particularități aparțin trecutului. În plus față de multele caracteristici noi care îmbunătățesc performanța atât în scenarii single, cât și multicore, toate nucleele apar sistemului de operare ca un grup unit (UMA) cu distanțe egale între ele și controlerele de memorie. Cu această arhitectură, se obține o performanță constantă pe toate nucleele, pentru orice tip de sarcină de lucru, chiar și fără parametrizare suplimentară. Pe scurt, puterea reală a 32 de nuclee/64 de fire fără compromisuri.
În ceea ce privește cazul meu, acum cu 3970x, pe lângă faptul că timpul de așteptare este mereu la 0 în toate sarcinile de lucru virtualizate pe care le-am rulat, observ și o îmbunătățire uriașă în timpul de implementare a mașinilor virtuale, compilarea kernelului, sarcinile Spark și gromacs, ajungând până la 70%!
În ceea ce privește performanța termică/energetică, AMD face minuni din nou. Nu, cei 280W pe care îi are ca TDP (notabil în boost-ul pe toate nucleele) nu sunt mul Oricine încearcă să facă overclock prin creșterea puterii va realiza că câștigul de performanță este complet disproporționat față de consumul de energie și temperaturile care cresc în mod real. De asemenea, overclocking-ul pe procesoarele Threadripper nu este acoperit de garanția AMD.
AMD pretinde în prezent că are cel mai puternic procesor de desktop construit vreodată. Numerele arată că spun adevărul (vezi guru3d, anandtech, phoronix, techspot, etc.). Singura excepție în care Intel îi depășește este în aplicațiile științifice care utilizează în mod extensiv AVX-512 pentru înmulțirea matricelor. Trebuie menționat că acest procesor în parte are aceeași performanță sau chiar mai bună decât sistemele multisocket de 40.000€ în multe sarcini de lucru cu mai multe fire (vezi Passmark, openbenchmarking.org, etc.). Este o realizare uriașă că acum oricine poate rula/încerca diferite tipuri de sarcini de lucru acasă, ceea ce în trecut ar fi necesitat fie așteptarea în instituții de cercetare, fie plata unor sume exorbitante pentru accesul la calcul de înaltă performanță.
Τεράστιο άλμα για την AMD συγκριτικά με την προηγούμενη γενιά και όχι μόνο, σε πάρα πολλούς τομείς. Δεν θα εστιάσω τόσο σε benchmarks, όποιος θέλει μπορεί να κοιτάξει online (βλ. phoronix) και να διαπιστώσει μόνος του για το πόσο καλά αποδίδουν αυτής της γενιάς οι επεξεργαστές.
Ο κύριος λόγος που πήρα την απόφαση να μεταβώ απο τον 2990wx στον 3970x (κατά τη γνώμη μου είναι και το μεγαλύτερο upgrade), είναι η κατάργηση της ιδιόρρυθμης numa αρχιτεκτονικής που είχε ο προκάτοχός του ( 4 numa nodes / 2 CCX per node / 4cores per CCX – 2 nodes with dual channel memory each – 2 nodes with no memory channel at all). Η παραπάνω αρχιτεκτονική είχε σαν αποτελέσμα να παρατηρώ inconsistent performance σε διάφορα workloads ( οχι cpu bound ) λόγω του memory latency και πολλές φορές να βλέπω ακόμη και τον 1700 να αποδίδει καλύτερα! Το πιο οφθαλμοφανές παράδειγμα για την περιπτωσή μου ηταν στο Virtualization. Ενώ στον 1700 το nested virtualization έτρεχε χωρίς προβλήματα, με τα ίδια vms στον 2990wx παρατηρούσα μεγάλο steal time (η vcpu περιμένει την κανονική cpu να εξυπηρετήσει άλλες vcpus). Ακόμη και μετά από πάρα πολλές ώρες optimization είτε σε επίπεδο λειτουργικού, VM είτε bios ( memory interleaving, memory affinity , numactl, cpu pinning κτλ. ) δεν κατάφερνα να δω τα επιθυμητά αποτελέσματα. Εν τέλει, ο μόνος τρόπος για να βελτιώσω το performance ηταν να απενεργοποιήσω το SMT, που ήταν απογοητευτικό. Το προηγούμενο πρόβλημα δεν εμφανίζεται μονο στο virtualization αλλά και σε όλων των ειδών multicore workloads τα οποία είναι sensitive στο memory latency.
Συνοψίζοντας, καταλήγω στο γεγονός οτι ο 2990wx είναι ένας πάρα πολύ ισχυρός επεξεργαστής που όμως δείχνει την πραγματική του ισχύ μόνο σε cpu bound workloads (content creation, video editing κτλ.). Όσοι τρέχουν τέτοιου είδους εφαρμογές και θέλουν να αναβαθμιστούν σε 3rd Gen Threadripper θεωρητικά δεν πρόκειται να δουν πάνω από 10-15% στην αποδόση (τόσο είναι και το IPC gain μεταξύ 2ης και 3ης γενιας).
Ωστόσο, με την νέα γενιά threadripper όλες αυτές οι ιδιαιτερότητες ανήκουν στο παρελθόν. Εκτός των πολλών νέων χαρακτηριστικών που βελτιώνουν την απόδοση είτε σε single είτε σε multicore, όλοι οι πυρήνες φαίνονται στο λειτουργικό σύστημα, σαν ενα ενοποιήμενο group ( UMA ) ίσων αποστάσεων μεταξύ αυτών και των ελλεκτών μνήμης. Με την αρχιτεκτονική αυτή επιτυγχάνεται consistent performance κατα μήκος όλων των πυρήνων, για κάθε τύπο workload και μάλιστα out of the box χωρίς επιπλέον παραμετροποίηση. Με απλά λόγια, πραγματική ισχύς 32 cores/64 threads χωρίς ψιλά γράμματα.
Όσον αφορά τη περίπτωση μου, πλέον με τον 3970x εκτός του ότι το steal time είναι πάντα στο 0 σε όλα τα virtualized workloads που έχω τρέξει, παρατηρώ επίσης τεράστια βελτίωση στους χρόνους των vm deployments, kernel compilation, spark jobs και gromacs που φτάνει μέχρι και 70%!
Σχετικά με την θερμική/ενεργειακή απόδοση πάλι η AMD κάνει μαγικά. Όχι, τα 280W που έχει σαν TDP (σημειωτέον στο all core boost) δεν είναι πολλά, αντιθέτως. Έχει τον υψηλότερο λόγο performance/watt, watt/core, watt/thread στην αγορά ( βλ. anandtech, phoronix ) . Είναι 32 cores και αν αναλογιστεί κανείς ότι ειναι σχεδόν 2 φορές ο 3950x με μεγαλύτερο base clock κατά 200 MHZ και 40 επιπλέον pcie4 lanes το TDP φαίνεται μικρό. Σχετικά με τις θερμοκρασίες, παρατηρώ 35 idle, 40 average, 69 max under stress test με 560mm Ψυγείο, NFA14 3000 fans, και ek-velocity waterblock. Σημαντικό να αναφερθεί ότι οι θερμοκρασίες είναι πραγματικές και δεν υπάρχει το offset που υπήρχε στους παλιούς threadripper (27C). Τα παραπάνω νούμερα αφορούν μονο stock settings. Όποιος προσπαθήσει να κάνει οverclock ανεβάζοντας το ρεύμα θα συνειδητοποιήσει πως τo performance gain είναι τελείως δυσανάλογο από την κατανάλωση ρεύματος και τις θερμοκρασίες που πραγματικά εκτοξεύονται στα ύψη. Επίσης το overclocking στους threadripper δεν καλύπτεται από την εγγύηση της AMD.
Η AMD αυτή τη στιγμή υποστηρίζει πως έχει τον πιο ισχυρό desktop επεξεργαστή που έχει κατασκευαστεί ποτέ. Τα νούμερα δείχνουν ότι λέει την αλήθεια(βλ. guru3d, anandtech, phoronix, techspot κτλ. ). Μοναδική εξαίρεση που υπερτερεί κατά κράτος η Intel είναι σε επιστημονικές εφαρμογές που κάνουν εκτεταμένη χρηση του AVX-512 για πολλαπλασιασμό μητρώων. Να αναφερώ, οτι ο συγκεκριμένος επεργαστής σε πάρα πολλά multithreaded workloads αποδίδει ίδια ή και καλύτερα από multisocket συστήματα των 40000€ ( βλ. Passmark, openbenchmarking.org κτλ. ). Είναι τεράστιο επίτευγμα το να μπορέι πλέον ο καθένας να τρέχει/δοκιμάζει διαφόρων ειδών workloads στο σπίτι του, που στο παρελθόν για να μπορούσε θα έπρεπε είτε να μπαίνει σε αναμονή σε ερευνητικά ιδρύματα είτε να πληρώνει υπέρογκα ποσά για να έχει πρόσβαση στο high performance computing.