Кіріспе
Cray Research компаниясы өндірген суперкомпьютер
Тарих
1968 жылдан 1972 жылға дейін Control Data Corporation (CDC) компаниясының Сеймур Крейі CDC 8600 жобасымен айналысты, ол оның бұрынғы CDC 6600 және CDC 7600 үлгілерінің жалғасы болды. 8600 негізінен SIMD режимінде бірдей қадаммен жұмыс істеуге мүмкіндік беретін қосымша мүмкіндігі бар төрт 7600-ден тұрды. Алдыңғы жобаларда Крейдің инженерлік серігі болған Джим Торнтон CDC STAR 100 деп аталатын радикалды жобаны бастады. 8600 өнімділікке қатысты күшпен ұмтылса, STAR мүлдем басқа бағытты таңдады. STAR-дың негізгі процессоры 7600-ге қарағанда нашар өнімділік көрсетті, бірақ суперкомпьютерлерде жиі қолданылатын тапсырмаларды жеделдету үшін қосымша аппараттық және бағдарламалық құралдар енгізілді. 1972 жылы 8600 дамудың соқпаққа тіреліп қалды; машина тым күрделі болғандықтан, оны дұрыс жұмыс істеуге келмейтін. Тіпті бір ғана бұзылған компонент машинаны істен шығаруға жеткілікті болды. Крей Control Data компаниясының бас директоры Уильям Норриске барып, машинаны бастапқыдан қайта жасау қажеттігін айтты. Ол кезде компания ауыр қаржылық қиындықтарды бастан өткеріп жатқандықтан, және STAR жобасы да дайын болғандықтан, Норрис ақша инвестициялай алмады. Соның салдарынан Крей CDC-ден кетіп, CDC зертханасының жанында Cray Research компаниясын құрды. Чиппева-Фолс қаласында сатып алынған жердің ауласында Крей және бұрынғы CDC қызметкерлері жаңа идеялар іздеуді бастады. Бастапқыда тағы бір суперкомпьютер құрастыру мүмкін емес сияқты көрінді, бірақ Cray Research компаниясының технологиялық директоры Уолл-стритке барып, Cray компаниясын қолдауға дайын инвесторларды тапқаннан кейін, енді тек жобалау қажет болды. Төрт жыл бойы Cray Research өзінің алғашқы компьютерін жасады. 1975 жылы 80 МГц жиілікті Cray 1 жарияланды. Күшті қызығушылық туындағандықтан, алғашқы машинаны алу үшін Лоуренс Ливермор ұлттық зертханасы мен Лос-Аламос ұлттық зертханасы арасында бәсекелес аукцион өтті, соңында Лос-Аламос жеңіске жетіп, 1976 жылы алты айлық сынаққа 001 сериялық нөмірін алды. Ұлттық атмосфералық зерттеу орталығы (NCAR) 1977 жылы Cray Research компаниясының алғашқы ресми тапсырыс берушісі болды, ол сериялық нөмірі 3-ке 8,86 миллион АҚШ доллары (дискілер үшін 7,9 миллион доллар және 1 миллион доллар) төледі. NCAR машинасы 1989 жылы қолданыстан шығарылды. Компания ондаған машина сата алады деп күткен және сату бағасын оған сәйкес белгіледі, бірақ нәтижесінде барлық типтегі 80-нен астам Cray 1 сатылды, олардың бағасы 5 миллионнан 8 миллион долларға дейін болды. Бұл машина Сеймур Крейді танымал есімге айналдырды және оның компаниясының сәттілігіне ықпал етті, 1990-шы жылдардың басында суперкомпьютерлер нарығы құлдырағанша. Уильям Перридің зерттеуінің ұсынысы бойынша, АҚШ Ұлттық қауіпсіздік агенттігі (NSA) криптоанализдегі теориялық зерттеулер үшін Cray 1 сатып алды. Будианскийдің сөзіне сүйенсек, "Крей зерттеулерінің тарихында компанияның алғашқы тапсырыс берушісі Лос-Аламос ұлттық зертханасы болғаны туралы ондаған жылдар бойы айтылғанымен, шындығында ол NSA болды". 160 MFLOPS өнімділігі бар Cray 1 1982 жылы 800 MFLOPS өнімділігі бар Cray X MP, алғашқы көппроцессорлық Cray компьютерімен алмастырылды. 1985 жылы 1,9 GFLOPS ең жоғары өнімділікке қол жеткізе алатын өте жетілген Cray 2 алғашқы екі үлгінің орнына келді, бірақ нақты қолданбаларда тұрақты өнімділікті қамтамасыз етудегі қиындықтарға байланысты коммерциялық сәттілікке толыққанды жете алмады. Сондықтан Cray 1 және X MP үлгілерінің эволюциялық мұрагері Cray Y MP аталды және 1988 жылы нарыққа шығарылды. Салыстыратын болсақ, 2013 жылғы Google Nexus 10 немесе HTC One сияқты әдеттегі смартфондағы процессор шамамен 1 GFLOPS өнімділікпен жұмыс істейді, ал 2019 жылғы iPhone 11-дегі A13 процессоры 154,9 GFLOPS өнімділікке ие, ал Cray 1-ге ұқсас суперкомпьютерлер осы көрсеткіштерге 1994 жылға дейін жете алмады.
The 160 MFLOPS Cray 1 was succeeded in 1982 by the 800 MFLOPS Cray X MP, the first Cray multi processing computer. In 1985, the very advanced Cray 2, capable of 1.9 GFLOPS peak performance, succeeded the first two models but met a somewhat limited commercial success because of certain problems at producing sustained performance in real world applications. A more conservatively designed evolutionary successor of the Cray 1 and X MP models was therefore made by the name Cray Y MP and launched in 1988. By comparison, the processor in a typical 2013 smart device, such as a Google Nexus 10 or HTC One, performs at roughly 1 GFLOPS, while the A13 processor in a 2019 iPhone 11 performs at 154.9 GFLOPS, a mark supercomputers succeeding the Cray 1 would not reach until 1994.
Өмірбаян
Ғылыми жұмыс жүктемелері үлкен деректер жиынтығын оқудан, оларды бір жолмен түрлендіруден және қайтадан жазудан тұрады. Әдетте, түрлендірулер деректер жиынтығындағы барлық мәліметтерге бірдей қолданылады. Мысалы, бағдарлама миллион санның әрқайсысына 5-ті қосуы мүмкін. Қарапайым компьютерлерде бағдарлама миллион санның үстінен циклдік өтеді, әрқайсысына 5-ті қосып, осылайша a = add b, c деген миллион нұсқауды орындайды. Компьютер бұл нұсқауды бірнеше қадамда орындайды. Біріншіден, ол нұсқауды жадтан оқиды және оны түсіндіреді, содан кейін қажетті қосымша ақпаратты жинайды, осы жағдайда b және c сандарын, және соңында операцияны орындайды және нәтижелерін сақтайды. Соның нәтижесінде, компьютер бұл операцияларды орындау үшін ондаған немесе жүздеген миллион циклдар қажет етеді.
Векторлық машиналар
STAR-да жаңа нұсқаулар пайдаланушы үшін циклдарды жазды. Пайдаланушы машинаға сандар тізімі жадыда қайда сақталғанын айтты, содан кейін бір ғана нұсқаумен a(1 1000000) = addv b(1 1000000), c(1 1000000). Бірінші көзқараспен, үнемдеу шектеулі сияқты көрінеді; бұл жағдайда машина 1,000,000 орнына бір ғана нұсқауды іздеп, түсіндіреді, осылайша 1,000,000 іздеу және түсіндіруден үнемдейді, бұл жалпы уақыттың төрттен бір бөлігін құрайды. Шын үнемдеулер одан да аз байқалады. Компьютердің процессор ішінде бір ғана міндетке арналған көптеген бөлек бөліктерден тұрады, мысалы, санды қосу немесе жадтан алу. Әдетте, нұсқау машина арқылы өтетін кезде, кез келген уақытта тек бір бөлік белсенді болады. Бұл дегеніміз, нәтиже сақталғанша процестің әрбір кезекті қадамы аяқталуы керек. Нұсқау конвейерін қосу бұл жағдайды өзгертеді. Мұндай машиналарда процессор «алдын ала қарап» ағымдағы нұсқау өңделіп жатқанда келесі нұсқауларды іздеуді бастайды. Бұл конвейерлік тәсілде әрбір нұсқауды орындау үшін бұрынғыдай көп уақыт қажет, бірақ орындалу аяқталғанда, келесі нұсқау оның артында болады және оның орындалуы үшін қажетті көптеген қадамдар орындалған болады. Векторлық процессорлар осы әдісті бір қосымша мүмкіндікпен қолданады. Деректердің орналасуы белгілі форматта болғандықтан – жадта тізбекпен орналасқан сандар жиынтығы – конвейерлер деректерді іздеудің тиімділігін арттыру үшін реттеледі. Векторлық нұсқауды алғаннан кейін, арнайы аппараттық құралдар массивтер үшін жадқа қол жеткізуді орнатады және деректерді процессорға мүмкіндігінше жылдам жібереді. CDC-нің STAR-дағы тәсілі бүгінде «жад-жад архитектурасы» деп белгілі. Бұл машинаның деректерді қалай жинағанына қатысты. Ол өз конвейерін жадтан тікелей оқу және жазу үшін орнатты. Бұл STAR-ға тіркелімдердің ұзындығымен шектелмейтін кез келген ұзындықтағы векторларды пайдалануға мүмкіндік берді, осылайша оны өте икемді етті. Алайда, конвейерде жеткілікті нұсқаулар болуын қамтамасыз ету үшін конвейер өте ұзын болуы керек еді. Бұл машинаның векторларды өңдеуден вектор емес деректермен операцияларды орындауға ауысқанда үлкен шығындарға ұшырауына себеп болды. Сонымен қатар, машинаның төмен скалярлық өнімділігі ауысудан кейін және машина скалярлық нұсқауларды орындағанда өнімділіктің нашарлауына әкелді. Нәтижесінде, нақты қолданыстағы өнімділік көңіл көншітпеді, бұл, мүмкін, Амдал заңымен болжауға болатын жағдай.
Крейдің жақындауы
Крей STAR-дың сәтсіздіктерін зерттеді және олардан сабақ алды. Ол жылдам векторлық өңдеуден өзге, оның жобасының жақсырақ скалярлық өнімділікке де ие болуы керектігіне шешім келді. Осылайша, машина режимдерді ауыстырғанда да жоғары өнімділікті сақтай алатын болар еді. Сонымен қатар, ол көп жағдайда жұмыс жүктемесін тізілімдерді пайдалану арқылы едәуір жақсартуға болатындығын байқады. Ескі машиналар көптеген деректер нүктелеріне көптеген операцияларды қолданғандарын елемегендей, STAR да сол деректер нүктелеріне қайта-қайта операция жасауын ескермеді. STAR деректер жиынтығына бес векторлық операцияны қолдану үшін жадты бес рет оқып өңдесе, деректерді бір рет процессордың тізімдеріне оқып, содан кейін бес операцияны қолдану әлдеқайда жылдам болатын. Дегенмен, бұл тәсілдің де шектеулері болды. Тізімдер схемалық тұрғыдан қымбат болғандықтан, олардың саны шектеулі болатын. Бұл Крейдің жобасы вектор өлшемдері тұрғысынан кем икемді болатынын білдірді. STAR-дағыдай кез келген өлшемдегі векторды бірнеше рет оқудың орнына, Cray 1 бір уақытта вектордың бір бөлігін ғана оқуға мәжбүр болар еді, бірақ нәтижелерді жадқа жазудан бұрын осы деректерде бірнеше операцияны орындай алатын. Типик жұмыс жүктемелерін ескере отырып, Крей үлкен тізбекті жадқа қол жеткізуді сегменттерге бөлудің шағын шығындарына төлеуге дайын болды. Типик векторлық операция векторлық тізімдерге деректердің шағын жиынтығын жүктеуден және содан кейін оған бірнеше операцияларды орындаудан тұратындықтан, жаңа жобаның векторлық жүйесі жеке құбырға ие болды. Мысалы, көбейту және қосу бірліктері жеке аппараттық құрал ретінде жүзеге асырылды, сондықтан бірінің нәтижелерін келесіге ішкі құбыр арқылы жіберуге болады, ал нұсқауларды декодилеу машинаның негізгі құбырында орындалған. Крей бұл тұжырымдаманы тізбектеу деп атады, себебі ол бағдарламашыларға бірнеше нұсқауларды "тізбектеуге" және осылай жоғары өнімділікке қол жеткізуге мүмкіндік берді.
Өнер көрсету
1978 жылы Аргонн ұлттық зертханасының командасы Cray 1 құрылғысында әртүрлі типтегі жұмыс жүктемелерін сынап көрді, бұл олардың IBM 370/195 құрылғысын алмастырып, өздері үшін сатып алу ұсынысының бөлігі болды. Олар CDC STAR 100 және Burroughs Scientific Computer-де тестілеуді жоспарлады, бірақ мұндай тестілеулер, егер олар жүргізілсе, жарияланбады. Бұл сынақтар Боулдердегі (Колорадо штаты) Ұлттық атмосфералық зерттеулер орталығында (NCAR) Cray 1 аппаратында жүргізілді. Сол кезде қол жетімді болған жалғыз Cray Лос-Аламостағы еді, бірақ бұл машинаға кіру үшін Q рұқсаты қажет болды. Сынақтар екі түрлі жолмен баяндалды. Біріншісі бағдарламаны қатесіз орындау үшін қажетті ең аз өзгеріс, бірақ Cray векторлауының мүмкіндіктерін пайдаланбау. Екіншісі кодқа орташа жаңартулар жиынтығын қамтыды, көбінесе циклдарды ашып, оларды векторлық ету үшін жағдай жасады. Жалпы, минималды өзгерістер 370-ке қарағанда шамамен 2 есе жылдамдықпен жұмыс істеді (негізінен Cray-дегі үлкен экспоненталық диапазонға байланысты), бірақ векторлау 2,5 және 10 есеге дейін жылдамдыққа ие болды. Бір мысал бағдарламада, ішкі жылдам Фурье түрлендіруін орындағанда, өнімділік IBM-нің 47 секундтан 3 секундқа дейін жақсарды. Басқа бір баяу MECL 10K 5 4 NOR шлюзі адрес беру үшін пайдаланылды, 16 × 4 биттік жоғары жылдамдықты (6 нс) статикалық RAM (SRAM) тіркелімдер үшін, ал 1,024 × 1 бит 48 нс SRAM негізгі жады үшін қолданылды. Бұл интегралды схемаларды Fairchild Semiconductor және Motorola компаниялары ұсынды. Барлығы, Cray 1-де шамамен 200 000 қақпа бар. IC-лер үлкен бес қабатты баспалы схема тақталарына орнатылды, әр тақтада 144 IC-ге дейін. Содан кейін тақталар салқындату үшін бір-біріне тіреліп (төменде қараңыз), 72 қос тақтаны қамтитын жиырма төрт тіреуге орналастырылды. Типикалық модульге (ерекше өңдеу блогына) бір немесе екі тақта қажет болды. Жалпы алғанда, машинада 113 түрлі 1662 модуль бар. Модульдер арасындағы әрбір кабель белгілі бір ұзындыққа кесілді, сигналдар дәл уақытында келіп, электрлік шағылысты азайту үшін бекітілді. ECL схемасы шығарған әрбір сигнал дифференциалдық жұп болды, сондықтан сигналдар теңдестірілді. Бұл қуат көзіне деген сұранысты тұрақтырақ етуге және ауысу шуын азайтуға бағытталған. Қуат көзінің жүктемесі біркелкі теңдестірілген, сондықтан Cray қуат көзінің реттелмегендігімен мақтанады. Қуат көзі үшін бүкіл компьютер жүйесі қарапайым резистор сияқты көрінді. Жоғары өнімділіктегі ECL схемасы едәуір жылу өндірді, ал Cray дизайнерлері тоңазыту жүйесін жобалауға механикалық жобаның қалған бөлігіне жұмсағандай күш жұмсады. Бұл жағдайда әрбір схемалық тақта екіншісімен жұптастырылып, олардың арасында мыс табақпен қатар орналастырылды. Мыс табақ жылуды қақпақтың шеттеріне жеткізеді, онда тот баспайтын болат құбырларда ағып жатқан сұйық фреон оны машинаның астындағы салқындату блогына тартады. Бірінші Cray 1 салқындату жүйесіндегі проблемаларға байланысты алты айға кешіктірілді; компрессордың жұмысын жалғастыру үшін әдетте фреонмен араластырылған майлау заты тығыздаулар арқылы ағып, ақыр соңында тақталарды маймен қаптап, олар қысқа тұрып қалғанға дейін. Құбырларды дұрыс бекіту үшін жаңа дәнекерлеу әдістерін қолдану керек болды. Машинаның жылдамдығын арттыру үшін шасси үлкен "С" пішініне бүгілді. Жүйенің жылдамдыққа тәуелді бөліктері шассидің "ішкі жиегіне" орналастырылды, онда сым ұзындығы қысқа болды. Бұл цикл уақытын 12,5 нс (80 МГц) -ке дейін азайтуға мүмкіндік берді, бұл 8 нс 8600 жылдамдығы сияқты емес, бірақ CDC 7600 және STAR-ды жеңуге жеткілікті жылдамдықпен. NCAR-дің бағалауы бойынша, жүйедегі жалпы өткізу қабілеті CDC 7600-ден 4,5 есе артық болды. Cray 1 64 биттік жүйе ретінде салынған, бұл 60 биттік машиналар болған 7600/6600 (өзгеріс 8600 үшін де жоспарланған) деген сөзден шыққан. Адрестік 24 биттік, ең көп дегенде 1 048 576 64 биттік сөз (1 мегавард) негізгі жады, әр сөзде сегіз теңдік биті бар, яғни сөзге 72 бит. Жады 16 жапырақты жад банктеріне таралған, олардың әрқайсысы 50 нс цикл уақытына ие, бұл цикл сайын төрт сөзге дейін оқуға мүмкіндік береді. Кішірек конфигурацияларда 0,25 немесе 0,5 мегавард негізгі жады болуы мүмкін. Максималды жиынтық жад жолағы 638 Мбит/с болды. (Кері шамалау бірлігі қатар жұмыс істей алады, бірақ нақты жылжымалы нүктелі нәтиже бермейді, толық бөліну үшін екі қосымша көбейту қажет болды.) Машина үлкен деректер жиынтығында жұмыс істеуге арналған болғандықтан, жобалау I/O-ға да арналды. CDC-дегі Cray-дің бұрынғы жобаларында осы тапсырмаға арналған жеке компьютерлер болған, бірақ бұл енді қажет емес еді. Оның орнына Cray 1 төрт алты арналы контроллерді қамтыды, олардың әрқайсысы төрт циклдың біреуінде негізгі жадқа кіруге рұқсат алды. Арналар 16 биттік болды және үш басқару биті мен қателерді түзетуге арналған төрт биттен тұрды, сондықтан максималды жылдамдық 100 нс сөз, немесе бүкіл машина үшін секундта 500 мың сөз болды. Бастапқы модель, Cray 1A, салмағы , соның ішінде фреон тоңазыту жүйесімен бірге. 1 миллион сөз негізгі жадымен жабдықталған машина және оның қуат көздері шамамен 115 кВт қуат тұтынды. Сеймур Крей жылдамдық үшін сенімділіктен бас тартатын дизайнда әдейі шешімдер қабылдады, бірақ бұл мәселе бойынша сұрақтар туғаннан кейін кейінірек өз жобаларын жақсартты. Сол сияқты, Cray Операциялық жүйесі (COS) өте қарапайым, жақсы сынақтан өтпеген және алғашқы күндері апта сайын немесе тіпті күн сайын жаңартылып отырды.
Cray-1S
1979 жылы жарияланған Cray 1S – 1, 2 немесе 4 миллион сөздік көлемдегі үлкен негізгі жадты қолдайтын, жақсартылған Cray 1 болды. Үлкен негізгі жад 25 нс қатынау уақыты бар 4096 x 1 биттік биполярлық RAM интегралды схемаларын пайдалану арқасында мүмкін болды. Data General мини-компьютерлері қалау бойынша 80 МИПС жылдамдығымен жұмыс істейтін 16 биттік өндірістік үлгімен алмастырылды. Кіріс-шығыс (I/O) жүйесі негізгі машинадан бөлек орналастырылып, 6 Мбит/с басқару арнасы және 100 Мбит/с жоғары жылдамдықты деректер арнасы арқылы негізгі жүйеге қосылды. Бұл бөліну Cray 1S-ті бірнеше фут арақашықтықта орналасқан екі «жартылай Cray» сияқты етіп көрсетті, бұл I/O жүйесін қажеттікке қарай кеңейтуге мүмкіндік берді. Жүйелер әртүрлі конфигурацияларда қол жетімді болды: I/O-сыз және 0,5 миллион сөздік жады бар S/500-ден бастап, төрт I/O процессоры және 4 миллион сөздік жады бар S/4400-ге дейін.
Cray-1M
1982 жылы жарияланған Cray 1M, Cray 1S-тің орнын басты. Ол 12 нс цикл уақытын жылдамдатып, негізгі жадыда арзан MOS RAM-ды пайдаланды. 1M үш түрде ғана жеткізілді: 8 банкте 1 миллион сөздік қорға ұялатын M/1200, немесе 16 банкте 2 және 4 миллион сөздік қорға ұялатын M/2200 және M/4200. Бұл машиналардың барлығында екі, үш немесе төрт кіріс-шығыс процессоры болды, сондай-ақ жүйеге қосымша жоғары жылдамдықты деректер арнасын қосуға болады. Пайдаланушылар 8-ден 32 миллион сөздік қорға дейін MOS RAM-мен жабдықталған қатты күйдегі сақтау құрылғысын (Solid state Storage Device) қоса алатын болды.