Au trecut doua luni de cand AMD a lansat noua generatie de procesoare Bulldozer, si a dezamagit profund cu ea. Si din cauza arhitecturii interne speciale, cu module cu cate doua unitati de calcul a numerelor intregi (identificate ca nuclee) si o singura unitate pentru virgula mobila, sistemul de operare nu mai stie cum sa o managerieze.
Si in loc sa foloseasca la maxim fiecare modul, trimite instructiunile aleator catre nuclee, mentinand mai multe module decat ar fi necesar active (CPU-urile Bulldozer putandu-si dezactiva independent modulele dar nu si subunitile componente). Drept urmare, functia TurboCore ramane neutilizata, si performanta este ceva mai mica decat ar putea fi.
Asa ca Microsoft a pus la punct un patch pentru Windows 7 si Windows Server 2008, care sa aiba grija de ordinea in care instructiunile sunt trimise la un procesor Bulldozer, pentru a satura un modul inainte de a trece la altul, pastrand loc de overclocking automat prin TurboCore.
Aceasta schimbare ar trebui sa creasca performanta cu 2 – 10 %, in functie de aplicatie. Si asta prin considerearea fiecarui modul ca un nucleu cu Hyper-Threading. Insa lucrurile nu stau chiar asa usor. Microsoft a facut disponibil acest patch, dupa care imediat l-a inlaturat. Se pare ca in timp ce modulele erau saturate corect, pe undeva se pierdea mai multa performanta.
Deci situatia este analizata, si urmeaza sa fie solutionata. Cat mai repede. Ca sa vedem si ceva teste comparative. Windows 8 va avea din start aceasta problema solutionata, insa sunt prea multe sisteme cu Windows 7 ca sa fie abandonat acest sistem de operare.
Mi se pare o greșeala sa faci o arhitectura de procesor care nu e capabila sa ruleze optim software-ul actual. De-a lungul timpului genul asta de abordări s-a dovedit păgubos. Nu cred ca vreun patch sau vreo „optimizare software” poate aduce vreo ameliorare palpabila de performanta în cazul Bulldozer.
@Ceasuri NU. o greseala este sa te limitezi hardware si sa ucizi vizionarii, doar pentru simplul fapt ca soft-ul nu este optimizat. vor veni patch-uri care sa rezolve problemele, dar nevoia de dezvoltare este permanenta
Din pacate, parea acesta e doar una din problemele Buldozerului.
@Vivio: BUldozerul nu are vre-o problema ci chiar sistemul de operare windows. OS trebuie „reparat”, optimizat.
Sunt curios daca si pe Linux are astfel de „probleme”. Nu degeaba se foloseste linux pe hiper-calculatoare
@johnny, miscarea pe care a facut-o AMD cu Bulldozer imi aminteste de Netburst-ul lui Intel, o microarhitectura bazata tot pe marketing (atunci erau la moda Gigaherții). Acum la moda sunt nucleele si din pacate la AMD marketingul a fost mai tare decat ingineria. Dintr-o traznaie de asta se iese greu – Intel a trebuit sa abandoneze complet Netburst-ul ca sa scoata ceva competitiv. Nici pe ei nu i-au ajutat optimizarile software, desi si atunci erau privite ca o solutie.
@Ceasuri
Aha, adica AMD-ul ar trebui sa lase „moda” asta a multinucleelor care nu e decat o chestie de maketing, si sa se apuce de facut procesoare cu 2 nuclee fortoase, ca tot e optimizat softul zilei doar pt 2, cel mai adesea.
Pai, n-am sa mai vin cu argumente pt multithreading/multitasking si cu sperantele mele desarte pt optimizarile de soft viitoare, te invit doar sa tragi cu ochiul in gradina Intel. Or fi si astia pe o pista gresita, de au facut Sandy-Bridge-E cu 8 nuclee nativ? La fel si cu Ivy, care va avea 4-8? Pai, sa-i anuntam degraba sa lase traznaile, ca noi vrem sa batem recorduri si-atat. Ce mai conteaza ca rareori un nucleu de-al unui procesor multicore actual e solicitat 100% de o sarcina normala, si ca nu si-ar avea sensul cresterea puterii de procesare per nucleu cat isi are sensul cresterea nr de nuclee, plus un soft optimizat desigur, astfel incat si performanta one-task dar si multitaskingul sa fie posibile!
@DD, adica AMD-ul ar trebui sa NU sacrifice performanta single-core de dragul marketingului (nr. de nuclee cat mai mare – un nr. care se vinde bine). E inacceptabil ca o noua microarhitectura sa furnizeze o performanta mai slaba in aplicatii single-threaded. Corect este sa cresti eficienta nucleelor in primul rand, si apoi numarul acestora. Din pacate incarcarile tipice desktop sunt foarte sensibile la performanta per core si oricat am vrea noi toti ca softul sa fie optimizat pentru multithreading, orice inginer software stie ca e o chestiune dificila si pur si simplu exista algoritmi ce nu se pot paraleliza.
@ceasuri
Dar numarul de taskuri in desfasurare paralela se poate mari?
Evidenta ca da!
Nu e un lucru greu de observat; ia un calc cu procesor avand performanta per core f buna dar cu 2 nuclee doar(un pentium g850 de exemplu) si un altul cu procesor de 4 nuclee(un phenom x4 sau fx-4100 la aprox acelasi pret cu pentiumul g850). Opereaza uzual cu calculatoarele respective si ai sa observi ce inseamna sa ai doua nuclee, fie si mai slabe, in plus.
@TurocK: m-am săturat să tot fiu Gică Contra referitor la Bulldozer, la cere vârful de gamă (FX-8150) de abia reușește în randări să țină piept unui middle-high range: i5 2500k. Cei 2-10% din partea de multithread, parțial ciuntiți de win 7, nu compensează lipsurile puternice pe parta de single core.
@Ceasuri: Corect! Bune spus: „AMD-ul ar trebui sa NU sacrifice performanta single-core de dragul marketingului (nr. de nuclee cat mai mare – un nr. care se vinde bine)”
@DD, nu se plânge nimeni că pun XYZ nuclee, dar să se pună nuclee forțoase. Cum ar fi să ai un procesor cu nucleu similar cu K6-2 350MHz, dar să ai 64 de nuclee? Sunt destule aplicații ce nu scalează cu numărul nucleelor ci cu puterea lor de procesare.
Tu practic zici: ce contează că face un SuperPI 1M în 90s, că în tot acest timp pot cânta la winamp și vedea filme HD.
Dar e nevoie deseori să lucreze serios un nucleu și dacă e slăbuț, ‘geaba stăm și lăudăm că avem 7 nuclee ce își așteaptă rândul.
Gata, că m-am înfierbântat 🙂
@Vivio
Nu, eu zic ce i-am spus practic si lui @ceasuri. Ce folos ca i5 2500k scoate in jocuri mai multe frame decat fx-8150, daca diferentele respective sunt aproape insesizabile cu ochiul liber, si-n plus, ai parte de o experienta mai fluenta in multitasking, sesizabila!
Si gata, ca m-am saturat si eu sa tot iau partea Bulldozerului, dar asa imi place mie sa nu dau cu piciorul in cel cazut nici daca merita, cu atat mai putin daca nu prea merita.:)
Intre altele patch-ul, asa incomplet sau incorect cum a fost el pentru putinul timp cat a fost disponibil, a fost testat putin. Si rezultatele (in medie) explica disparitia sa:
PCMark7 +6.2%
Blender 2.59 -1.2%
x264 +2%
BadCompany2 720p -3.5%
Civ5 -4.2%
Metro2033 720p -1.9%
Crysis2 720p +7%
da da DD ca 2500k doar pt jocuri e bun.ce folos sa ai 8 core care nu fac nici cat 4 core intel?+ ca e mai ieftin si consuma mai putin?nu ma refer la jocuri.tu ai vazut benchuri intre 2500 si fx-8150?
Da @horea, am vazut destule. In aplicatiile care stiu multithreading, sta la fel de bine daca nu chiar mai bine fx-ul. In celelalte, nu.
In plus fata de benckmarkurile astea, as aminti ca in operarea de zi cu zi multitaskingul e inevitabil. Chiar jucand o ora, doua, ai sa vrei sa-i mai dai de facut si altele de facut calculatorului, fie si un mess deschis, un winamp de-o cantare, un download de pe torrente, etc. Ghici cine o sa sughita primul, cand numarul de taskuri o sa devina mai mare?
Si gata, nu mai vreau sa vb de Bulldozer, treburile-s clare, perf single core mai mica – nr de nuclee mai mare, perf in aplicatii care nu stiu multitreading(deocamdata) mai mica – performanta mai mare in multithreading. In plus, multitaskingul de zi cu zi are deja de castigat. Consumul suplimentar de energie de care se tot aminteste se cifreaza la 3 lei lunar, ceea ce inseamna ca cei cu rate la banci e preferabil sa se abtina.
Eu pariez nu atat pe Bulldozer cat mai ales pe Trinity – urmasul lui, care va fi un APU(ca astea mi se par mie mai promitatoare), gandindu-ma la performanta CPU/GPU, la procesarile seriale impletite cu cele paralele si la ce poate urma de aici in urmatorii cativa ani. Iar softurile vor urma aceeasi cale.