Monday, October 24, 2005

Technologie: dvou (a více) jádrové procesory.

Již několik desítek let nás na této planetě doprovázejí počítače. Pokud vynecháme jejich původ, a značně zjednodušíme jejich vývoj, tak by se dalo říct, že se skládaly napřed z jedné jednotky běžící pomalu. Poté byl počet zvýšen, takže výkon rostl, i když rychlost zůstala stejná. Pak byla zvýšena rychlost, a klesla potřeba jednotek času na jeden výpočet. (původní počítače potřebovaly k jednomu výpočtu několik taktů) Poté opět přibylo jednotek, atd. A nyní se opět dostáváme k momentu kdy se zdá zvyšování prosté rychlosti být nemožné. Takže došlo ke snaze zvýšit výkon přidáním vlastně identického jádra na původní křemíkovou destičku. Podívejme se společně na to, jaké to přineslo problémy, jaké výhody a jaké nevýhody. Problémů je celá řada, například jak zajistit těmto dvěma procesorům přístup k paměti a sběrnicím, jak řešit okamžiky, kdy má data potřebná pro výpočet jednoho jádra ve své cache jádro druhé atd. Pravdou je, že to bylo vyřešeno docela dobře, v tom problém není. Horší už to je se samotnými programy, protože těch bohužel umí výhody více jader či více procesorů používat jen málo. Hlavní problém je v tom, že systém má obvykle dva stavy: volný, kdy naprostá většina výkonu zůstane nevyužita (a je jedno, jestli je v tom okamžiku k dispozici jeden procesor o jednom jádru, nebo čtyři po dvou jádrech) a plnou zátěž, kdy prozměnu bývá zpomalován požadavky na přístup na disk, který má poměrně omezenou rychlost. A pak je také vcelku jedno, kolik je procesorů a jader, protože když dodělají ty výpočty ke kterým mají data, tak čekají než jim něco přijde tisíce cyklů. Tedy, aby to neznělo až tak pesimisticky, mít více jader v systému má oproti více procesorům výhody plynoucí už z jejich dyzické blízkosti, protože rychlost průtoku dat mezi jejich cache je fyzicky omezena rychlostí světla, a tudíž pouhých několik centimetrů vzdálenosti může při stovkách tisíc dotazů za sekundu hrát roli. (a také hraje, problém je například s pamětmi, kde se musí kontakty které by byly blíž vést takovou dráhou, aby byly stejně dlouhé, jinak by dorazila v jednom cyklu půl dat z jednoho dotazu, a půl z předchozího) Obecně se dá říct, že jen málokdo provozuje na svém domácím počítači takové úlohy, aby mu stála dvě jádra za to, protože nárůst výkonu je o pouhá procenta, zatímco nárůst ceny je dvojnásobný (i vyšší). Oproti tomu, ale u serverových systémů, které vše co dělají optimalizují pro použití všech dostupných jader a procesorů, je situace přesně odlišná. Tam je možnost zapojit do serveru stejné velikosti procesory co podají dvojnásobek výkonu přímo požehnáním. Ale kam se situace obrátí? Jak půjde vývoj? Podle předchozích skoků by se dalo usoudit, že nás bydou čekat rychlejší procesory se dvěma jádry, a poté s ještě více. Jsem zvědavý, jak to bude ještě pak, protože velice zajímavě se jeví architektura čipu cell, který má jader devět. Jedno řídící, a osm výkonových.

Comments: Post a Comment



<< Home

This page is powered by Blogger. Isn't yours?


Blog Directory