Индия хотела купить суперкомпьютер. Ей отказали. Она собрала свой. C-DAC.. C-DAC. hostkey.. C-DAC. hostkey. PARAM.. C-DAC. hostkey. PARAM. Блог компании HOSTKEY.. C-DAC. hostkey. PARAM. Блог компании HOSTKEY. ВИДЖАЙ БХАТКАР.. C-DAC. hostkey. PARAM. Блог компании HOSTKEY. ВИДЖАЙ БХАТКАР. индия.. C-DAC. hostkey. PARAM. Блог компании HOSTKEY. ВИДЖАЙ БХАТКАР. индия. Исследования и прогнозы в IT.. C-DAC. hostkey. PARAM. Блог компании HOSTKEY. ВИДЖАЙ БХАТКАР. индия. Исследования и прогнозы в IT. История IT.. C-DAC. hostkey. PARAM. Блог компании HOSTKEY. ВИДЖАЙ БХАТКАР. индия. Исследования и прогнозы в IT. История IT. кристальные вычисления.. C-DAC. hostkey. PARAM. Блог компании HOSTKEY. ВИДЖАЙ БХАТКАР. индия. Исследования и прогнозы в IT. История IT. кристальные вычисления. параллельные вычисления.. C-DAC. hostkey. PARAM. Блог компании HOSTKEY. ВИДЖАЙ БХАТКАР. индия. Исследования и прогнозы в IT. История IT. кристальные вычисления. параллельные вычисления. санкции.. C-DAC. hostkey. PARAM. Блог компании HOSTKEY. ВИДЖАЙ БХАТКАР. индия. Исследования и прогнозы в IT. История IT. кристальные вычисления. параллельные вычисления. санкции. Системное программирование.. C-DAC. hostkey. PARAM. Блог компании HOSTKEY. ВИДЖАЙ БХАТКАР. индия. Исследования и прогнозы в IT. История IT. кристальные вычисления. параллельные вычисления. санкции. Системное программирование. суперкомпьютер.. C-DAC. hostkey. PARAM. Блог компании HOSTKEY. ВИДЖАЙ БХАТКАР. индия. Исследования и прогнозы в IT. История IT. кристальные вычисления. параллельные вычисления. санкции. Системное программирование. суперкомпьютер. Суперкомпьютеры.

Автор: Иван Богданов, Технический писатель 

В наши дни, если разговор заходит про индийское IT, в голове всплывает более-менее стандартный набор. Туториалы с тем самым акцентом в видеохостинге, бесконечные джуны в аутсорсе, анекдоты про техподдержку. Картинка, построенная на беззлобных стереотипах, яркая и не очень объемная. За ней теряется, что индийская технологическая индустрия не появилась в один день усилиями какого-то особенно эффективного министерства. За ней стоит история с конкретными людьми и их трудом, причем и людей, и труда много. Часть этой истории пришлась на конец восьмидесятых, когда Индия под американскими экспортными ограничениями начала собирать собственные суперкомпьютеры.

Выделенные и виртуальные серверы в Европе, США и России

Готовые серверы + предустановленное программное обеспечение, а также индивидуальные конфигурации серверов.

Посмотреть

В прошлый раз мы писали про советские кружки юных программистов. Сегодня же расскажем другую историю, про Индию конца восьмидесятых. Индийский институт науки в Бангалоре заказал у Cray (американская компания-производитель суперкомпьютеров) суперкомпьютер Y-MP за полмиллиарда рупий. Контракт подписан, поставка на 1989 год. Лицензию на экспорт Cray так и не получил, заказ пришлось отменить, а через три года после этого в Пуне собрали PARAM 8000, первую индийскую параллельную машину производительностью в гигафлопс.

Источник: Cray Y-MP Model D at NASA Center for Computational Sciences, GSFC

Источник: Cray Y-MP Model D at NASA Center for Computational Sciences, GSFC

Разберем, как это получилось. Кто принимал решения, кто делал машину, что было вокруг нее в стране, и почему за три года от старта до результата собрали не только железо, но и среду, в которой оно могло существовать.

Об источниках

Главный источник этой статьи – работа В. Раджарамана «History of Computing in India (1955–2010)», написанная для комитета по истории вычислений IEEE (Institute of Electrical and Electronics Engineers, международная ассоциация инженеров электротехники и электроники). С 1982 по 1994 год Раджараман возглавлял Центр суперкомпьютерного образования и исследований при Индийском институте науки в Бангалоре (SERC) и был председателем комиссии, которая в 1986 году предложила создать Центр развития передовых вычислений (C-DAC). Свидетельство участника, но участника с одной стороны процесса. Раджараман был заказчиком и членом научного совета, а не разработчиком. Имен инженеров, которые делали PARAM, у него почти нет. Архитектурных деталей тоже.

Картину достраивали по нескольким дополнительным источникам. Биографию Виджая Пандуранга Бхаткара, возглавлявшего C-DAC, взяли по странице Университета Бароды и статье в английской Википедии (источник, конечно, спорный, но проверяемый по сноскам). Технические характеристики серии PARAM идут из обзорной статьи А. Бхаттачарджи 2022 года. Сюжет про разговор Бхаткара с Радживом Ганди и международную демонстрацию прототипа известен только по очерку Санчари Пал в индийское онлайн-издание The Better India за 2017 год. Это единственный текст, где такие детали вообще встречаются.

Профессор Виджай П. Бхаткар. Основатель и исполнительный директор Центра развития передовых вычислительных технологий (C-DAC), создатель первого индийского суперкомпьютера.

Профессор Виджай П. Бхаткар. Основатель и исполнительный директор Центра развития передовых вычислительных технологий (C-DAC), создатель первого индийского суперкомпьютера.

Что произошло с заказом Cray

После первого индийского ядерного испытания, проведенного Индией в 1974 году, США ввели эмбарго на поставки передовой электроники и компьютеров в эту страну. В 1978 году из страны ушла американская компьютерная корпорация IBM. Доступ к тому, что на Западе считалось нормальной инфраструктурой для науки, был сильно ограничен. Суперкомпьютеры требовались для прогноза погоды, климатических моделей, научных расчетов в физике и химии, а купить их было негде. На Западе эти расчеты видели иначе. Мощные машины нужны не только для прогноза погоды, но и для моделирования ядерного оружия и спутниковых программ. Индия в 1974 году провела ядерное испытание и к блокам не примкнула, так что опасения были политические. Холодная война была в разгаре, и технологические ограничения были ее частью.

В этом контексте Индийский институт науки в Бангалоре получил от Министерства развития человеческих ресурсов 500 миллионов рупий на создание суперкомпьютерного центра. По курсу тех лет это около 41 миллиона долларов, деньги для индийской науки серьезные. Институт к этому моменту уже имел компьютерный центр (Computer Centre), основанный в 1970 году и позже, в 1990-м, переименованный в SERC. Возглавлял его Раджараман, приглашенный из Индийского технологического института в Канпуре (IIT Kanpur) в начале восьмидесятых как один из ведущих специалистов страны по вычислениям. Вместе с ним работал Н. Балакришнан, специалист по аэрокосмическим вычислениям и высокопроизводительным вычислениям, будущий преемник Раджарамана на посту председателя SERC. 

Сегодня именно Балакришнан возглавляет действующую Национальную суперкомпьютерную миссию Индии (NSM), так что линия SERC тянется до государственных программ сегодняшнего дня. Именно Раджараман и Балакришнан вошли в национальный комитет, который должен был выбрать машину для нового центра. Комитет съездил в две американские компании и одну японскую, оценил варианты и остановился на Cray Y-MP как основной машине. Это был лучший векторный суперкомпьютер своего времени. К нему планировались фронтенд-компьютеры и высокопроизводительные рабочие станции.

Контракт с Cray подписали, дату установки назначили на 1989 год. Делегация Госдепартамента США приезжала в институт, оговаривала условия использования будущей машины. Всё согласовали, и казалось, что дело техники. Сам Cray был уверен, что экспортную лицензию получит без проблем, раз уж переговоры прошли гладко.

Дальше началось непонятное. К дате, прописанной в контракте, лицензию так и не выдали. Заказ пришлось отменить. В тексте Раджарамана этот эпизод описан сухо, двумя фразами. За три десятилетия острота стерлась. В 1989 году для института это был серьезный удар. Вся архитектура будущего центра была выстроена вокруг одной большой векторной машины, и ее внезапно не стало. Сегодня коллеги Раджарамана по SERC в ретроспективе говорят об этом прямее, чем он сам. Отказ Cray был одним из последних эпизодов холодной войны, проигравшегося на конкретном институте в Бангалоре.

Пришлось перестраиваться на ходу. Вместо одной большой векторной машины собрали гетерогенный парк из того, что могли купить. Основой стал мейнфрейм Cyber 992 с векторизатором, на тот момент самый быстрый мейнфрейм производства CDC (американский производитель мейнфреймов и суперкомпьютеров, существовала в 1957-1992 годах). К нему добавили два суперскалярных компьютера, CDC 4360 и VAX 8810 от DEC (американский производитель компьютеров, существовала в 1957-1998 годах, поглощена Compaq и затем HP). 

Отдельно институт пошел по пути кластерных вычислений. Купили девять рабочих станций IBM RS6000/580 без дисплеев, по 256 мегабайт оперативной памяти в каждой, объединенных двойным оптоволоконным кольцом. Для удаленного доступа в сеть добавили еще 48 рабочих станций IBM RS6000/340. Плюс 24 рабочие станции Silicon Graphics (американский производитель графических рабочих станций, существовала до 2009 года) для визуализации, моделирования и симуляции.

В 1992 году к этому хозяйству добавился PARAM 8600, параллельный компьютер индийского производства с 64 скалярными и 16 векторными процессорами. История PARAM и будет дальнейшим сюжетом.

Как появился C-DAC

История с Cray стала не единичным случаем, а очередным звеном в длинной цепи. Попытки закупить суперкомпьютеры в США и Японии раз за разом натыкались на экспортные ограничения. Стране нужен был другой путь, свой собственный. В 1986 году Научный консультативный комитет при премьер-министре под руководством химика Ч. Н. Р. Рао (Chintamani Nagesa Ramachandra Rao) собрал рабочую комиссию. Председателем назначили Раджарамана, того самого, чей центр в Бангалоре через пару лет останется без Cray Y-MP. Формулировка задачи была осторожной и серьезной одновременно, было необходимо предложить методы проектирования и производства высокопроизводительных компьютеров своими силами.

Тут стоит остановиться на одном совпадении, которое плохо видно в хронологии. Ч. Н. Р. Рао в это же время был директором Индийского института науки в Бангалоре, того самого, где работал Раджараман и где строили SERC. Получается, что человек, собирающий комиссию при премьер-министре для поиска национального ответа на санкции, одновременно руководит институтом, который лично от этих санкций пострадал. Не выдуманный сюжет, а рабочая конфигурация индийской науки того времени.

Комиссия сформулировала миссию-проект, звучит по-советски, но по делу. Построить параллельные компьютеры производительностью в гигафлопс и выше. В марте 1988 года Министерство электроники учредило Центр развития передовых вычислений, Centre for Development of Advanced Computing, или C-DAC. Локацию выбрали Пуне, а не Бангалор, хотя именно в Бангалоре находилась самая острая потребность. Стартовый бюджет составил 300 миллионов рупий.

Инженер-электрик из Нагпурского университета, с магистратурой в Бароде и защищенной в Индийском технологическом институте в Дели (IIT Delhi) диссертацией, Бхаткар к своему сорок первому году уже имел значительный опыт работы с государственными технологическими проектами и репутацию человека, умеющего доводить сложные технические проекты до рабочего состояния. Этим он и отличался от чистого ученого. В академии умели писать статьи, в Министерстве умели осваивать бюджеты, а людей, способных на то и другое одновременно, было немного. 

Мандат, полученный Бхаткаром в 1988 году, выглядел если не невыполнимым, то очень сложным. Построить суперкомпьютер производительностью в гигафлопс в стране, где собственная компьютерная индустрия находилась в зачаточном состоянии, в сроки не больше трех лет и дешевле отмененного Cray. Каждого из этих условий по отдельности достаточно, чтобы нормальный человек отказался подписывать. Бхаткар подписал и в итоге возглавил C-DAC на протяжении многих лет, под его руководством были созданы PARAM 8000, 8600, 9000 и 10000.

Проект был завершен в июле 1991 года. C-DAC спроектировал и собрал PARAM 8000 с заявленной производительностью в 1 гигафлопс. Архитектурно это был классический параллельный компьютер с распределенной памятью, MIMD (архитектура параллельных вычислений, множественный поток команд с множественным потоком данных), где каждый процессор имеет собственную память и узлы обмениваются сообщениями. В каждом узле стоял транспьютер INMOS T800 или T805, британский специализированный микропроцессор для параллельных систем. Базовая конфигурация PARAM 8000 насчитывала 64 узла. Машина была спроектирована так, чтобы вычислительные узлы можно было подключать по мере роста задачи, и общее число узлов масштабировалось.

Масштаб того, что получилось, стоит оценить по простой хронологии: 1986 — собирается комиссия; март 1988 — создается C-DAC; июль 1991 — работает PARAM 8000. Три года от формального старта до готовой машины производительностью в гигафлопс. Для государственного исследовательского проекта в стране, у которой собственная компьютерная индустрия только-только складывалась, это быстро. Для той же задачи в более оснащенной стране сроки были бы похожими.

Студент занимается супервычислениями на первом индийском суперкомпьютере «PARAM 8000», чтобы сверхбыстро распечатать диплом бакалавра исккусств (B.A.). (1990 год) 

Студент занимается супервычислениями на первом индийском суперкомпьютере «PARAM 8000», чтобы сверхбыстро распечатать диплом бакалавра исккусств (B.A.). (1990 год) 

Параллельно шло целое движение

Самое интересное, что C-DAC был не одиночной инициативой. Между 1985 и 1992 годами в Индии происходила вспышка активности по проектированию параллельных машин. Несколько институтов независимо друг от друга строили собственные параллельные компьютеры, одни для чистых исследований, другие для прикладных задач.

Одна из таких машин, FLOSOLVER, решала задачи газодинамики и была разработана в Национальной аэронавтической лаборатории в Бангалоре (National Aerospace Laboratories, NAL). Другая, PACE, строилась в индийской Организации оборонных исследований и разработок (Defence Research and Development Organisation, DRDO) в Хайдарабаде. Третью, ANUPAM (в переводе с санскрита «несравненный»), делал Атомный исследовательский центр имени Бхабхи (Bhabha Atomic Research Centre, BARC) в Мумбаи для задач ядерных расчётов. В Индийском институте науки в Бангалоре (Indian Institute of Science, IISc) шёл проект «Интеллектуальные компьютерные системы» (Knowledge Based Computer Systems, KBCS), в рамках которого строили недорогие параллельные компьютеры на материнских платах от персональных компьютеров. Около десяти аспирантов института защитили диссертации по разным аспектам параллельных вычислений.

Все эти проекты породили большой пул инженеров, которые умели проектировать и программировать параллельные системы. PARAM не возник в вакууме. К моменту запуска C-DAC в стране уже была среда, готовая воспринять и выполнить задачу. Если бы центр создавали в стране, где параллельными вычислениями занимались полтора человека, история, вероятно, сложилась бы иначе.

Универсальной закономерности из этого не вывести, одного кейса для этого мало. В конкретном индийском случае связь видна отчетливо. Внешний отказ в доступе к технологии совпал по времени с уже растущей внутренней школой, и школа смогла подхватить заказ. Поодиночке ни то, ни другое не сработало бы.

Что получилось у SERC после отмены Cray

Вернемся в Бангалор. К 1992 году SERC стал крупнейшим вычислительным центром в Индии. В машинном зале стояло множество разнородных систем, работала огромная библиотека пакетного программного обеспечения, кампус был связан оптоволокном, и ученые института получили доступ к вычислительным ресурсам мирового уровня, пусть и собранным с миру по нитке.

Раджараман и Балакришнан, уже после того как дым рассеялся, стали называть отказ Cray благословением, замаскированным под неудачу (blessing in disguise). Логика была простая. Деньги, выделенные на приобретение Cray Y-MP, никуда не делись и были потрачены на то, что продавалось без ограничений. Вместо одной большой векторной машины получился гетерогенный парк, в который вошли мейнфрейм с векторизатором, кластер рабочих станций с быстрой оптической сетью, графические станции для визуализации, а позже и отечественный PARAM 8600.

С архитектурной точки зрения это оказался правильный поворот. Начало девяностых было моментом, когда классические векторные суперкомпьютеры уже начинали уступать место массово-параллельным системам и кластерам. Индустрия шла в эту сторону довольно уверенно, и к середине десятилетия векторные монстры вроде линейки Cray остались нишевыми решениями. SERC, не получив Cray, по сути перешел на более перспективную модель раньше, чем сделал бы это своими руками. Называть ли это удачей или вынужденной перестройкой, которой задним числом дали красивое имя, вопрос скорее стилистический. Сами участники событий твердо стоят на первой версии, и оспаривать это со стороны неловко.

К 2010 году в SERC уже работал IBM Blue Gene (семейство суперкомпьютеров IBM), три высокопроизводительных кластера, обновленная кампусная сеть. В этом же году американское правительство окончательно смягчило экспортные ограничения на суперкомпьютеры для Индии. За двадцать лет история прошла полный круг. Страна, которой в 1989 году не продали одну машину, в 2010-м могла купить любую. К этому моменту ей, впрочем, уже не особо нужно было покупать, т. к. уже могли создать свой продукт.

Что было дальше с C-DAC

Серия PARAM на 1991 году не закончилась. C-DAC продолжал строить более мощные машины. В 1992-м появился PARAM 8600, в 1994-м — PARAM 9000 с архитектурой Clos network (многокаскадная коммутационная сеть, позволяющая масштабировать число связей между узлами) и масштабируемостью до двухсот процессоров. PARAM 10000 в 1998-м уже был кластером SMP-узлов (Symmetric Multiprocessing, симметричная многопроцессорная архитектура) на базе серверов Sun Enterprise с процессорами UltraSPARC II (разработка американской компании Sun Microsystems) и умел выдавать до 100 гигафлопс. 

В 2003-м вышел PARAM PADMA, машина с 248 процессорами, пиковой производительностью 992 гигафлопс и собственной коммуникационной сетью. PADMA попал в Top 500 самых быстрых компьютеров мира на 171-е место. Это не топ-десятка, но попадание в международный рейтинг, и для проекта, начатого в 1988-м как ответ на санкции, через пятнадцать лет выход на мировую сцену — это сильный результат.

Дальше серия продолжилась машинами PARAM YUVA (2008, место 69 в Top 500), YUVA II (2013), SHAVAK (2015, суперкомпьютер в настольном форм-факторе для обучения), ISHAN (2016, установлен в IIT Guwahati), BRAHMA (2018), SIDDHI-AI (2019–21, с пиковой производительностью 5.267 петафлопса) и SHIVAY (установлен в  Indian Institute of Technology (BHU) Varanasi). . От гигафлопса до петафлопса, за тридцать лет, собственной разработкой.

PARAM Shivay — это первый суперкомпьютер собственной сборки в Индии, разработанный в рамках Национальной суперкомпьютерной миссии (NSM).

PARAM Shivay — это первый суперкомпьютер собственной сборки в Индии, разработанный в рамках Национальной суперкомпьютерной миссии (NSM).

Параллельно с суперкомпьютерами C-DAC занимался тем, для чего, собственно, и создавался – развитием вычислений в широком смысле. Одна из таких работ выглядит особенно характерно для индийского контекста. В C-DAC разработали интегральную микросхему GIST (Graphics and Intelligence based Script Technology, технология обработки письменностей на основе графических и алгоритмических средств). Чип монтировался на плату расширения для персонального компьютера и позволял работать с большинством индийских письменностей на обычных ПК. 

Вместе с этим также был разработан общий вариант клавиатурной раскладки для разных индийских алфавитов и стандарт ISCII (Indian Script Code for Information Interchange, индийский код письменностей для обмена информацией) для единого кодирования всех основных письменностей страны. Страна с двадцатью двумя официальными языками и десятком письменностей получила возможность работать с текстом на родных языках на массовом оборудовании. К суперкомпьютерам это имеет отдаленное отношение, но хорошо показывает, что C-DAC никогда не задумывался как узкая программа по закрытию одной санкционной дыры. Это был центр развития вычислений в широком понимании задачи, и суперкомпьютеры оказались одним из его направлений, важным, но не единственным.

Что не получилось

PARAM 8000 был собран за три года, но не из индийских деталей. В каждом узле стоял транспьютер INMOS, британская разработка. Сам Раджараман в своём обзоре пишет об этом прямо. Индийские инженеры умели проектировать микросхемы для иностранных заказчиков, но производить их в Индии было негде. Литейного производства страна тогда не завела. Это он называет единственным серьёзным провалом индийской технологической политики того периода.

В истории PARAM это проявляется просто. Проект отвечал за архитектуру, сборку и программное обеспечение. За производство чипов не отвечал никто. Первое получилось. Второе так и не получилось. Сорок лет спустя Индия всё ещё решает задачу собственных полупроводников.

Это не уменьшает достижения C-DAC. Это показывает его масштаб. Условия совпали для одной успешной машины. Для создания собственной полупроводниковой индустрии условия не совпали ни тогда, ни позже, и эту задачу Индии пришлось тащить отдельно ещё тридцать лет.

Выводы из истории

К моменту, когда в 1989 году отказался Cray, у SERC уже пять лет как был выделенный бюджет на создание центра. Три года до C-DAC в стране работала программа развития параллельных вычислений с участием пяти ведущих институтов. В году, когда создали C-DAC, премьер-министром был Раджив Ганди, научным советом при нем руководил К. Н. Р. Рао, и тот же Рао руководил IISc. Министерство электроники возглавляли ученые. Всё совпало.

PARAM получился потому, что к 1988 году в индийской системе одновременно оказались деньги, подготовленные люди, политическая воля и руководитель, готовый нести ответственность за результат. В государственных проектах это редкость, потому что ответственность размазывается по комиссиям, подкомиссиям и межведомственным согласованиям, и в итоге не отвечает никто.

Раджараман в конце своего обзора формулирует это одной фразой: «Отказ Запада в передовых технологиях Индии не повредил, скорее подтолкнул к самостоятельности». 

Атомная энергия, космос, оборонные исследования получили санкционные отказы и справились силами своих специалистов. Единственным серьезным провалом было то, что Индия не вложилась вовремя в собственное производство микросхем. Санкции не сработали там, где страна была готова, но сработали там, где не была.

Выделенные и виртуальные серверы в Европе, США и России

Готовые серверы + предустановленное программное обеспечение, а также индивидуальные конфигурации серверов.

Посмотреть

Автор: akdengi

Источник