Škálovatelné koherentní rozhraní - Scalable Coherent Interface

Škálovatelné koherentní rozhraní a asociace uživatelů, vývojářů a výrobců Serial Express
Logo SCIzzL.gif
Skupina, která podporuje standard
Zkratka SCIzzL
Formace 1996
Typ Nezisková
webová stránka www .scizzl .com

Scalable Koherentní rozhraní nebo Scalable Coherent Interconnect ( SCI ), je propojení vysokorychlostní standard pro sdílené paměti multiprocessing a předávání zpráv. Cílem bylo dobře škálovat, zajistit soudržnost paměti celého systému a jednoduché rozhraní; tj. standard, který nahradí stávající sběrnice ve víceprocesorových systémech za jeden bez vlastní škálovatelnosti a omezení výkonu.

IEEE Std 1596-1992, IEEE Standard for Scalable Coherent Interface (SCI) byl schválen normovou radou IEEE 19. března 1992. V devadesátých letech minulého století došlo k určitému využití, ale nikdy se široce nepoužíval a byl nahrazen jinými systémy od rané 2000s.

Dějiny

Brzy poté, co v roce 1987 navázal na projekt Futurebus (IEEE 896) Fastbus (IEEE 960) , někteří inženýři předpovídali, že v době vydání na začátku devadesátých let už bude pro trh s vysoce výkonnými počítači příliš pomalý . V reakci na „Superbus“ studijní skupina byla založena v listopadu 1987. Další pracovní skupina Standards Association na IEEE (IEEE) se točil pryč tvořit standard zaměřený na tomto trhu v červenci 1988. To bylo nezbytně podmnožina funkcí Futurebus, které lze snadno implementovat vysokou rychlostí, spolu s drobnými doplňky, které usnadní připojení k jiným systémům, jako je například VMEbus . Většina vývojářů měla zázemí z vysokorychlostních počítačových autobusů . Mezi zástupce společností z počítačového průmyslu a výzkumné komunity patřily Amdahl, Apple Computer, BB&N , Hewlett-Packard , CERN, Dolphin Server Technology, Cray Research , Sequent, AT&T, Digital Equipment Corporation, McDonnell Douglas, National Semiconductor, Stanford Linear Accelerator Center, Tektronix, Texas Instruments, Unisys, University of Oslo, University of Wisconsin .

Původní záměr byl jednotný standard pro všechny autobusy v počítači. Pracovní skupina brzy přišla s nápadem využívat komunikaci point-to-point ve formě vkládacích prstenů. Tím se kromě umožnění paralelních transakcí předešlo soustředěné kapacitě, omezené fyzické délce/rychlosti světelných problémů a odrazům stubu. Použití zaváděcích prstenů je připsáno Manolisovi Katevenisovi, který to navrhl na jednom z prvních setkání pracovní skupiny. Pracovní skupinu pro vývoj standardu vedl David B. Gustavson (předseda) a David V. James (místopředseda).

David V. James byl hlavním přispěvatelem při psaní specifikací včetně spustitelného C-kódu. Skupina Steina Gjessinga na univerzitě v Oslu použila formální metody k ověření koherenčního protokolu a technologie Dolphin Server Technology implementovala čip řadiče uzlů včetně logiky koherence mezipaměti.

Blokové schéma jednoho příkladu

Různé verze a deriváty SCI byly implementovány společnostmi jako Dolphin Interconnect Solutions , Convex, Data General AViiON (pomocí čipů řadiče mezipaměti a čipů řadičů od Dolphin), Sequent a Cray Research. Řešení Dolphin Interconnect Solutions implementovalo derivát SCI spojený s PCI a PCI-Express, který poskytuje nekoherentní přístup do sdílené paměti. Tuto implementaci používaly Sun Microsystems pro své špičkové klastry, Thales Group a několik dalších, včetně objemových aplikací pro předávání zpráv v rámci HPC klastrování a lékařského zobrazování. SCI se často používalo k implementaci nejednotných architektur přístupu k paměti . To bylo také používáno Sequent Computer Systems jako paměťová sběrnice procesoru v jejich systémech NUMA-Q. Numascale vyvinul derivát pro spojení s koherentním HyperTransportem .

Standardní

Standard definoval dvě úrovně rozhraní:

  • Fyzická úroveň, která se zabývá elektrickými signály, konektory, mechanickými a tepelnými podmínkami
  • Logická úroveň, která popisuje adresní prostor, protokoly přenosu dat, mechanismy koherence mezipaměti, synchronizační primitiva, řídicí a stavové registry a zařízení pro inicializaci a obnovu chyb.

Tato struktura umožnila snadno přizpůsobit nový vývoj v technologii fyzického rozhraní bez jakéhokoli přepracování na logické úrovni.

Škálovatelnost pro velké systémy je dosažena prostřednictvím modelu koherence mezipaměti distribuovaného adresáře . (Další populární modely pro koherenci mezipaměti jsou založeny na odposlechu (snoopingu) paměťových transakcí v celém systému-schéma, které není příliš škálovatelné.) V SCI obsahuje každý uzel adresář s ukazatelem na další uzel v propojeném seznamu, který sdílí konkrétní řádek mezipaměti.

SCI definuje 64bitový plochý adresní prostor (16 exabajtů), kde 16 bitů se používá k identifikaci uzlu (65 536 uzlů) a 48 bitů pro adresu v rámci uzlu (256 terabajtů). Uzel může obsahovat mnoho procesorů a/nebo paměti. Standard SCI definuje síť s přepojováním paketů .

Topologie

SCI lze použít k vytváření systémů s různými typy topologií přepínání od centralizovaného po plně distribuované přepínání:

  • S centrálním přepínačem je každý uzel připojen k přepínači prstencem (v tomto případě prstenem se dvěma uzly).
  • V distribuovaných přepínacích systémech může být každý uzel připojen ke kruhu libovolné délky a buď všechny nebo některé uzly mohou být připojeny ke dvěma nebo více prstencům.

Nejběžnějším způsobem, jak popsat tyto vícerozměrné topologie, jsou k-ary n-kostky (nebo tori). Specifikace standardu SCI uvádí několik takových topologií jako příklady.

2-D torus je kombinací prstenů ve dvou rozměrech. Přepínání mezi těmito dvěma dimenzemi vyžaduje malou schopnost přepínání v uzlu. To lze rozšířit na tři nebo více dimenzí. Koncept skládacích kroužků lze také použít na topologie Torus, aby se zabránilo jakýmkoli dlouhým spojovacím segmentům.

Transakce

SCI odesílá informace v paketech. Každý paket se skládá z neporušené sekvence 16bitových symbolů. Symbol je doprovázen příznakovým bitem. Přechod příznakového bitu z 0 na 1 označuje začátek paketu. K přechodu z 1 na 0 dojde 1 (pro ozvěny) nebo 4 symboly před koncem paketu. Paket obsahuje záhlaví s adresním příkazem a informacemi o stavu, užitečné zatížení (od 0 do volitelných délek dat) a symbol kontroly CRC. První symbol v záhlaví paketu obsahuje adresu cílového uzlu. Pokud adresa není v doméně zpracovávané přijímacím uzlem, paket je předán na výstup přes bypass FIFO. V druhém případě je paket veden do přijímací fronty a může být přenesen do prstenu v jiné dimenzi. Všechny pakety jsou označeny, když projdou scrubberem (uzel je vytvořen jako scrubber, když je inicializován ring). Pakety bez platné cílové adresy budou odstraněny při druhém průchodu pračkou, aby se zabránilo vyplnění kruhu pakety, které by jinak cirkulovaly neomezeně dlouho.

Soudržnost mezipaměti

Soudržnost mezipaměti zajišťuje konzistenci dat v systémech s více procesory. Nejjednodušší forma používaná v dřívějších systémech byla založena na vymazání obsahu mezipaměti mezi kontextovými přepínači a deaktivaci mezipaměti pro data, která byla sdílena mezi dvěma nebo více procesory. Tyto metody byly proveditelné, když byl výkonnostní rozdíl mezi mezipamětí a pamětí menší než jeden řád. Moderní procesory s mezipaměti, které jsou o více než dva řády rychlejší než hlavní paměť, by bez sofistikovanějších metod konzistence dat nefungovaly téměř optimálně. Systémy založené na sběrnici používají metody odposlechu ( snoopingu ), protože sběrnice jsou ze své podstaty vysílány. Moderní systémy s odkazy point-to-point využívají metody vysílání s možností filtrování snoop ke zlepšení výkonu. Protože vysílání a odposlechy jsou ze své podstaty škálovatelné, nepoužívají se v SCI.

Místo toho SCI používá distribuovaný protokol koherence mezipaměti založený na adresářích s propojeným seznamem uzlů obsahujících procesory, které sdílejí konkrétní řádek mezipaměti. Každý uzel obsahuje adresář pro hlavní paměť uzlu se značkou pro každý řádek paměti (stejná délka řádku jako řádek mezipaměti). Paměťový tag obsahuje ukazatel na začátek propojeného seznamu a stavový kód řádku (tři stavy - domov, čerstvý, pryč). Ke každému uzlu je přidružena také mezipaměť pro uchovávání vzdálených dat s adresářem obsahujícím ukazatele vpřed a vzad na uzly v propojeném seznamu, které sdílejí řádek mezipaměti. Značka pro mezipaměť má sedm stavů (neplatný, pouze čerstvý, čerstvý, pouze špinavý, špinavý, středně platný, platný ocas).

Distribuovaný adresář je škálovatelný. Režie pro koherenci mezipaměti na základě adresářů je konstantní procento paměti a mezipaměti uzlu. Toto procento je v řádu 4% pro paměť a 7% pro mezipaměť.

Dědictví

SCI je standard pro připojení různých zdrojů v rámci víceprocesorového počítačového systému a není veřejnosti tak známý jako například rodina ethernetů pro připojení různých systémů. Různí dodavatelé systémů implementovali různé varianty SCI pro svoji vnitřní systémovou infrastrukturu. Tyto různé implementace se propojují s velmi složitými mechanismy v procesorech a paměťových systémech a každý dodavatel musí zachovat určitý stupeň kompatibility hardwaru i softwaru.

Gustavson vedl skupinu s názvem Scalable Coherent Interface and Serial Express Users, Developers, and Manufacturers Association a udržoval webové stránky pro technologii od roku 1996. Do roku 1999 se konala řada workshopů. Po prvním vydání z roku 1992 pokračovaly projekty definoval sdílené datové formáty v roce 1993, verze používající nízkonapěťovou diferenciální signalizaci v roce 1996 a paměťové rozhraní známé jako Ramlink později v roce 1996. V lednu 1998 byla založena společnost SLDRAM, která drží patenty při pokusu definovat nové paměťové rozhraní to souviselo s jinou pracovní skupinou s názvem SerialExpress nebo Local Area Memory Port. Počátkem roku 1999 byl však nový standard paměti opuštěn.

V roce 1999 vyšla série článků jako kniha o SCI. Aktualizovaná specifikace byla publikována v červenci 2000 Mezinárodní elektrotechnickou komisí (IEC) Mezinárodní organizace pro normalizaci (ISO) jako ISO/IEC 13961.

Viz také

Reference