O technologiích CPU

Procesory Intel, AMD a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod Eagle 15. 12. 2008 00:14

Pokud považuješ za nesmysly to, co se masově uchytilo a co je podpořeno realitou (nasazení x86 i neúspěch Linuxu u lidí z důvodu jeho nekompatibility a přílišné složitosti), pak se budeš hádat asi docela často. Neříkám, že x86 a Windows jsou technicky lepší, jen se prostě prosadily, takže jejich business model je lepší (a tudíž jsou celkově lepší). Je to asi stejné jako s multicore CPU - vím, že uživatelům jsou běžně více méně k ničemu a že jim žádný skutečný benefit nepřináší. Přesto se prosadily a budou se prosazovat i nadále. Proč? Protože mají dobře zvládnutý business model (... založený na oblbování lidí). Smutné, ale je to tak. Nicméně v obou oblastech je vidět posun - čím dál tím víc lidí začíná o Linuxu přemýšlet a čím dál tím víc lidí zjišťuje, že multicore CPU jsou až na několik speciálních úloh jen bullshitting.
Eagle
Junior

Odeslat příspěvekod DevAstor 15. 12. 2008 00:57

vykon je potreba jen na hry a na ty specialni ulohy a prave tam uz dnes vice jadrova CPU prinaseji vysledek a stavaji se temer nutnost, to je jasne

vim ze jsi byl odpurce vicejadroveho reseni, take s tebou i v necem souhlasim viewtopic.php?p=5889132

ale budu se ted bavit o hrach, u nich uz take spouste nestaci jedno dobre taktovane jadro a pro plynuly chod potrebuji aspon 2 (z osobní zkušenosti hlavně Sacred 2, Zaklínač...) a bude to i horsi viewtopic.php?p=5796822#p5796822
Toto je můj osobní názor.

    (\_/)
    (°.°)           <=(čert s dvouma půllitrama)
   c(”)(”)
DevAstor
VIP uživatel
Uživatelský avatar

Odeslat příspěvekod Ageran 15. 12. 2008 11:26

Eagle:
Nesouhlasím s tebou ohledně multicore. V otázce vývoje je paralelizace jasná a jediná logická cesta. Stále rychlejší jednojádrové procesory nejsou.
Je to prostě cesta, po které se musí jít, protože je lepší mít dva (či více) silné koně než jednoho supersilného :-)
Aby ale nevznikla mýlka, souhlasím s Tebou v tom, že pro většinu uživatelů ve většině případů je jedno jádro naprosto dostačující. Pro většinu uživatelů by byl taky dostačující počítač 5 let (možná i víc) starý...
Jakmile ale chceš "jít s dobou" (jak jsi řekl, necháš se ovlivnit marketingem), musíš mít věci nové, lepší... A nebo pokud to potřebuješ... Vlastnosti a limity čehokoliv (v našem případě CPU) se projeví pouze v extrémních případech... Mít puštěný prohlížeč a word, tam je jedno jádro víc než dost, ale mít puštěných několik virtuálních strojů, přehrávat video v HD a pod tím prohlížeč s mnoha panely, to už se ti další jádro projeví :-)
Ageran
Mírně pokročilý
Uživatelský avatar

Odeslat příspěvekod wizpal 15. 12. 2008 14:44

Windows jsou prostě lepší než Linux.

O něco později...
Neříkám, že x86 a Windows jsou technicky lepší.


Tomu se říká obrat o 2Pí.

Ano, Windows určitě pojede na PowerPC, IDM Power, Cellu, na procesorech s SH-3, SH-5. Skutečně hezká ukázka kompatibility. :-)) Jinak oháníš se ovladačema - já budu mít radši menší podporu HW na Linuxu než systém, který spadne na blbě napsaném ovladači - ovladače by sice měli být kvalitní, ale na špatné ovladače reagovat pádem systému je trochu komické. Zabezpečení ve Win je defaultně pod bodem mrazu, v XP defaultní účet Správce pc...ano, jde to zabezpečit, ale jak si sám psal, lidé to chtějí jen používat, ne se v tom šťourat (že by sis protiřečil?). O dalším zabezpečení nemá cenu ani mluvit, jen co je exploitů na tu sračku IE (novinka třeba přímo na zde na fóru: viewtopic.php?f=927&t=1059959). Ano, pokud se v tom vyznáš, můžeš roziko snížit správným nastavením, ale jak si řekl, lidé to chtějí jen používat. A v tomto duchu bych mohl samozřejmě pokračovat.


Nevím, jestli si to přehlédnul, tak to píšu znova. Došly argumenty?

edit: píšeš pořád jen o business modelu, ale o tom toto vlákno není. mě jde o technickou stránku, takže buď pokračuj tak nebo nepiš vůbec.
Keep It Simple, Stupid!
wizpal
Junior
Uživatelský avatar

Odeslat příspěvekod jeanledius 15. 12. 2008 22:39

Drahy chytrak

Co v Linuxe ti ide na prvy krat bez doinstalovavania roznych kniznic a podpornych programov?

Ktora distribucia Linuxu je urobena tak, aby si spustil instalacku programu a nainastaloval si ho jednoduchym odklikavanim? A aby si si nainstaloval akykkolvek program ktory si stiahnes bez nutnosti vyhladavat "co este potebujem aby to bezalo?"

Robil som s Linuxom ako zaciatocnik, ale 50 percent programov, ktore som potreboval jednoducho v balickoch neboli, alebo potebovali manualne doinstalovavat rozne verzie dalsich podpornych programov.

Linuxu chyba intuitivne ovldanie, ktore je vo Win dotiahnute zatial celkom dobre. Keby bol Linux dobry system, tak sa uchyti.
jeanledius
Kolemjdoucí

Odeslat příspěvekod davtex 15. 12. 2008 22:59

Napriklad v debiane, co nie je desktopove distro si bez problemov naklikam instalaciu a tiez si naklikam nove programy, staci mi na to kliknut na spravcu a si mozem nainstalovat nieco z obrovskej databazy, z ktorej je vsetko overene a funguje to. A predstav si ze si to nainstaluje aj potrebne kniznice atd samo. Ale teraz k pointa. Neviem kto sa vyjadril ze marketing Linuxu je na *****. Mozno ma pravdu. Je to vlastne jedno pretoze MS ma na marketing par milion % vacsi rozpocet. Ja mam Vistu na NB, Linux na servri a som spokojny.

PS.
Myslim si ze Linux na Asus EEE staci 99% ludom. :)

Vesele Vianoce, mozno to niekomu z vas Anti-Openofficeakov donesie legalny Office :)
davtex
Kolemjdoucí

Odeslat příspěvekod Eagle 16. 12. 2008 01:31

2 Ageran: V zásadě souhlasím, až na jednu věc - zaměření na multicore vede k tomu, že výrobci se vyhýbají potřebě zvyšovat single-threded výkon. Existuje spousta náročných desktopových aplikací (komprese videa, audia, checksumy, starší hry), které nejsou mutlithreaded nebo při multithreaded zpracování vykazují anomálie (snížená kvalita komprese atp.) nebo u nich multithreaded zpracování zvedá výkon jen minoritně. Pro takové úlohy je single-threaded výkon potřeba a v současnosti je ho nedostatek. A je jasné, že takové úlohy se buďto nebudou převádět (starší hry nikdo upravovat nebude) nebo to dokonce ani nejde (např. komprese videa). Bohužel zaměření na multicore vede v posledních asi tak 4 letech k tomu, že tento výkon se nijak znatelně nezvýšil. Já osobně bych třeba vůbec neměl motivaci měnit 4 roky starý počítač, protože nový prostě není rychlejší. A to je smutné. Přitom víc jader se dá snadno nahradit více sockety, zatímco vyšší frekvenci nenahradíš. Nový software samozřejmě už může z multicore profitovat, ale je to skutečně výhodné drasticky zvyšovat výrobní náklady software jen proto, že nějaký výrobce hardware chtěl ušetřit na svých výrobních nákladech?

2 wizpal: Četl jsi, co ti říkám? Celou dobu tady mluvím o tom, že Windows nemusí být nutně technicky lepší (ale ani jsem neřekl, že jsou horší), jen říkám, že prostě mají zvládnuté zásadní věci - tj. že jsou pro běžné lidi a ne šťouraly a že je pro ně vyvíjeno 99 % software. Windows jsou operační systém pro normální lidi, Linux je systém pro ajťáky. Proto jsou Windows úspěšné a Linux neúspěšný. Technická stránka věci není to, co určuje úspěch - tím je kombinace více vlastností. Co se kompatibility týče, tak znovu ti zopakuju již jednou řečené - MS se nemůže chovat jako Linuxová komunita, která si cosi vydá a za nic neručí. MS dělá komerční software a ručí zákazníkům za to, že bude dobře fungovat. Vydáním kompilací pro další CPU (což by pro MS nebyl problém - viz podporované Itanium a v historii podporované PowerPC) by musel podporovat další variantu. Se vším nutným testováním funkčnosti, kompatibility, záplat atd. (... což Linux komunita vůbec neřeší, protože pojem odpovědnost za funkčnost je u ní velká neznámá) by se mu silně zvedly náklady. A k čemu by to bylo, když tyto procesory má jen úplné minimum lidí? Já osobně neznám nikoho v mém okolí, kdo by měl něco jiného než PC.

2 davtex: Office mám legálně koupený - proč taky ne, s dnešní cenovou politikou ho lze na domácí nekomerční použití pořídit za 1300 Kč s DPH. Není v něm sice všechno, ale třeba takový Access je možné nahradit dost dobrým SQL Serverem Express Edition. Do firmy je to dražší a zde se mi cenová politika MS ne úplně líbí. Nicméně ve srovnání s OpenOffice mám jakousi záruku kompatibility (když něco udělám, tak to bude v Office nějak konkrétně vypadat, v OpenOffice můžou třeba grafy vypadat trochu jinak) a především v Excelu chodí VBAčko, což je sice děsivý jazyk, ale pro malé úlohy je použitelný. V OpenOffice je něco úplně jiného, čili kompatibilita Excel souborů s makry s OpenOffice je nulová - a to je prostě dost problém. Vyvíjet v té šílenosti v Calcu taky není proti VBA nic moc.
Eagle
Junior

Odeslat příspěvekod developer 16. 12. 2008 14:54

no silna diskusia, len co je pravda:)

Nie vsetko co ma nalepku non-x86 je perla ludskeho umu. Napriklad kdesi na zaciatku zmienovane PowerPCs co davaju Sony a MS do svojich najnovsich konzol su orezane smejdy. Su medzi nimi nepatrne rozdiely, ale v hrubych rysoch su tieto CPU velmi podobne. ~3Ghz, In-order architektura, hyper threading. V pripade PS3 je navyse ten slavny cell a XBOX ma naproti tomu 3 rovnocenne powerPC jadra. Vsetko toto su zname fakty. Co je menej zname (alebo sa to tak casto neuvadza) je fakt, ze su to skutocne in-order architektury (vratane SPU jednotiek cellu) s velmi dlhou pipeline (uz si presne nepamatam, ale zhruba 20 krokov minimalne), takze stallovanie instrukcii koli obycajnym registrovym zavislostiam je tam na uplne beznom poriadku.

Pracoval som dlhe roky ako game developer a za ten cas mi preslo par hernych platforiem rukami. Prax je vsak taka, ze moze tu chalan (wizpal) onanovat nad kvalitnou a cistou instrukcnou sadou (napr. altivec), ale napr. jadro hry sa pise aj tak v c++ a optimalizovany je len skutocne nepatrny zlomok kodu. Podobne je to aj v inych oblastiach vyvoja sw. VLIW architektura Itania je na papieri super, ale programovat nieco "rucne" pren, musi byt masaker. Mal som tu cest programovat pre staru Sony PS2, ktora mala dva VLIW vektorove procesory (instrukcia bola zlozena z dvoch nezavislych instrukcii) a nie je to teda ziadna sranda. Tym padom je vyvoj na taketo platformy extremne predrazeny a efekt je velmi diskutabilny. Skratka, Itanium je platforma odsudena byt v uzadi mainstreamu.

Dalsia vec je fakt, ze x86 kompilatory dnes vyuzivaju skutocne len zlomok tej obrovskej instrukcnej sady. Prakticky len jednoduche, dalo by sa povedat risc-like instrukcie a tomu sa samozrejme prisposobili procesory (alebo to bolo naopak?:). Skutocne som sa nestihal divit, ake finty robi napr. AMD pri spracovani kodu. Bezne dokaze identifikovat skupinu 2..3 vzajomne zavislych instrukcii a spracovat ju ako jednu operaciu (da sa kdesi z AMD webu stiahnut emulator K7/8 architektury).

Abych to ale zhrnul, tak specialne v pripade vyssie spominanych hernych konzol su tie procesory podpriemerne s maximalne orezanou architekturou (najma koli vyslednej nizkej cene). V konecnom dosledku sa ale staraju primarne o reziu grafickeho hardware a vykonavaju hlavne ulohy typu "spracuj tieto vertexy v gfx", takze na dane pouzitie stacia.
developer
Kolemjdoucí

Odeslat příspěvekod wizpal 16. 12. 2008 16:46

2Eagle: Windows právě nemají zvládnuté zásadní věci, vždyť to celou dobu píšu. Bezpečnost je naprosto nedostačující, naprostá důvěra v ovladače, takže dojdeme k situaci, kdi ti blbě napsaný driver schodí systém. Ano, tohle jistým způsobem řeší Windows Vista, ale ne každý Vistu má (navíc ani zde to není nejrůžovější - to už je takový standart Windowsů), v XP to zvládnuté není ani náhodou. Naopak tyto věci se prostě na Linuxu nestanou. Můžeš s tím nesouhlasit, ale je to tak. Naopak mě přijde lepší jednou za čas komplikovaněji naistalovat nějaký SW než režit fatální nedostatky v zabezpečení různými aplikacemi třetích stran, které opět rapidně sníží výkon počítače.

Ono je ale v podstatě dobře, že MS neumí jiné platformy. **** totiž i jiné platformy Windowsema, které okamžitě sníží výkon pc na polovinu je dost šílené - viz. třeba jak MS radši ukončil podporu procesorů Alpha na W NT, ptž nedokázal vytvořit kvalitní systém, který by běžel na této platformě rychle - tenkrát MS přepínal 64bit procesor do 32bitového režimu, což vedlo k šíleným ztrátám na výkonu.

To jsou furt jen kecy od MS, jak vylepšují, jak zbrojí, ale výsledek je ten, že vyjde Vista, která má problémy s intepretací IPv6 (opět i zde chyby v zabezpečení, nepředávala chybové hlášení aplikacím, některé sítě ani nerozeznala, takže sis ani pitomej router nepingnul), exploit na nový "extra zabezpečený" IE vyšel 5 minut po vydání nové verze atp. Tohle jsou základní věci, s kterými má MS dlouhodobě problémy. Skutečně tedy nechápu, jak si můžeš myslet opak.

2jeanledius: Moc zkušeností s tím nemáš, jinak by si tohle prostě nemohl psát. Jak už bylo řečeno, např. v Debiane je instalace programů naprostá pohoda. Intuitivní ovládání má dle mého Linux dobré.
Keby bol Linux dobry system, tak sa uchyti.
Ano, žij ve snu.

2developer: Je jasné, že ne všechno, co má nálepku non-x86 je skvělé.
Dalsia vec je fakt, ze x86 kompilatory dnes vyuzivaju skutocne len zlomok tej obrovskej instrukcnej sady. Prakticky len jednoduche, dalo by sa povedat risc-like instrukcie a tomu sa samozrejme prisposobili procesory (alebo to bolo naopak?:).
Jednoduše se příšerné instrukční sadě přizpůsobují kompilátory, aby se alespoň trochu zachránil mizerný výkon takových procesorů (který by měli, kdyby se kompilátory nevyvíjely).
Naposledy upravil wizpal dne 16. 12. 2008 16:53, celkově upraveno 2
Keep It Simple, Stupid!
wizpal
Junior
Uživatelský avatar

Odeslat příspěvekod Ageran 16. 12. 2008 16:51

Eagle:
Nemůžu s tebou souhlasit. Každá nová architektura přináší zvýšení výkonu v jednovláknových úlohách, třebaže minoritně. Ale to je přesně to, o čem jsem mluvil. Síla jednoho jádra už neroste (a ani nemůže růst) tak rychle jako dřív, tudíž je nutné to kompenzovat jinak, v našem případě násobením počtu jader a tím pádem lepší paralelizací...
Ohledně tvých problémů s multicore, například zrovna zpracování videa je jedna z prvních oblastí, ve kterých se používalo a používá více vláken. Jak si sám napsal, všechno je to jen otázka softwaru.
A tvoje narážka na právě software, ta je naprosto obrácená. Proč by měl výrobce HW dělat něco, co nemá budoucnost (jednojádra), jen proto, že programátoři kvůli tomu musí trochu upravit svoje návyky (programovat vícevláknově)? Starší soft na vícejádru běží a snížení výkonu nevykazuje, oproti tomu vícevláknové programy z toho mohou jen profitovat...

Více jader nakonec stejně zvítězí ;-)
Ageran
Mírně pokročilý
Uživatelský avatar

Odeslat příspěvekod Eagle 16. 12. 2008 20:28

wizpal píše:Bezpečnost je naprosto nedostačující, naprostá důvěra v ovladače, takže dojdeme k situaci, kdi ti blbě napsaný driver schodí systém.

Ano, to se ví. Jenže nedostatky jsou v každém velkém systému a nejspíš si tohle nikdo při návrhu (v dobách vývoje Windows NT) neuvědomil nebo to vědomě ignoroval kvůli nárokům na hardware (tehdy bylo standardem tak 4 MB RAM). A pak se to táhlo. Nevěřím tomu, že by Linux neměl nějaká problémová místa. Možná jich má méně, ale taky je má.

wizpal píše:Naopak mě přijde lepší jednou za čas komplikovaněji naistalovat nějaký SW než režit fatální nedostatky v zabezpečení různými aplikacemi třetích stran, které opět rapidně sníží výkon počítače.

Tohle je pohled ajťáka. Normální user ale nechce pokud možno instalovat vůbec. Ty taky nejspíš nerozumíš funkci spalovacích motorů, zajímá tě jen to, že v autě otočíš klíčkem a ono nějak pojede. A zhruba to zajímá typického uživatele počítače. Jakákoli složitější věc (instalace SW, rozbalení archivu, konfigurace sítě) a je v koncích.

wizpal píše:exploit na nový "extra zabezpečený" IE vyšel 5 minut po vydání nové verze atp.

Zas si nedělej naděje, že ostatní SW je na tom lépe. SW vždycky dělají lidé a ti něco u takto složitých projektů nedomyslí nebo na něco zapomenou. To taky byla spousta řečí, jak je Firefox úžasný. Realita? Chyb se v něm našla spousta a navíc byl (možná stále je) strašlivě pomalý.

wizpal píše:Skutečně tedy nechápu, jak si můžeš myslet opak.

Nemyslím si opak. Jde jen o to, nakolik mi to přijde závažné. Třeba to s ovladači mi nevadí - jednou si ovladač vyzkouším a když je špatný, tak nainstaluju jiný. Něco jiného mi může vadit víc. Důležitý je celkový obraz. A zde MS vede. Proč? On totiž pochopil, co lidé chtějí. MS dokázal proniknout ke školení lidí a dokázal nabídnout neuvěřitelnou podporu vývojářům. MSDN a Visual Studio jsou velice kvalitní produkty, se kterými se může máloco rovnat. Visual C++ je jeden z nejlepších kompilátorů vůbec (společně s Intel C++) a běžně se v něm vyvíjí náročné věci jako hry. NET Framework je zase super platforma pro vývoj aplikací, u kterých jde primárně o rychlost a jednoduchost vývoje a spolehlivost řešení (ať se to lidem líbí nebo ne, .NET má obrovský úspěch a to zaslouženě - vývojové prostředí je pro nenáročné úlohy velice kvalitní). MS nabízí vývojářům standardizaci - to je obrovská výhoda. Není nic horšího, než když si programátor nemůže být jistý tím, zda na cílovém počítači jeho program poběží. A přesně to se děje u Linuxu - v záplavě různých RedHatů, SuSe, Fedor, Ubuntu a dalších distribucí není vůbec jisté, zda ona konkrétní instalace bude mít všechny potřebné soubory. U Windows vývojář ví, že instalace Windows XP obsahuje to a ono a hotovo. Může se spolehnout na to, že knihovna XYZ.dll tam prostě bude a to v nějaké verzi, a tedy se může odkazovat na jí nabízené třídy a metody. Takováto standardizace Linuxu zcela chybí. Nelze se divit, že se Linux plácá v prostředí lidí, kteří se vyžívají v kompilacích kernelu, zatímco mezi lidmi, kteří počítač berou jako nástroj sluhu, se téměř nevyskytuje. Typičtí uživatelé prostě nebudou řešit, proč program A pod Linuxem neběží a proč program B pod Linuxem hází chyby kompilace. To si radši koupí za 3000 Windows - vyjde je to mnohem levněji, protože ušetří obrovské množství času. A přístupem Linuxu k vývojářům ("vše napíšeme v C++") se nelze divit, že ani mezi programátory není nijak zvlášť oblíbený - psát jednoduché věci v C++ je totální overkill, na to se mají používat RAD nástroje.

Ageran píše:Každá nová architektura přináší zvýšení výkonu v jednovláknových úlohách, třebaže minoritně. Ale to je přesně to, o čem jsem mluvil. Síla jednoho jádra už neroste (a ani nemůže růst) tak rychle jako dřív, tudíž je nutné to kompenzovat jinak, v našem případě násobením počtu jader a tím pádem lepší paralelizací...

Podle mě to vidíš příliš zjednodušeně. Víc jader znamená větší spotřebu a větší teplo. To byly přesně ty důvody, proč skončila MHz válka. Nyní se ale ty samé problémy objevují znova. Core 2 není zázračný multicore, je to v principu mobilní procesor. A díky jeho šetřícím funkcím je možné mít 3 GHz se spotřebou na jádro jen 30W. Když jsme ale schopni vytvořit 30W 3 GHz, tak bychom s 90W a trochou ladění architektury určitě ty 4 GHz dali (ne-li 4.5 GHz). A o tom to přesně je. Při nasazení úsporných funkcí a s dnešními možnostmi jsme schopni vyrobit mnohem rychlejší jednojádro, než které je nyní na trhu. To onen větší počet jader limituje frekvenci, protože pro marketing je těžko přiznatelné, že multicore efektivně brání nárůstu frekvence. Pro výrobce CPU je samozřejmě jednodušší splácat multicore, než se snažit vylepšovat jednojádro (je to levnější jak z hlediska vývoje, tak i nejspíš z hlediska výrobních nákladů). Marketing tedy dnes zabraňuje uvedení rychlejších jednojader, není to technologie. Kdyby pokračovala MHz válka, mohla být frekvence klidně o 30 % výš a profitovaly by z toho všechny softwary.

Ageran píše:například zrovna zpracování videa je jedna z prvních oblastí, ve kterých se používalo a používá více vláken.

Ano, na úkor kvality. Když se trochu porozhlédneš, zjistíš, že paralelizace složitých (a výpočetně náročných) audio / videokodeků je s rostoucí složitostí kodeku obtížnější. Proč? Protože oné lepší komprese se dosahuje mimo jiné i tím, že jednotlivé části datových proudů jsou na sobě víc závislé. A když je něco na sobě závislé, tak se to velmi špatně dělá paralelně (... protože paralelně můžeš dělat jen to, co je nezávislé). Ono když porušíš logické závislosti (a tím vlastně zničíš integritu dat), tak je samozřejmě docela jednoduché paralelizovat. Přesně takhle je udělaný třeba WinRAR - s každým dalším spuštěným vláknem navíc se bude výsledný archiv binárně lišit. Zajímavé, že? Jak je možné, že se výsledný soubor liší jen podle toho, na jakém CPU ho pustíš? To asi není úplně korektní.

Ageran píše:A tvoje narážka na právě software, ta je naprosto obrácená. Proč by měl výrobce HW dělat něco, co nemá budoucnost (jednojádra), jen proto, že programátoři kvůli tomu musí trochu upravit svoje návyky (programovat vícevláknově)?

Proč? Protože jednojádra mají budoucnost! Navyšování frekvence jednojader skončilo z úplně stejných důvodů, které trápí i multicore. A z mého pohledu je lepší mít rychlá jednojádra, protože na nich poběží rychle jak neoptimalizovaný software, tak optimalizovaný software (výše taktovaný CPU urychlí všechny úlohy). Na multicore se stejnou frekvencí poběží dobře jen optimalizované úlohy (a to ještě kdo ví jak moc dobře), pokud frekvenci snížíme, tak výkon v oněch neoptimalizovaných úlohách dokonce klesne. A podle mě třeba design Nehalemu jasně poškozuje single-threaded úlohy ve prospěch multithreaded. Víc jader můžeme snadno získat větším počtem socketů, naopak vyšší frekvenci nijak nedostaneme. Kvůli více jádrům výkon v neoptimalizovaných programech už delší dobu stagnuje.

Ageran píše:Více jader nakonec stejně zvítězí ;-)

Podle mě to čeká podobný osud jako MMX a SSE - v některých případech se to použije, ale u ne vysloveně kriticky náročných úloh (např. počítání checksumů) se na nějaké optimalizace programátoři vybodnou.
Eagle
Junior

Odeslat příspěvekod Ageran 16. 12. 2008 21:25

Eagle:
Myslím, že to vidíš úplně stejně zjednodušeně jako já, jen z jiného (více méně opačného) úhlu...
Vlastnosti (téměř) ideálního procesoru:
- vysoká frekvence
- nízká spotřeba
- vysoký výkon v jednom vlákně
- vysoký výkon ve více vláknech (mnoho jader)
- nízká cena (výrobní náklady)
- malá velikost
- minimální, nejlépe žádné, tepelné ztráty

V tomhle případě by byli spokojení všichni. Jenže jak jistě vidíš, některé body jsou více či méně v opozici, takže bohužel, všichni nikdy spokojení nebudou...

Tvůj postoj je takový, že pokud by se vývoj ubíral dál cestou jednoho silného jádra, bylo by to lepší, než současná situace, kdy se vývoj ubírá cestou několika pomalejších jader. A já si to nemyslím. Kdyby pokračovala válka frekvencí, byli bychom jistě někde jinde... otázka je kde?

V době počátků více jader jsem četl takovou pěknou analogii s knihovnou:
Místnost plná knih (počítač, - knihy reprezentují HDD), ve které je stůl (jádro počítače) u kterého se jediného dá číst a pracovat. Lidé (jednotlivé procesy, případně vlákna) stojí v řadě a čekají, až je knihovník (OS) pustí ke stolu (přidělí jim čas CPU) a oni si budou moci svou chvilku číst, než knihovník řekne, že ke stolu má jít někdo další, vezmě čltenáři jeho knihy a vrátí je do polic... To je situace jednojádrového procesoru. Pak se objeví druhý stůl (jádro), u kterého se dá pracovat. Situace je stejná, knihovník má sice více práce (o něco málo větší režie systému), ale jinak můžou pracovat dva lidé najednou... Analogicky více jader je více stolů...

Takže z mého pohledu je lepší mít více jader. Více jader není jen o více vláknech, ale i o více procesech (úlohách) běžících najednou, a v tomto ohledu jednojádro prostě nemá nárok...

Pokud výkon v neoptimalizovaných programech stagnuje (tudíž neklesá), nevidím problém, pokud by se tomu programu někdo věnoval a optimalizoval, výkon by logicky jistě vzrostl ;-) S tou optimalizací, bude to nějakou dobu trvat, ale nakonec k tomu dojde, protože frekvenci do nekonečna zvedat nemůžeš, kdežto počet jader téměř ano :-) Alespoň to programátory donutí se tomu věnovat...
Ageran
Mírně pokročilý
Uživatelský avatar

Odeslat příspěvekod Eagle 16. 12. 2008 22:00

Tenhle příklad nepovažuju za vhodný, protože je jednostranný. Řeknu ti jiný, podle mě vhodnější. Máš dvě auta - osobák a Tatru 815. V osobáku přepravíš málo věcí, ale rychle. Tatrou 815 přepravíš velké náklady, ale pomalu. Osobák je jakási analogie jednojádra - můžeš v něm vozit cokoli, vždycky rychle, ale jen v omezeném množství. Tatra je analogie multicore - můžeš v tom taky vozit cokoli, ve velkém množství, ale rychlost je malá. Když vezeš pytel cementu, je lepší ho vézt v osobáku. Když vezeš tchýni, tak taky. Pouze když vezeš haldu štěrku na stavbu, je lepší jet Tatrou. A úplně stejně je to se softwarem - více software bude z principu neoptimalizovaného (stejně jako je víc využití pro osobák), a proto bude preferovat jednojádro. Pouze některé specifické úlohy budou vhodné pro multicore. A vzhledem k tomu, že tvorba multithreaded software je velmi velmi obtížná (je obtížné to navrhnout a přímo děsivé to debugovat)...

Mezi MHz válkou a core válkou je v zásadě jediný rozdíl - MHz válka prospívá všem programům, core válka jen optimalizovaným. MHz válka nezvyšuje náklady na vývoj software ani nevede k jeho zvýšené chybovosti, core válka ano. Co se optimalizace týče - jednak ne všechno jde optimalizovat (jak už jsem řekl, má to značné mouchy) a za druhé už existuje spousta zkompilovaného software, který nutně potřebuje rychlejší procesory a který už nikdo optimalizovat nebude. Jinak MHz válka i core válka naráží na ty samé problémy - fyzikální limity. Nemůžeš mít víc jader, aniž by si nesnížil frekvenci - buďto máš jedno nebo druhé, ale nikdy ne oboje.
Eagle
Junior

Odeslat příspěvekod wizpal 16. 12. 2008 22:09

RAD - o tom jsem tu někde nedávno mluvil. Jistě pro někoho šikovná věc, pro druhého může být samotný princip RAD blbost (tuším že v threadu o JAVĚ A .NETu v programování, tak si to kdyžtak najdi).

Dále říkáš, že MS standartizuje, to ano a snad je to někdy i správné. Ale teď mi popravdě řekni, kolik znáš programů, které nainstaluješ z účtu usera (bez vyšších práv v systému)? Já už moc ne. Bohužel je smutné, že vyšší práva už vyžadují i aplikace jako např. ICQ6, různé grafické editory - nepřijde ti to jako negativní dopadek nedostatečného "cepování" programátorů pod Windows? Zrovna tady moc standartizováno není a imho je to zde v současné době nejvíc potřeba. Toto nejspíš nevadí běžným userům, ale mě to dost štve, ptž já v současné době nenainstaluji ani blbý grafický editor bez toho, abych instalaci spustil s vyššími právy.

Ano, Linux má skutečně problémová místa, ale má jich méně a je pod linuxem daleko méně takovýchto možností. Asi to nerad uslišíš, ale Windows jsou prostě špatně navrhlá a příležitostí k odhalení nové bezpečnostní chyby je daleko větší.

FF taky není nejlepší prohlížeč, jsou i rychlejší prohlížeče, to zas ano. Navíc je FF známý špatným přístupem k operační paměti. Ale je vcelku bezpečný, ikdyž i zde se najde spousta chyb, to s tebou v podstatě souhlasím. Pořád je ale rychlejší a zároveň bezpečnější než IE.
Keep It Simple, Stupid!
wizpal
Junior
Uživatelský avatar

Odeslat příspěvekod Ares952 16. 12. 2008 23:15

Ano, to se ví. Jenže nedostatky jsou v každém velkém systému a nejspíš si tohle nikdo při návrhu (v dobách vývoje Windows NT) neuvědomil nebo to vědomě ignoroval kvůli nárokům na hardware (tehdy bylo standardem tak 4 MB RAM). A pak se to táhlo. Nevěřím tomu, že by Linux neměl nějaká problémová místa. Možná jich má méně, ale taky je má.

ano, i Linux ma sve problemy, ale je v minorite, tak se na ne nejaky utocnik vykasle, radsi pujde po majoritnim systemu. Rozdil je ale jen v tom, ze problemy v linuxu se daji vyresit rychleji (a mozna i efektivneji) nez u Windowsu

Tohle je pohled ajťáka. Normální user ale nechce pokud možno instalovat vůbec. Ty taky nejspíš nerozumíš funkci spalovacích motorů, zajímá tě jen to, že v autě otočíš klíčkem a ono nějak pojede. A zhruba to zajímá typického uživatele počítače. Jakákoli složitější věc (instalace SW, rozbalení archivu, konfigurace sítě) a je v koncích.

ale i normalni user musi nekdy instalovat software a pokud ho nebude instalovat, tak nebude instalovat system, ani se v nem hrabat. Tak jaky je pro nej problem, zda pouziva ten ci onen system, kdyz do nej stejne on nehrabe?

...Nelze se divit, že se Linux plácá v prostředí lidí, kteří se vyžívají v kompilacích kernelu, zatímco mezi lidmi, kteří počítač berou jako nástroj sluhu, se téměř nevyskytuje. Typičtí uživatelé prostě nebudou řešit, proč program A pod Linuxem neběží a proč program B pod Linuxem hází chyby kompilace. To si radši koupí za 3000 Windows - vyjde je to mnohem levněji, protože ušetří obrovské množství času. A přístupem Linuxu k vývojářům ("vše napíšeme v C++") se nelze divit, že ani mezi programátory není nijak zvlášť oblíbený - psát jednoduché věci v C++ je totální overkill, na to se mají používat RAD nástroje.

pouzivam system s linuxem asi rok a zatim jsem nepotreboval kompilovat jadro, nedejboze nejaky program (kdyz nepocitam svoje aplikace co jsem vytvarel). Kdyz si stahnu program A pro linux z netu (kdyz nahodou neni v repozitari, napriklad opera), tak mi vzdycky funguje. Neresim zadne problemy. Sve zkusenosti mozna zakladas na systemu, ktery zde byl pred peti lety, mozna drive, kdy bylo potreba neco kompilovat. Jinak souhlasim, ze pro Linux neexistuje poradny RAD nastroj (nepocitam treba NetBeans od Sunu, ktery se dle meho nazoru nemuze rovnat treba C++ Builderu od Borlandu). Bohuzel c/c++ zustava v linuxu domenou. Ale rekneme si take, ze uzivateli je to obvykle jedno z hlediska funkcnosti programu (cena, stabilita, vykon, to je uz jina).
Podle mě to vidíš příliš zjednodušeně. Víc jader znamená větší spotřebu a větší teplo.

Ja jsem zrovna zastance multicore. Na PC mezi single a dualcore poznam na vykonu systemu (v mem pripade, nekdo to proste se svymi naroky a svymi potrebami nepozna). Ale pokud se bavim o jinych architekturach (at uz to je DSP nebo DSC pro embedded aplikace), tak tam je mezi single a dualcore vyznamny rozdil, kdyz na jednom jadru provadis regulace nejakeho pohonu a druhem jadru logicke funkce okolo, komunikace a podobne. Ale to uz se netyka PC.
Proč? Protože jednojádra mají budoucnost!

Ano jednojadra maji budoucnost, ale podle me jen v pripade, kdy pouzijes dva procesory v jednom systemu, protoze vykonovy rozdil je opravdu znat. Nemyslim si ale, ze cim vice jader, tim mensi frekvence jadra, takovahle umera podle me neplati (pokud ano, prosim o oduvodneni).
Podle mě to čeká podobný osud jako MMX a SSE....

Zde bych rad jen na okraj poznamenal: jakakoliv nova instrukcni sada, nebo vylepseni je podle me stejne na nic. Vyvijim aplikace na DSC/DSP a i kdyz se tyhle procesory chvastaji svymi instrukcemi ala mac (multiply and acumulate), paralelni instrukce (naprikald nasobeni a zaroven nekde presouvas data), tak v okamziku kdy pouzijes C/C++ nebo jazyk vyssi urovne, tak takovehle instrukce jsou stejne na nic, protoze to proste prekladac nedokaze optimalizovat tak dobre, jak by to dokazal clovek, pokud by to psal v asembleru. Podobna slova ala Texas Instruments: "8 paralelnich instrukci naraz", je jen opravdu marketing (cti: pokud nepouzijes asembler, tak to nevyuzijes).


Stejne si myslim, ze se tu hadate zbytecne. Ja to shrnu asi takhle: Kazdy ma jine pozadavky, nekdo uplatni dvoujadro, nekdo ctyrjadro, nekdo jednojadro. Kazdy si tu bude hajit svoje svoje, svoje zajmy.

Jakykoliv prechod na novou architekturu vzdy narazi na zpetnou kompatibilitu. Je to podle me to same, co brzi prechod z 32bitoveho OS na 64bitovy OS. Proste nektery SW neexistuje na 64 bitu. Sice na 64 bitech je mozne spustit 32bitovy, ale i tak je to prekazka. A co teprve kdyz zmenime celou instrukcni sadu? No to snad ne. Kdo by to prosadil? Ani Intel to neprosadil (a nedokazu posoudit, zda by to bylo k lepsimu nebo horsimu). Tak kdo jiny? Zde je proste problem (a bohuzel musim dat za pravdu wizpalovi) v operacnich systemech. SW se da vzdycky nejak prizpusobit, ale pokud OS nepocita s nasazenim na jine architekture, tak se predelava blbe. Ale proc by mel Microsoft podporovat minoritni architektury? Ten se tim bude zajimat az v pripade, kdy z toho bude mit ekonomicky prospech (a wizpal se tu muze treba stavet na hlavu, ale tohle je proste normalni chovani firmy na trhu). A kruh se uzavira, nova architektura nebude, protoze neni OS pro vetsinu. OS pro vetsinu nebude, dokud nebude rozsirena nova architektura....

No a co, ze ma Microsoft monopol, jen at ho ma, kazdy at si pouziva co chce, ja taky nikomu nevnucuju linux, me nikdo obvykle nevnucuje Windowsy. Pripada mi to, ze se tu zase resi zabomysi valka. Opet se spustil flame.

A abych se vyjadril k puvodnimu tematu, ja nedokazu posoudit, zda je instrukcni sada a vykon x86 lepsi nez neco jineho. K posouzeni nemam dostatecne zkusenosti ani znalosti, ale rikam rovnou, at nekdy v budoucnu prejdeme tam ci onam, vzdycky to bude mit nejake "ale".
Naděje je motorem duše
Ares952
Mírně pokročilý
Uživatelský avatar

Předchozí stránkaDalší stránka

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků