Кіріспе

Ортақ жадтағы көп өңдеу және хабар алмасу үшін жоғары жылдамдықты өзара байланыс стандарты.

Шкалалы үйлесімді интерфейс немесе Шкалалы үйлесімді өзара байланыс (SCI) – ортақ жадтағы көп өңдеу және хабар алмасу үшін жоғары жылдамдықты өзара байланыс стандарты. Оның мақсаты – жақсы масштабталуға қол жеткізу, жүйелік жадтың үйлесімділігін қамтамасыз ету және қарапайым интерфейс ұсыну болды; яғни, мультипроцессорлық жүйелердегі қолданыстағы шиналарды, өзінің масштабталу және өнімділік шектеулері жоқ стандартпен алмастыруға бағытталған стандарт. IEEE Std 1596 1992, IEEE Шкалалы үйлесімді интерфейс стандарты (SCI) 1992 жылдың 19 наурызында IEEE стандарттар кеңесімен бекітілді. 1990 жылдары қандай да бір деңгейде қолданысқа енгенімен, кеңінен таралған жоқ және 2000 жылдардың басында басқа жүйелермен ауыстырылды.

Тарих

1987 жылы Fastbus (IEEE 960) жобасына жауап ретінде Futurebus (IEEE 896) жобасы іске қосылды, бірақ кейбір инженерлер оның 1990 жылдардың басында шығарылған кезде жоғары өнімді есептеу нарығы үшін тым баяу болады деп болжады. Осыған байланысты 1987 жылдың қараша айында «Супербус» зерттеу тобы құрылды. Электр және электроника инженерлері институтының (IEEE) стандарттау қауымдастығының тағы бір жұмыс тобы 1988 жылдың шілдесінде осы нарыққа бағытталған стандартты әзірлеу үшін бөлінді. Бұл, негізінен, Futurebus мүмкіндіктерінің оңай орындалатын, жоғары жылдамдықты жиынтығы болды, сонымен қатар VMEbus сияқты басқа жүйелерге қосылуды жеңілдету үшін шағын толықтырулар енгізілді. Көптеген әзірлеушілердің тәжірибесі жоғары жылдамдықты компьютерлік шиналар саласында болды. Компьютер индустриясы мен ғылыми-зерттеу қауымдастығының компанияларының өкілдері: 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, Осло университеті, Висконсин университеті. Бастапқы мақсат – компьютердегі барлық шиналар үшін бірыңғай стандарт жасау еді. Бірақ жұмыс тобы көп ұзамай нүктеден нүктеге байланыс жасау идеясын, оны енгізу сақиналары арқылы жүзеге асыруды ұсынды. Бұл сыйымдылықтың жиналуын, физикалық ұзындықтың/жарық жылдамдығының шектеулерін және параллель транзакцияларға кедерлес болатын түйіршік шағылыстарын болдырмады. Енгізу сақиналарын қолдану идеясын жұмыс тобының алғашқы отырыстарының бірінде Манолис Катевенис ұсынған. Стандартты әзірлеу жөніндегі жұмыс тобын Дэвид Б. Густавсон (төраға) және Дэвид В. Джеймс (орынбасары) басқарды. Дэвид В. Джеймс спецификацияларды жазуға, соның ішінде орындалатын C кодын жазуға үлкен үлес қосты. Осло университетіндегі Штайн Гессинг тобы когеренттілік протоколын тексеру үшін формалды әдістерді қолданды, ал Dolphin Server Technology кэш когеренттілік логикасын қамтитын түйін контроллері чипін жасады. Dolphin Interconnect Solutions, Convex, Data General AViiON (Dolphin кэш контроллері мен сілтеме контроллері чиптерін пайдалана отырып), Sequent және Cray Research сияқты компаниялар SCI-нің әртүрлі нұсқаларын және туындыларын іске асырды. Dolphin Interconnect Solutions PCI және PCI Express интерфейсіне қосылған SCI туындысын жасады, ол біркелкі емес ортақ жадқа қол жеткізуді қамтамасыз етеді. Бұл іске асыру Sun Microsystems компаниясының жоғары деңгейдегі кластерлері, Thales Group және басқа да көптеген компаниялармен, соның ішінде HPC кластерлеуі мен медициналық бейнелеудегі хабар алмасуға арналған қосымшаларда қолданылды. SCI көбінесе біркелкі емес жад архитектураларын іске асыру үшін қолданылды. Sequent Computer Systems компаниясы оны NUMA Q жүйелерінде процессорлық жад шинасы ретінде де пайдаланды. Numascale когерентті HyperTransport интерфейсімен байланысу үшін туындысын жасады.

Транзакциялар

SCI ақпаратты пакеттер түрінде жібереді. Әрбір пакет 16 биттік символдардың үздірілмейтін тізбегінен тұрады. Символға бір жалауша бітеді. Жалауша биттің 0-ден 1-ге өтуі пакеттің басталуын көрсетеді. 1-ден 0-ге өту пакет аяқталуына дейін 1 (эхо үшін) немесе 4 символ бұрын болады. Пакетте адрестік команда мен күй туралы ақпарат, жүк (0-ден бастап, қосымша дерек ұзындығына дейін) және CRC тексеру символы бар тақырып болады. Пакет тақырыбындағы бірінші символ мақсатты түйіннің мекенжайын қамтиды. Егер мекенжай қабылдаушы түйіннің басқаратын доменіне жатпаса, пакет FIFO буфері арқылы шығысқа жіберіледі. Әйтпесе, пакет қабылдау кезегіне жіберіліп, басқа өлшемдегі сақинаға берілуі мүмкін. Барлық пакеттер скрабберден өткен кезде таңбаланады (түйін сақина инициализацияланғанда скраббер ретінде белгіленеді). Жарамсыз мақсатты мекенжайы бар пакеттер екінші рет скрабберден өткен кезде жойылады, әйтпесе сақинаны шексіз айналымға түсетін пакеттермен толуынан сақтау үшін.

Кэштің үйлесімділігі

Кэш-сәйкестік көппроцессорлық жүйелерде деректердің дұрыстығын қамтамасыз етеді. Ертедегі жүйелерде қолданылған ең қарапайым түрі, контексттік ауысулар арасында кэш мазмұнын тазалауға және екі немесе одан көп процессорлар арасында ортақ деректер үшін кэшті өшіруге негізделген. Бұл әдістер кэш пен жад арасындағы өнімділік айырмашылығы бір ретке дейін болған кезде қолданылатын. Қазіргі заманғы процессорлар, кэштері негізгі жадтан екі реттен астам жылдам болатын, деректерді дұрыс ұстау үшін күрделірек әдістерсіз оптималды жұмыс істей алмайды. Бусқа негізделген жүйелер тыңдау (көзбен қадағалау) әдістерін пайдаланады, себебі бустар өзінен хабар таратуға бейім. Нүктеден нүктеге байланысы бар заманауи жүйелер өнімділікті жақсарту үшін тыңдау сүзгілерімен жабдықталған хабар тарату әдістерін қолданады. Хабар тарату мен тыңдаудың кеңейтілу мүмкіншілігі шектеулі болғандықтан, олар SCI-де қолданылмайды. Оның орнына, SCI белгілі бір кэш жолын бөлісетін процессорларды қамтитын түйіндердің тізбекті тізілімі бар, таратылған каталогқа негізделген кэш-сәйкестік протоколын қолданады. Әрбір түйінде негізгі жадқа арналған каталог болады, онда әр жад жолы үшін тегтер бар (кэш жолымен бірдей ұзындықтағы жолдар). Жады тегі тізбектің басына сілтеме жасайды және жолдың күй кодын қамтиды (үш күй – үй, жаңа, кеткен). Әрбір түйінге сондай-ақ, қашықтан алынған деректерді сақтауға арналған кэш қоса беріледі, онда кэш жолын бөлісетін тізбектегі түйіндерге алға және артқа бағытталған сілтемелер болады. Кэш тегі жеті күйге ие (жарамсыз, тек жаңа, басы жаңа, тек лас, басы лас, ортасы жарамды, соңы жарамды). Таратылған каталог кеңейтілуге бейім. Каталогқа негізделген кэш-сәйкестілік үшін қосымша шығындар түйіннің жады мен кэшінің тұрақты пайызын құрайды. Бұл пайыздық көрсеткіш жад үшін шамамен 4%, ал кэш үшін 7% шамасында.

Мұра

SCI — мультипроцессорлық компьютерлік жүйедегі әртүрлі ресурстарды қосу стандарты болып табылады және ол, мысалы, әртүрлі жүйелерді қосуға арналған Ethernet отбасы сияқты көпшілікке кеңінен танымал емес. Әртүрлі жүйелер өндірушілері өздерінің ішкі жүйелік инфрақұрылымдары үшін SCI-нің әртүрлі нұсқаларын іске асырды. Бұл әртүрлі іске асырулар процессорлар мен жад жүйелеріндегі өте күрделі механизмдермен байланысады, және әрбір өндіруші аппараттық және бағдарламалық қамтамасыз ету үшін белгілі бір деңгейде үйлесімділікті сақтауға тиіс. Густавсон "Scalable Coherent Interface and Serial Express Users, Developers and Manufacturers Association" деп аталатын ұйымды басқарды және 1996 жылдан бастап осы технологияға арналған веб-сайтты жүргізді. 1996 жылы төмен вольтты дифференциалдық сигналдауды қолданатын нұсқа, ал кейін 1996 жылы Ramlink деп аталатын жад интерфейсі пайда болды. 1998 жылдың қаңтар айында SLDRAM корпорациясы құрылды, ол SerialExpress немесе Local Area Memory Port деп аталатын басқа жұмыс тобымен байланысты жаңа жад интерфейсін анықтауға қатысты патенттерді иелену мақсатында құрылды. Алайда, 1999 жылдың басында жаңа жад стандартынан бас тартылды. 1999 жылы SCI туралы бірқатар мақалалар кітап түрінде жарық көрді. Халықаралық Электротехникалық Комиссия (IEC) Халықаралық Стандарттау Ұйымы (ISO) аясында 2000 жылдың шілдесінде ISO/IEC 13961 ретінде жаңартылған сипаттаманы жариялады.