Je to možné, ale já jsem o programování dvoujádrových aplikací slyšel velice nepěkné věci. Rozdělením kódu programu na dvě nebo nedej bože víc vláken přináší obrovské komplikace, protože jedou potom nezávisle a není prakticky možné zajistit, aby jely stejně rychle, protože každé jádro zpracovává něco jiného. Takto se dostává výsledek dvou jader v nestejný čas a v lepším případě se stejně musí počkat na to opožděné jádro, případě doje ke kolizi, pokud to není dokonale ošetřené. Dochází tak k tomu, že je třeba dřív k dispozici výsledek něčeho, co mělo být spočítané až později, ale druhé jádro to nestihlo atd. Vznikají hromady kolizních stavů a velice špatně se hledají jakékoliv chyby v programu. Slyšel jsem, že programátoři velmi silně odmítají právě takové aplikace dělat, zvlášť pokud je to něco tak složitého. Jediná kompromisní cesta je to, že pokud se program zkládá z mnoha různých jednovláknových procesů, tak se ty procesy nerozdvojují do dvou vláken, ale prostě se některé posílají celé do jednoho a jiné do druhého jádra. Takto by teoreticka FS-X mohlo jet, protože obsahuje asi dost různých procesů. Jinak do těch dvou jader to hrozně silně tlačí Intel, protože nebyl schopen poslední dobou přijít s něčím novým a i když to není vůbec ideální cesta ke zvyšování výkonu, tak se rozhodl pro více jader. No a z marketingových důvodů samozřejmě nemohlo AMD zůstat pozadu, i když se dali slyšet, že to nepovažují za nic přínosného. |
|