EN

Pridať nový komentár

Pjetro de
Existuju tusim iste studie, podla ktorych vyuzivat parelelizmus (mysli sa JEDNYM procesom/vypoctom) x86 architektury na viac ako 16 jadrach/vlaknach uz nema zmysel, pretoze vykon vobec nerastie linearne. Koniec koncov to je aj jasne. Napr. 2 kusy 16-jadrovych serverovskych AMD hovád v dvoj socketovej fosni (aby sme to nekomplikovali s HT) nie je v serveri preto, aby jediny x264vfw proces vyuzil vsetkych 32 jadier a bezal 32-nasobne rychlejsie ako keby bezal na jadre jedinom. To je tam preto, aby mohlo bezat naraz (realne naraz) 32 vlakien. Takze 32-64 jadrovych CPU na baze dnesneho x86 sa bezne v desktopoch/notebookoch asi nedockame. Samozrejme 32 vlakien vie bezaj aj na 1-jadrovom 1-vlaknovom Pentiu III. Koniec koncov ked pustim Wokna tak v task manageri vidim ze bezi "naraz" cca 1000-1200 vlakien! Lenze oni vooobec nebezia naraz. CPU sa kazdemu venuje par mikrosekund (niekolko tisic cyklov), resp. podla priority a nasledne prechadza na dalsie a vsetky si ich prehadzuje. Samozrejme aj ten 1-jadrovy 1-vlaknovy si ich vsetky prehodi za jedinu milisekundu a zasa si ich zacne prehadzavat znova a znova a znova a tak furt - a tak sa zda, ze vsetky bezia naraz, aj ked v holej skutocnosti a realite bezi vzdy iba jedno. Viac vlaknove CPU maju tu vyhodu, ze tam ozaj naraz moze bezat viac vlakien 2-4-6-8 ... a CPU si tych cca tisic vlakien z OS prehadzuje menej casto. Napr. spustim MS Word a v task manageri pocet vlakien stupne o 12-15. Dnes 1-vlaknove aplikacie vlastne neexistuju, alebo len tie najjednoduchsie. Jedno vlakno Wordu mi sleduje co pisem na klavesnici, druhe pohyby mysou, tretie co stvaram v GUI, stvrte sa stara o pristupy na disk, dalsich 5 tvori jadro ... atd. Ten Word totiz toto vsetko tiez musi stihat "naraz" tvoriac tak naoko integralnu a kompaktnu aplikaciu. Ten popuk o multivlaknovom programovani je presne o opacnom. Aby sice aplikacia vyuzivala viac vlakien, ale aby kazde vlakno robilo na TEJ ISTEJ A JEDINEJ VECI a nie kazde vlakno vzdy inu vec ako v priklade s Wordom. Proste napr. aby kazde z 8 vlakien enkodovalo jedno jedine konkretne video.
TOPlist