Суперкомпьютеры: все об этих неизвестных машинах

Mare Nostrum в Барселоне, Испания

Я думаю сегодня нельзя говорить о суперкомпьютере, не связывая его с Linux, и дело в том, что, несмотря на то, что Linux изначально задумывался как сектор персональных компьютеров, можно сказать, что он доминировал во всех секторах, за исключением того, что мы увидим позже с некоторой интересной статистикой. Кроме того, это сектор, в котором на испанском языке публикуется не так много информации, доступной для всех.

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

Больше, чем статья или мегапост, это будет своего рода Теоретико-практическая вики о суперкомпьютерах, с которыми вы можете проконсультироваться в любое время. Это цель, чтобы эта статья LxA стала поворотным моментом, до и после. Я пойму? Давай проверим ...

Введение в суперкомпьютеры

Суперкомпьютер и сисадмин

Чтобы было ясно с самого начала, компьютеры, которые есть у нас дома, являются одними из самых мощных из существующих. Я имею в виду, что нет более мощного микропроцессора, чем те, которые мы используем ежедневно. Ключ к суперкомпьютерам не в сверхмощных микропроцессорах или очень экзотических компонентах, отличных от тех, которые мы ежедневно используем в своих домах. ключ к суперкомпьютерам - это параллелизм.

Позвольте мне объяснить, банки памяти RAM, жесткие диски, микропроцессоры, материнские платы и т. Д. суперкомпьютера, вероятно, больше похожи, чем вы думаете, на те, которые вы используете в данный момент или имеете дома. Только в случае суперкомпьютеров они сгруппированы в сотни или тысячи, чтобы суммировать мощность каждого из этих независимых «компьютеров» и, таким образом, составлять отличная машина, работающая как единая система.

Я говорю о параллельные вычисления, Да. Парадигма, которая позволяет создавать суперкомпьютеры или то, что мы знаем как HPC (высокопроизводительные вычисления) или высокопроизводительные вычисления. Я имею в виду, что если у вас дома есть AMD Ryzen 7 с 16 ГБ ОЗУ, сетевой картой и жестким диском на 8 ТБ, ... представьте, что произойдет, если вы умножите это на 1000 и заставите его работать как если бы они были просто ПК. Это будет 1000 Ryzen, работающих параллельно, 16 ТБ ОЗУ и 8 ПБ хранилища. Вау !! Это уже больше похоже на суперкомпьютер, не так ли?

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

Что такое суперкомпьютеры?

Суперкомпьютер IBM

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

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

История суперкомпьютеров:

Cray 1: историческое фото

Возможно, одним из первых суперкомпьютеров, или, как это классифицируют историки, была машина, построенная в 60-х гг. Сперри рэнд для ВМС США. Затем наступит время, когда IBM станет великим королем с такими машинами, как IBM 7030 и многими другими. Также Атлас Университета Манчестера и Ферранти в начале 60-х как европейское соревнование с американскими машинами. Машины, которые уже начали использовать германиевые транзисторы в качестве замены старых электронных ламп (не интегральных схем) и магнитных запоминающих устройств для их состава, но они все еще были очень примитивными.

Затем наступила другая эра, в которую вошла еще одна великая компания, CDC, с CDC 6600, разработанной старым знакомым, который позже назовет важную компанию, которая сегодня является лидером в этом секторе. Я говорю о Сеймур Крей. Спроектированная им машина была завершена в 1964 году и была одной из первых, в которой использовались кремниевые транзисторы. Скорость, обеспечиваемая новой кремниевой технологией и архитектурой, разработанной Cray, сделала машину в 10 раз быстрее, чем у конкурентов, и было продано 100 штук по 8.000.000 XNUMX XNUMX долларов каждая.

Cray dejaría CDC (Control Data Corporation) en 1972 para formar la compañía líder que os he comentado, se trata de la Cray Research, creando el Cary-1 de 80 Mhz y uno de los primeros CPUs de 64-bit en 1976, convirtiendose en la supercomputadora más exitosa de la época y que podéis ver en la imagen principal de este apartado en la fotografía en blanco y negro. La Cray-2 (1985) seguiría el exitoso camino de la primera, con 8 CPUs, refrigeración líquida y marcando el camino de las modernas supercomputadoras en muchos sentidos. Aunque el rendimiento era de 1,9 GFLOPS.

Сумма, которая сейчас может показаться почти смешной, учитывая, что смартфон, который у вас сейчас в кармане, превосходит эти суперкомпьютеры того времени. Например, SoC Snapdragon 835 или Exynox 8895 от Qualcomm или Samsung соответственно, он имеет мощность около 13,4 Гфлопс, то есть почти в 10 раз больше, чем Cray-2, и примерно в 100 раз больше, чем Cray-1. Эти гигантские машины не достигают подошвы вашей обуви до такого маленького и легкого предмета, как тот, который сейчас у вас в руках. Я хотел бы думать, что в течение нескольких десятилетий у нас могут быть устройства столь же мощные или более мощные, как современные суперкомпьютеры, но уменьшенные до крошечных размеров.

Продолжая рассказ, после этого пришло время эпоха массово параллельных дизайновто есть более низкие затраты на производство микросхем и усовершенствования межсоединений сделали возможным создание суперкомпьютеров вместо сложных машин путем объединения сотен или тысяч микросхем, очень похожих на те, что есть в нашем домашнем оборудовании, например, у меня прокомментировал ранее. Фактически, в 1970-х годах была машина, в которой использовалась эта новая массивная конструкция и которая намного превосходила Cray-1 (250 MFLOPS), это был ILLIAC IV с 256 микропроцессорами, достигающими 1 GFLOPS, хотя у нее были некоторые проблемы с дизайном и не была завершена, была реализована только конструкция с 64 микропроцессорами.

Графический суперкомпьютер LINKS-1 от Университета Осаки был бы еще одной из этих машин с массовым параллелизмом, с 257 микропроцессоров Zilog Z8001 и 257 FPU Intel iAPX 86/20, обеспечивающих хорошую производительность в то время и способных отображать реалистичную трехмерную графику со скоростью 3 GFLOPS. И мало-помалу появятся все более и более мощные машины, от сотен микропроцессоров до тысяч, подобных нынешним ...

В Испании у нас есть один из самых мощных суперкомпьютеров в Европе, а также один из самых мощных в мире, созданный IBM и названный Головокружение, расположенный в Баселоне и принадлежащий испанской сети суперкомпьютеров, состоящей из нескольких из них, например, Picasso в Университете Малаги, который использует материалы, отброшенные в обновлениях, которые MareNostrum периодически получает. Фактически, MareNostrum - это машина, которая очаровывает автора Дэна Брауна и была выбрана как самый красивый центр обработки данных (сочетающий архитектуру старого монастыря с высочайшими технологиями), как вы можете видеть на основном изображении этой статьи.

Максимальная производительность 11.15 пфлопс
Микропроцессоры 165.888 Intel Xeon Platinum
RAM 390 ТБ
Red Омнипат
Diseñador IBM
Платформа SUSE Linux

Особенности суперкомпьютера:

Мэйнфрейм IBM z13

Хотя многие авторы разделяют (на мой взгляд ошибочно) суперкомпьютерные серверы И даже мэйнфреймы, в соответствии с определением суперкомпьютера, которое я дал вам, серверы могут быть полностью охвачены как суперкомпьютеры, поскольку они представляют собой не что иное, как компьютеры с возможностями, намного превосходящими обычные компьютеры, только то, что они предназначены для предоставления определенного типа услуг внутри сеть ... Единственное, что нужно различать, - это то, что в зависимости от того, для чего предназначена машина, у нас будут возможности, которые нам нужны выше остальных.

Например, для сервера, предназначенного для данных, такого как служба облачного хранилища, нас интересует огромная емкость хранилища. В то время как для мэйнфрейма, предназначенного для обработки транзакций и банковских операций, важна его вычислительная мощность. Но я настаиваю на том, что оба являются суперкомпьютерами. С учетом сказанного, давайте посмотрим на некоторые из основные характеристики, которые нас интересуют с суперкомпьютера / мэйнфрейма / сервера:

  • Безопасность: Если это суперкомпьютер, который изолирован, то есть отключен от Интернета, возможно, необходимо реализовать меры безопасности по периметру, но безопасность как таковая внутри самой системы не так важна, как сервер, который подключен и к которому они подключили множество клиентов или могут быть целью атак при подключении к Интернету. Но будь то в том или ином случае меры безопасности найдутся всегда.
  • Высокая доступность: сервер или суперкомпьютер должны функционировать должным образом и сводить к минимуму возможные проблемы с оборудованием или программным обеспечением, поскольку его остановка может быть фатальной для целей, для которых он был создан, и в 100% случаев отказ компьютера будет означать потерю больших сумм денег. Вот почему в операционных системах принимаются меры по сокращению необходимых и надежных перезагрузок (UNIX / Linux), альтернативных источников питания (ИБП) в случае отключения электроэнергии, резервирования систем в случае отказа, наличия реплики, которая не влияет слишком высокая общая производительность, методы ограждения для изоляции узла, чтобы он не влиял на другие и мог быть заменен в горячем режиме, не влияя на работу остальных, отказоустойчивость с такими системами, как RAID на жестких дисках, память ECC, избегайте разделения мозга , иметь план аварийного восстановления (DRP) на случай возникновения проблем и т. д. Кроме того, мы хотим, чтобы надежность и срок службы были максимальными, а следующие параметры всегда были самыми низкими или самыми высокими, в зависимости от того, какие они:
    • MTTF (Среднее время до отказа): это среднее время до отказа, то есть измеряет среднее время, в течение которого система способна работать без перебоев до тех пор, пока не произойдет сбой. Поэтому чем выше, тем лучше.
    • MTBF (Среднее время наработки на отказ): это среднее время наработки на отказ, то есть также важно, чтобы оно было выше, поскольку мы не хотим, чтобы отказы были очень последовательными, иначе надежность оборудования будет низкой.
    • MTTR (Среднее время ремонта): среднее время ремонта, то есть ремонтопригодность. Мы хотим, чтобы он был ниже, чтобы система не простаивала долгое время.
  • Высокая производительность и балансировка нагрузки: Это особенно важно, когда речь идет об облачной службе, которая должна запускать приложения для своих клиентов, на суперкомпьютерах или мэйнфреймах для математических расчетов или научного моделирования и т. Д. Это достигается за счет увеличения объема оперативной памяти и количества и / или производительности микропроцессоров. Кроме того, у нас должна быть хорошая балансировка нагрузки, которая зависит от управления процессами, которые мы делаем, поэтому мы не будем перегружать одни узлы больше, чем другие, но мы сбалансируем рабочую нагрузку на весь суперкомпьютер в равной степени или в наиболее однородных возможный.
  • Скалярность: способность программного и аппаратного обеспечения без ограничений адаптироваться к изменению конфигурации или размера. Этот тип машины должен быть гибким, когда дело доходит до увеличения вычислительной мощности или объема памяти и т. Д., Если он выйдет из строя без необходимости приобретения нового суперкомпьютера.
  • Коста: Это зависит не только от стоимости самой машины и технического обслуживания, которое легко может исчисляться миллионами, но также зависит от потребления машины, которое обычно измеряется в МВт (мегаваттах), и стоимости систем охлаждения, который также высок по количеству выделяемого тепла. Например, если мы возьмем в качестве примера центр обработки данных Facebook, где у него есть сервер, на котором размещена его служба, у нас есть миллиарды расходов, около 1600 инженеров, работающих над ним, без учета выделенных технических специалистов и администраторов, некоторые счета за электроэнергию, которые стратосферный (обратите внимание, что сегодня центры обработки данных потребляют 2% электроэнергии, производимой во всем мире, то есть миллиарды ватт и миллиарды евро. Фактически, только Google потребляет 0,01% мировой энергии, поэтому обычно он устанавливает свои центры обработки данных в тех регионах мира, где электричество дешевле, потому что это экономит многие миллионы) и т. д. Вы можете себе представить, что содержать такую ​​команду недешево ... и не за меньшее, поскольку чудовищный сервер Facebook в Орегоне находится на складе площадью около 28.000 м2 стоимостью в сотни миллионов евро, огромная ферма серверов с тысячами процессоров, жесткие диски для добавления нескольких ПБ памяти, множество банков оперативной памяти, сетевые карты в дикой природе (по расчетам, для их переплетения имеется 6 км оптоволоконных кабелей), и все это потребляет 30 МВт электроэнергии и дизельных генераторов в качестве режима ИБП для отключения электроэнергии, генерируя все тепло, которое требует сложной системы рассеивания с кондиционированием воздуха в больших масштабах.

И это все самые важные функции, хотя могут быть конкретные приложения которые нуждаются в более конкретных вещах.

Актуальные тенденции:

Микросхема IBM z13

Из системы почти на заказ Как и в случае с первым от IBM, CDC или Cray, все очень быстро изменилось с появлением микросхем или интегральных схем и их низкой стоимости, что позволило начать новый массовый параллельный суперкомпьютер с тысячами элементов. Однако не думайте, что современные суперкомпьютеры - это простые системы, которым нужно собрать только тысячи устройств, и все, это сложные машины, требующие тщательного проектирования и производства, которое заботится о каждой детали, чтобы получить от нее максимальную пользу и что все работает должным образом, соответствующая форма в соответствии с возможностями или характеристиками, которых мы хотим достичь.

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

Конкретные микропроцессоры:

Материнская плата AMD Epyc с двумя разъемами

Вначале почти такие же процессоры использовались в качестве домашних компьютеров, но сегодня крупные компании, такие как IBM, AMD и Intel, разрабатывают конкретные модели своих микропроцессоров для настольных компьютеров или для других целей. Например, мы все знакомы с микропроцессорами IBM PowerPC, которые были установлены в Apple до тех пор, пока несколько лет назад они не приняли чипы Intel. Те же самые микросхемы, которые использовались в Apple, также используются в суперкомпьютерах. Однако у IBM есть несколько конкретных проектов для больших машин, которые обеспечивают лучшую производительность при совместной работе, например: сила, даже если они используют ISA совместно с PowerPC.

То же самое происходит с SPARC, который, хотя в настоящее время у них нет конкретных моделей для настольных ПК, потому что это сектор, в котором они не доминируют или в котором они очень заинтересованы, да, что в прошлом были рабочие станции с такими же микропроцессорами, хотя нынешние специально разработаны для работы на этих великолепных машинах. То же самое можно сказать и о фишках. Intel и AMD, чем конкретные микропроцессоры, такие как Intel Xeon, которые разделяют микроархитектуру с текущим Core i3 / i5 / i7 / i9 и многими его функциями (не так с Intel Itanium), только то, что они оптимизированы для работы в режиме MP. То же самое касается AMD, которая разработала специальную реализацию для своих суперкомпьютеров K8 или Athlon64 под названием Opteron, а в настоящее время - EPYC (на основе Zen).

Здесь я снова останавливаюсь и хочу дать определение типы микропроцессоров по определенным параметрам:

  • По своей архитектуре: в зависимости от архитектуры процессора или самого микропроцессора мы можем найти:
    • Микропроцессор: Это обычный ЦП или микропроцессор, независимо от микроархитектуры или технологий, которые он реализует.
    • Микроконтроллер: это обычный ЦП (обычно с низкой производительностью), установленный на одном кристалле вместе с ОЗУ, системой ввода-вывода и шиной, то есть микрокомпьютер на микросхеме. Как правило, они не используются в суперкомпьютерах, но они присутствуют во множестве бытовых и промышленных устройств, таких плат, как Arduino и т. Д. Но про суперкомпьютеры забудьте их ...
    • DSP (цифровой сигнальный процессор): Вы также можете подумать, что эти процессоры цифровых сигналов не подходят для суперкомпьютерных вычислений, но вы увидите, насколько они имеют смысл, когда мы узнаем больше о гетерогенных вычислениях. Но теперь вам просто нужно знать, что это особые процессоры, чтобы иметь хорошую производительность при обработке цифровых сигналов, что делает их хорошими для звуковых карт, видео и т. Д. Но это может иметь некоторые преимущества в определенных расчетах, как мы увидим ...
    • SoC (система на кристалле): Это система на микросхеме, как следует из названия, то есть микросхема, в которую включено нечто большее, чем то, что включено в микроконтроллер. В дополнение к процессору (обычно ARM) он также включает в себя флэш-память, оперативную память, ввод-вывод и некоторые контроллеры. Но в случае SoC интегрированный ЦП обычно высокопроизводительный и предназначен для смартфонов, планшетов и т. Д., Хотя сейчас есть микросерверы, которые используют этот тип микросхем в качестве блоков обработки, как мы увидим.
    • Векторный процессор: это тип микропроцессора SIMD, то есть он выполняет инструкцию с несколькими данными. Можно сказать, что многие современные микропроцессоры имеют функции SIMD благодаря тем мультимедийным расширениям, как MMX, SSE и т. Д., О которых мы говорили. Но когда я говорю о векторных процессорах, я имею в виду чистые, которые были разработаны на основе обработки вектора или массива данных для каждой инструкции. Примерами этого типа процессоров являются Fujitsu FR-V, используемые в некоторых японских суперкомпьютерах, а также графические процессоры, которые можно рассматривать как таковые.
    • СИС: Это интегральные схемы для конкретных приложений, то есть индивидуальные микросхемы, основанные на их использовании. Что-то, что может обеспечить отличную производительность для определенных конкретных приложений, хотя его конструкция подразумевает более высокую стоимость, чем использование общих блоков обработки. Кроме того, если для их реализации используются ПЛИС, это будет не самым эффективным с точки зрения электроники. Например, в наши дни они широко используются для создания машин для добычи криптовалюты.
    • другие: есть другие, которые сейчас в этой теме нас не слишком интересуют, такие как APU (CPU + GPU), NPU, безтактовый микропроцессор, C-RAM, цилиндрический процессор и т. д.
  • По их ядрам или ядрам: мы перешли от одноядерных или одноядерных процессоров к наличию нескольких, но в микропроцессорах, у которых их несколько, мы можем различать:
    • многожильный: это традиционные многоядерные ядра, которые мы часто используем, такие как Dualcore, Quadcore, Octacore и т. д. Обычно они имеют 2, 4, 8, 12, 16, 32, ... ядра или ядра на одном кристалле или в одной упаковке, но разные микросхемы.
    • многоядерных: аналогично приведенному выше, но обычно это сотни или тысячи ядер, и для того, чтобы это было возможно, интегрированные ядра должны быть проще и меньше, чем, например, Intel и AMD, а также более энергоэффективными. Именно поэтому в их основе обычно лежат ядра ARM, размещенные в виде плиток. Объединяя многие из них, можно достичь очень высокой вычислительной мощности. Intel также заигрывала с этим парнем, со своими Xeon Phi, которые представляют собой многоядерные процессоры x86 с гораздо более простыми ядрами, но объединены в большом количестве (от 57 до 72) для питания некоторых современных суперкомпьютеров.
  • По его использованию: В данном случае нас интересует только один тип, а именно MP или многопроцессорные системы. На вашем настольном или портативном компьютере вы увидите, что на вашей материнской плате есть только одно гнездо, куда можно вставить микропроцессор, с другой стороны, серверные материнские платы имеют 2, 4, ... гнезда на каждом из них, это то, что я имею в виду под MP .

Но микропроцессоры постепенно вытесняются другими, более конкретными процессорами, с помощью которых достигаются лучшие вычислительные возможности, т. эффективность между FLOPS на Вт достигается, как мы увидим в следующем разделе.

Другие методы обработки:

NVIDIA DGX

Как я уже сказал, микропроцессоры постепенно продвигаются, хотя они по-прежнему занимают большую долю рынка, но есть и другие процессоры, которые в последнее время активно выходят на рынок, например GPGPU или графические процессоры общего назначения. И дело в том, что микросхемы видеокарт обычно имеют тип SIMD или вектор, которые могут применять одну и ту же инструкцию к множеству данных одновременно, с увеличением производительности, которое это влечет за собой.

И лучше всего то, что, изменив контроллер и программноБез модификации оборудования эти графические процессоры можно использовать для обработки данных, как если бы это был центральный процессор, то есть для общей обработки, а не только для графики, как это делают выделенные графические процессоры, что позволяет использовать их огромный вычислительный потенциал, поскольку количество FLOPS, достигаемый видеокартой, намного выше, чем у процессора.

Причина, по которой они достигают такой огромной вычислительной производительности, заключается в том, что они созданы для работы с графами, а для их перемещения требуется много математических вычислений. Помимо того, что они являются SIMD, как я уже сказал, они обычно следуют парадигме параллельного программирования. SIMT (одиночная инструкция - многопоточность), обеспечивая хорошую пропускную способность даже при высоких задержках памяти.

Обратите внимание, что для создания трехмерного графиканеобходимо моделирование, которое начинается с объединения серии треугольников с координатами W, X, Y и Z на плоскости, чтобы затем применить цвет (R, G, B, A) и создать поверхности, придать освещение, текстурировать поверхности. , смешанные и т. д. Эти данные и цветовые координаты означают, что они содержат конфигурируемые процессоры для их обработки, и понятно, что эти координаты точно образуют векторы, с которыми работают блоки обработки графического процессора, и являются теми, которые используются для выполнения целевых вычислений. Например, в то время как ЦП должен выполнить 4 инструкции сложения, чтобы добавить X1X2X3X4 + Y1Y2Y3Y4, то есть X1 + Y1, затем X2 + Y2 и так далее, графический процессор может сделать это за один раз.

Благодаря этому у нас есть графические процессоры, которые работают на очень низких тактовых частотах, до 5-6 раз ниже, чем у процессоров, и достигают гораздо более высокой скорости FLOPS, что означает более высокое соотношение FLOPS / W. Например, Intel Core i7 3960X достигает 141 Гфлопс вычислительной производительности, а AMD Radeon R9 290X может достигать 5.632 Гфлопс, что дает приблизительную стоимость каждого гигафлопа около 0,08 евро, в то время как в 2004 году японский суперкомпьютер под названием NEC Earth Симулятор был запущен с векторными процессорами и общей производительностью 41.000 10.000 TFLOPS, стоимость одного GFLOPS составила около 8 XNUMX евро, поскольку он состоял из тысяч процессоров с XNUMX GFLOPS каждый.

Как видите, именно здесь и заключается интерес к созданию современные суперкомпьютеры на базе GPU от NVIDIA или AMD вместо использования процессоров. И гетерогенные вычисления также становятся важными, то есть комбинируют различные типы блоков обработки и поручают каждую операцию блоку, который обрабатывает их за меньшее время или более эффективно. Это противоречит парадигме однородных вычислений, в которой ЦП обрабатывает логику, ГП обрабатывает графику, ЦСП для цифровых сигналов и т. Д.

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

Параллельность:

Кэри Бэдж 2

И хотя мне бы не хотелось быть прибыльным, по крайней мере, не так сильно, как суперкомпьютерные дискиДа, я хотел бы вернуться к концу параллелизма и пояснить еще немного. И дело в том, что почти с самого начала вычислений параллелизм в том или ином смысле улучшался:

  • Битовый параллелизм: Мы все видели, как микропроцессоры эволюционировали из 4-битных, 8-битных, 16-битных, 32-битных и нынешних 64-битных (хотя с некоторыми мультимедийными расширениями, достигающими 128, 256, 512 и т. Д.). Это означает, что одна инструкция может обрабатывать больше данных или гораздо более длинные данные.
  • Параллелизм на уровне данных: когда вместо скалярных данных мы используем векторы или матрицы данных, с которыми работают инструкции. Например, скаляр будет X + Y, а DLP будет соответствовать X3X3X1X0 + Y3Y2Y1Y0. Это именно то, что эти расширения делают в наборах инструкций, которые я упомянул в параллелизме на уровне битов.
  • Параллелизм на уровне инструкций: методы, которые предназначены для обработки более одной инструкции за такт. То есть для достижения CPI <1. И здесь мы можем назвать конвейер, суперскалярные архитектуры и другие технологии в качестве основных методов для достижения этого.
  • Параллелизм на уровне задач: Я имею в виду многопоточность или многопоточность, то есть одновременное выполнение нескольких потоков или задач, предложенных планировщиком ядра операционной системы. Поэтому программное обеспечение в этом случае позволит разделить каждый процесс на более простые задачи, которые можно будет выполнять параллельно. Если в Linux вы используете команду ps с параметром -L, появится столбец с идентификатором LWP (облегченного процесса), то есть легкого процесса или потока. Хотя способов прийти к такому параллелизму несколько:
    • CMP (Многопроцессорный чип): то есть использовать несколько ядер, и каждое обрабатывает поток.
    • многопоточность: каждый процессор или ядро ​​может обрабатывать более одного потока одновременно. А в рамках многопоточности мы также можем выделить несколько методологий:
      • Временная многопоточность или суперпоточность: это то, что используют некоторые микропроцессоры, такие как UltraSPARC T2, что достигается чередованием обработки одного и другого потока, но на самом деле они не обрабатываются одновременно одновременно.
      • Одновременная многопоточность или SMT (Одновременная многопоточность): в этом случае они обрабатываются параллельно, что позволяет ресурсам ЦП динамически планировать и иметь возможность множественной широковещательной рассылки. Это то, что использует AMD или Intel, хотя Intel зарегистрировала товарный знак, HyperThreading - это не что иное, как SMT. Однако до внедрения SMT в AMD Zen AMD использовала CMT (Clustered MultiThreading) в своем Fusion, то есть многопоточность, основанную на физических ядрах, а не на логических ядрах. Другими словами, в SMT каждое ядро ​​или ЦП действует так, как если бы они были несколькими логическими ядрами, чтобы выполнять эти задачи параллельно, с другой стороны, в CMT для выполнения этой многопоточности используются несколько физических ядер ...
  • Параллелизм на уровне памяти: не относится к объему памяти, установленной в системе, поэтому это сбивающий с толку термин. Это относится к числу ожидающих доступа, которые могут быть выполнены одновременно. Большинство суперскаляров имеют этот тип параллелизма, достигаемый благодаря реализации нескольких модулей предварительной выборки, которые удовлетворяют различные запросы на ошибки кеша, TLB и т. Д.

Независимо от этих уровней параллелизма их можно комбинировать с другими типы архитектур чтобы получить больше параллелизма, например:

  • Суперскаляр и VLIW: Проще говоря, это те блоки обработки (ЦП или графические процессоры), которые имеют несколько реплицированных функциональных блоков, таких как несколько FPU, несколько ALU, несколько блоков ответвлений и т. Д. Это означает, что операции, выполняемые этими типами единиц, могут выполняться два на два или три на три и т. Д., В зависимости от количества доступных единиц. Например, если для выполнения процесса или программы вам необходимо обработать инструкции Y = X +1, Z = 3 + 2 и W = T + Q, в скаляре вы должны дождаться завершения первой операции, прежде чем вводить вторую. во-первых, если у вас есть 3 ALU, они могут выполняться одновременно ... * VLIW: в случае VLIW то, что обычно существует, является репликой некоторых модулей, и компилятор настраивает инструкции, чтобы адаптировать их ко всей ширине ЦП и что в каждом цикле все или большая часть модулей заняты. То есть VLIW - это длинная инструкция, состоящая из нескольких более простых инструкций, упакованных определенным образом, чтобы соответствовать архитектуре оборудования. Как вы поймете, что у этого есть свои преимущества и недостатки, которые я не буду здесь объяснять ...
  • Трубопровод: разделение каналов или сегментация достигается путем введения регистров, которые делят схему, разделяя каждую функциональную единицу на этапы. Например, представьте, что у вас есть конвейер с тремя глубинами, в этом случае функциональные блоки разделены на три независимые части, как если бы это был цепной производственный процесс. Следовательно, как только первая введенная инструкция покинула первый этап, другая может уже перейти на этот первый этап, что ускоряет выполнение. С другой стороны, в системе без конвейера следующая инструкция не может быть введена до тех пор, пока первая не будет полностью завершена.
  • Исполнение вне очереди: в упорядоченной архитектуре инструкции выполняются последовательно, поскольку компилятор сгенерировал их, чтобы составить запущенную программу. С другой стороны, это не самый эффективный вариант, так как некоторым может потребоваться больше времени, или им придется вводить пузыри или время простоя в ЦП в ожидании того события, которое блокирует выполнение инструкции. С другой стороны, в нерабочее время он будет постоянно снабжать ЦП инструкциями, независимо от порядка, увеличивая продуктивное время. Это достигается с помощью алгоритмов, которые я не буду вдаваться в подробности.

Как правило, большинство современных процессоров, Intel, AMD, IBM POWER, SPARC, ARM и т. Д., Используют сочетание всех уровней параллелизма, конвейерного, суперскалярного, выполнения вне очереди, переименования регистров и т. Д., Чтобы получить гораздо больше. представление. Если вы хотите узнать больше, вы можете проконсультироваться Таксономия Флинна, что отличает системы:

  • СИСД: блок обработки, который может обрабатывать только одну инструкцию с одними данными. То есть он выполняет инструкции и данные последовательно, одну за другой.
  • SIMD: одна инструкция и несколько данных, в этом случае параллелизм есть только в пути данных, а не в пути управления. Настоящие блоки обработки могут выполнять одну и ту же инструкцию для нескольких данных одновременно. Это случай векторных процессоров, графических процессоров и некоторых мультимедийных расширений, которые достигли этого в микропроцессорах (например: SSE, XOP, AVX, MMX,…).
  • ИСД: в этом случае параллелизм находится на уровне инструкций, что позволяет выполнять несколько инструкций в одном потоке данных. Представьте, что у вас есть X и Y, и вы можете управлять X + Y, XY, X · Y и X / Y одновременно.
  • МИДМ: он является наиболее параллельным из всех, так как он может выполнять несколько инструкций для нескольких данных одновременно ...

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

Системы памяти:

Модули RAM

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

Представьте, что у вас есть одиночный процессор Выполняя инструкцию сложения, представьте, что это Z = Y + X, в этом случае проблем не возникнет, поскольку ЦП принесет инструкцию сложения и скажет своему арифметическому блоку добавить ячейки памяти Y и X, где они находятся. data и, наконец, он сохранит результат в Z-позиции памяти. Без проблем! Но что, если процессоров несколько? Представьте себе тот же пример, когда ЦП A выполняет Z = Y + X, но вместе с другим ЦП B выполняет X = Y - 2.

ну, давайте придадим ему значения к каждой из букв: Y = 5, X = 7. Если это так, если ЦП A действует первым, у нас будет Z = 5 + 7, то есть Z = 12. Но если ЦП B действует первым, X = 5-2 = 3, следовательно, он получит доступ к памяти и сохраните 3 в адресе, где хранится X, поэтому, если ЦП A получит доступ к этой позиции, он затем выполнит ту же инструкцию, но результат будет Z = 3 + 7, поэтому Z = 10. Ой! У нас уже случился серьезный сбой, который мы не могли себе позволить, иначе ничего не работало бы должным образом ...

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

Но, конечно, снижение производственных затрат масса стружки и созревание технологии Сети привели к быстрому переходу к машинам с множеством взаимосвязанных процессоров, а также к изменению системы памяти (см. Связь), поскольку те проблемы, которые существуют на домашнем компьютере, умножатся на тысячи, если столько процессоров будет работать одновременно.

Что связь то, что я упомянул, эволюционировало с течением времени, начиная с тесно связанных систем с основной памятью, совместно используемой всеми процессорами; и слабосвязанная - с системами, в которых каждый процессор имеет свою собственную независимую (распределенную) память. С другой стороны, в последнее время две упомянутые мною системы постепенно разбавлялись, и был достигнут прогресс. гибридизация, со схемами UMA (Uniform Memory Access) и NUMA (Non-Uniform Memory Access), хотя это еще одна тема, о которой я мог бы поговорить подробно и хотел бы дать нам еще один мега-пост.

Если вам нужна некоторая информация, просто кратко скажите, что в Архитектура UMA время доступа к любой из единообразных позиций основной памяти одинаково, независимо от процессора, выполняющего доступ (я понимаю доступ как операцию чтения или записи). Это потому, что он централизован.

В то время как в НУМА, он не является однородным, и время доступа будет зависеть от процессора, который его запрашивает. То есть есть локальная память и нелокальная память, другими словами, общая и физически распределенная память. Как вы понимаете, для того, чтобы это было эффективным, необходимо максимально снизить среднюю задержку и, по возможности, сохранять данные и инструкции, которые процессор будет выполнять локально.

Будущее: квантовые вычисления

La был пост-кремний и все технологии замены нынешней микроэлектроники все еще довольно незрелы и находятся в стадии разработки. Я полагаю, что радикального перехода не будет, но возможности нынешнего кремния начнут исчерпываться, пока не достигнут своего физического предела, а затем наступит эра гибридных технологий, основой которых по-прежнему будет кремний. несколько более отдаленное будущее, чтобы дать скачок к квантовым вычислениям ...

В этот переходный период я ​​думаю ARM будут играть решающую роль и многоядерные показатели их энергоэффективности (производительность / потребление), и, это уже очень личное мнение, возможно, в 2020-х годах этот предел кремния будет достигнут, а в 2030-х годах он будет продолжать производиться с использованием кремниевых технологий с использованием инвестиций Вы говорите, что увеличение размера штампа означает более высокие производственные затраты, но когда вам не нужно делать эти огромные инвестиции для обновления литейного производства, я полагаю, что стабильность сыграет в пользу цены. Однако со стороны дизайнера это потребует больших усилий по разработке, поскольку для этого увеличения площади поверхности без уменьшения производственных размеров, чтобы предположить стоящее повышение производительности, им, возможно, придется сильно побаловать будущие микроархитектуры и перейти к микроархитектурам. эффективны, как те ARM, которые я назвал ...

Возвращаясь к теме квантовых вычислений, некоторые из них уже созданы. квантовые компьютеры, но, честно говоря, глядя на то, что я видел, они все еще довольно ограничены и нуждаются в гораздо большем развитии, чтобы стать чем-то практичным для корпораций, и еще многое предстоит сделать, прежде чем они станут достаточно зрелыми, чтобы стать чем-то доступным для дома. Как вы можете видеть на изображениях, открывающих этот раздел, они по-прежнему кажутся довольно сложными объектами научной фантастики, которые нуждаются в охлаждении, чтобы поддерживать их близость к абсолютному нулю ºK (-273ºC).

Эта температура ограничивает его практическое и массовое применение, как в случае с сверхпроводники. В области сверхпроводников были предприняты важные шаги, но рабочая температура по-прежнему значительно ниже 0ºC, хотя было бы очень интересно, если бы они могли заставить их работать при комнатной температуре или в несколько более нормальных пределах. Помимо температурного барьера, необходимо иметь дело с другими проблемными факторами, такими как тот факт, что основы и основы современных двоичных вычислений не работают для квантовых вычислений ...

Я хотел упомянуть сверхпроводники, потому что это одна из технологий, на которых основаны некоторые квантовые компьютеры, чтобы иметь возможность квантовать или изолировать те кубиты, о которых мы будем говорить. Однако это не единственная базальная технология, у нас также есть ионные квантовые компьютеры (атомы с одним или несколькими электронами меньше) на основе количества электронов кубитов, захваченных в лазерные ловушки. Другой альтернативой является квантовые вычисления на основе ядерных спинов, используя спиновые состояния молекул как quibits ...

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

Мы идем с простое объяснение того, что такое квантовый компьютер. Вы знаете, что современные компьютеры основаны на двоичной системе, то есть они обрабатывают биты, которые могут принимать значение ноль или единица (включено или выключено, высокое или низкое напряжение, если мы видим это с точки зрения схем), и эти коды. Двоичные файлы - это информация, которую можно обрабатывать для запуска программ и делать все, что мы можем делать на наших компьютерах сегодня.

Напротив, в квантовом компьютере квантовые биты (называемые кубитыквантовых битов) не только работают во включенном или выключенном состоянии (1 или 0), но также могут работать в обоих состояниях, то есть в государственное перекрытие (включить и выключить). Это потому, что она основана не на традиционной механике, а на законах квантовой физики. Вот почему я сказал, что цифровая или двоичная логика не работает, и мы должны разработать другую квантовую логику, чтобы заложить основу нового компьютерного мира, который нас ждет.

Практика с платформой IBM Q: онлайн-лаборатория, созданная IBM, чтобы каждый мог использовать 16-кубитный квантовый компьютер. Это редактор с графическим веб-интерфейсом, который вы можете использовать для создания своих программ ...

Следовательно, эта новая единица информационных кубитов, которая заменит бит, имеет скрытый потенциал из-за этого параллелизма или двойственности, который позволяет нам обрабатывать гораздо больше возможностей или данных одновременно. Я положил тебя Пример Чтобы вы поняли это лучше, представьте, что у вас есть программа, которая добавляет два бита (a, b), если дополнительный бит равен 0, и вычитает их, если этот дополнительный бит имеет значение 1. Итак, инструкции, загруженные в память, будут иметь вид ( добавьте a, b) в случае, если этот бит равен 0 и (sub a, b), если он равен 1. Чтобы получить оба результата, сложение и вычитание, мы должны выполнить его дважды, верно? Что, если бы состояние этого дополнительного бита могло быть одновременно в обоих состояниях? Вам больше не нужно запускать его дважды, верно?

Другой пример, представьте, что у вас есть команда NOT, переброшенная через 3 бита в неквантовом компьютере. Если во время запуска упомянутой инструкции эти три бита имеют значение 010, результатом будет 101. С другой стороны, та же самая инструкция с кубитами, где каждое значение может находиться в обоих состояниях одновременно, результат даст все возможные значения один раз: 111, 110, 101, 100, 011, 010, 001 и 000. Это для научное моделирование, криптография, решение математических задачи т.д., это просто УДИВИТЕЛЬНО.

Кто лидирует в этой технологии? Что ж, на данный момент кажется, что IBM - лидер, хотя Google, Intel и другие компании или университеты также соревнуются и каждый раз запускают свои прототипы квантовых компьютеров, способных обрабатывать большее количество кубитов, хотя у них есть дополнительная проблема к уже упомянутым, а именно то, что иногда им нужны некоторые из этих кубитов. как кубиты «паритета», то есть чтобы убедиться, что результаты не ошибочны.

Проблемы: потребление электроэнергии и выработка тепла

Термография материнской платы, ориентированной на микропроцессор (точка доступа)

El потребление и отвод тепла этих больших машин - большая проблема для инженеров. Цель состоит в том, чтобы резко снизить это потребление и справиться с нагревом дешевым способом, поскольку системы охлаждения также предполагают потребление электроэнергии, которое необходимо добавить к потреблению самого компьютера. Вот почему рассматриваются некоторые экзотические идеи, такие как погружение центров обработки данных в море, чтобы они использовали собственную воду в качестве охлаждающей жидкости (например: коммерческий бренд Флюоринерт от 3M, которые представляют собой охлаждающие жидкости на основе фторидов) и сэкономить на сложных системах кондиционирования или перекачки охлаждающей жидкости ...

Как я уже сказал, Google ищет районы с самыми низкими тарифами на электроэнергию установить свои серверные центры, так как даже если разница небольшая, с годами это означает многомиллионную экономию на счетах за электроэнергию, я полагаю, что в Испании у них есть проблемы с тарифами, которые наша любимая Endesa предлагает для нас ...

О плотность тепла, Это также порождает другую основную проблему, а именно сокращение срока службы компонентов сервера или суперкомпьютера, которое влияет на долговечность и характеристики полезного срока службы, которые мы описываем в разделе о характеристиках, которыми должен обладать суперкомпьютер. И это тепло связано с электрическими характеристиками компонентов схемы, которые тратят большую часть потребляемой энергии в виде тепла, как это происходит с двигателями внутреннего сгорания, производительность которых не слишком высока и может составлять от 25 до 30%. для бензина или 30% и более для дизелей, с 40-50% для некоторых турбо. Это означает, например, что в случае с бензином только 25 или 30% потребляемого вами бензина фактически используется для передачи мощности колесам, а оставшиеся 75-70% расходуются в виде тепла из-за трения элементов. В качестве детали, чтобы сказать, что электродвигатели могут достигать КПД 90% и более ...

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

Как только эти две проблемы были представлены и ясно соотношение тепла / энергииЯ могу привести вам пример китайского суперкомпьютера Tianhe-1A, который потребляет 4,04 МВт электроэнергии, если бы он был установлен в стране, где кВтч оплачивается по 0,12 евро, как в случае Испании, это будет означать потребление 480 евро. / час (4000 кВт x 0,12 евро), с учетом того, что он подключен круглый год, годовое потребление, подлежащее оплате, составляет 4.204.800 480 24 евро (365 x XNUMX x XNUMX). Четыре миллиона евро - это немалая сумма счета за электроэнергию, верно?

И еще более обидно платить, если мы знаем, что из-за неэффективности наших схем эти 4.204.800 XNUMX XNUMX евро нам действительно пригодился только процент, а другой хороший процент был потрачен впустую в виде тепла. И не только это, нам пришлось вложить деньги, чтобы уменьшить жар, который бесполезен, но влияет на наши команды. Кроме того, с точки зрения окружающей среды, это непропорциональное потребление также является большой проблемой, если энергия поступает из источников, вызывающих какой-либо тип загрязнения (невозобновляемые).

Еще один показательный случай - китайский суперкомпьютер, который сейчас занимает первое место в Top500, то есть в 2018 году имеет самую высокую вычислительную мощность. Называется Sunway TaihuLight и предназначен для исследований нефти и других научных аспектов, фармацевтических исследований и промышленного дизайна. Он работает под управлением RaiseOS (Linux), использует в общей сложности 40.960 26010 микропроцессоров SW256, которые являются многоядерными (каждый чип имеет 10.649.600 ядер, всего 20 1,31 93 ядер), жесткие диски для полной памяти объемом 241 ПБ и 15 ПБ оперативной памяти, если мы добавим все модули. Это дает вам вычислительную мощность 16 PFLOPS (я объясню, что такое FLOPS, позже, если вы не знаете). Его цена составляет около 6,051 миллиона евро, а потребление составляет 15 МВт, поэтому он занимает 1 позицию в рейтинге самых энергоэффективных (3,75 XNUMX гигафлопс / Вт). Эти XNUMX МВт означают, что вам нужно умножить счет за электроэнергию для Tianhe-XNUMXA на XNUMX ...

Коэффициент вычислительной мощности даже измеряется относительно количества ватт, необходимого для создания указанного количества вычислений, я говорю о блок FLOPS / W. Чем больше FLOPS на ватт может генерировать машина, тем она будет эффективнее и тем ниже будет счет за электроэнергию и создаваемую температуру, а, следовательно, и затраты на ее охлаждение. Даже эта взаимосвязь может быть ограничивающим фактором, поскольку инфраструктура для установленного холодильного оборудования не позволит возможному расширению в будущем, если оно не может быть адекватно охлаждено с помощью имеющихся у нас объектов. Помните, что это также относится к одной из характеристик, которые они должны иметь: скалярности.

Классификация суперкомпьютеров:

Суперкомпьютер

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

Итак, я бы сказал, что типы суперкомпьютеров в соответствии с его использованием являются:

  • Сервер: Это очень распространенный тип суперкомпьютера, который может варьироваться от нескольких микропроцессоров и нескольких модулей RAM и жестких дисков, настроенных с некоторым уровнем RAID, до больших машин с тысячами микропроцессоров, большим объемом доступной RAM и большой емкостью хранения. И они называются серверами именно потому, что они предназначены для предоставления определенного типа услуг: хранилища, хостинга, VPS, почты, Интернета и т. Д.
  • Суперкомпьютер: разница между серверной фермой и суперкомпьютером на визуальном уровне равна нулю, вы не могли бы различить их. Единственное, что их отличает, это то, что суперкомпьютеры предназначены для выполнения сложных математических или научных расчетов, моделирования и т. Д. Поэтому больше всего здесь интересует качество расчета. Однако не следует путать термин суперкомпьютер, который мы дали этой группе, и думать, что серверы и мэйнфреймы не являются суперкомпьютерами (я снова настаиваю).
  • мэйнфреймов: это специальные суперкомпьютеры, хотя по определению это большие и дорогие машины с очень высокой производительностью для обработки больших объемов данных, таких как сохранение какого-либо гражданского контроля, банковские транзакции и т. д. С другой стороны, существует четкое различие между мэйнфреймом и суперкомпьютером, и оно состоит в том, что мэйнфрейм должен расширять свои возможности ввода-вывода и должен быть более надежным, поскольку они должны иметь доступ к большим объемам данных, таким как внешние базы данных. В целом, мэйнфреймы больше используются правительственными министерствами или определенными банками или компаниями, тогда как суперкомпьютеры более востребованы учеными и военными. IBM - ведущая компания в области мэйнфреймов, таких как ее z / Architecture, основанная на вычислительных чудовищах, таких как ее чипы, и с такими дистрибутивами, как SUSE Linux на них ...

Что касается типов согласно инфраструктуре:

  • Кластеризация: Это метод соединения компьютеров, соединенных друг с другом сетью, для создания большого суперкомпьютера, мэйнфрейма или сервера. Другими словами, это основа, о которой мы говорили в предыдущих разделах.
    • Централизованно: все узлы расположены в одном месте, например, мэйнфреймы и большинство серверов или суперкомпьютеров.
    • Распределенные: все узлы не расположены в одном месте, иногда они могут быть разделены большими расстояниями или распределены по географическому принципу, но связаны между собой и работают так, как если бы они были только одним. У нас есть пример испанской сети суперкомпьютеров, которая состоит из 13 суперкомпьютеров, распределенных по всему полуострову. Эти 13 соединены между собой, чтобы предложить научному сообществу высокопроизводительные вычисления. Вот некоторые названия суперкомпьютеров, из которых он состоит: MareNostrum (Барселона), Picasso (Малага), Finisterrae2 (Галисия), Magerit и Cibeles (Мадрид) и т. Д.
  • Грид-вычисления: Это еще один способ эксплуатации и использования нецентрализованных разнородных ресурсов, в общем, вы можете использовать вычислительные мощности, хранилище и т. Д. Различных устройств, разбросанных по всему миру, для некоторого приложения. Например, мы можем принять участие в вычислении приоритета тысяч или миллионов компьютеров или ноутбуков многих пользователей, смартфонов и т. Д. Все они образуют взаимосвязанную сеть через Интернет для решения проблемы. Например, SETI @ home - это проект распределенных или ячеистых вычислений, который работает на платформе BOINC (открытая инфраструктура Berkeley для сетевых вычислений), с которой вы можете сотрудничать, установив простое программное обеспечение на свой компьютер, чтобы они использовали часть ваших ресурсов и добавили их в эту огромную сеть для поиска внеземной жизни. Другой пример, который мне приходит в голову, хотя и не законный, - это вредоносная программа, которая захватывает часть ресурсов вашего компьютера для добычи криптовалюты, есть ...

Хотя они существуют другие способы каталогизировать их, Я думаю, это самые интересные.

Для чего нужны суперкомпьютеры?

Математические формулы

Что ж, те большие объемы памяти, памяти или вычислений, которые есть у суперкомпьютеров, позволяют нам делать многие вещи, которые мы не могли бы сделать с обычным ПК, например, определенные научные симуляции, решение математических задач, исследования, хостинг, предлагая услуги тысячам или миллионам подключенных клиенты и др. Короче говоря, это лучший способ, которым мы знаем ускорить человеческий прогресс, хотя некоторые из вещей, которые исследуются, являются разрушительными (используются в военных целях) или для кражи нашей конфиденциальности, например, определенные серверы социальных сетей и другие случаи, о которых вы наверняка знаете.

Серверы, большие данные, облако ...

Сетевой кабель с битами

Суперкомпьютеры, которые предлагать услуги как вы знаете, они известны как серверы. Эти услуги могут быть самыми разнообразными:

  • Файловые серверы: это могут быть службы хостинга или хостинг для веб-страниц, хранилища, FTP-серверы, гетерогенные сети, NFS и т. д.
  • Серверы LDAP и DHCP: другие специфические серверы, которые хранят данные, как и предыдущие, хотя их функция - другая, такая как централизованный вход в систему, как в случае LDAP, или предоставление динамических IP-адресов, как в случае DHCP ...
  • Веб-серверы: они могут быть включены в предыдущую группу, потому что они также хранят данные, но это серверы, предназначенные исключительно для хранения веб-страниц, чтобы к ним можно было получить доступ через протокол HTTP или HTTPS из сети. Таким образом, клиенты смогут получить доступ к этой странице из своих браузеров.
  • Почтовые серверы: Вы можете предоставлять услуги электронной почты, чтобы клиенты могли отправлять и получать электронные письма.
  • NTP-серверы: они предоставляют услугу синхронизации времени, что очень важно для Интернета. Это аббревиатуры Network Time Protocol, они распределены по уровням, причем самые низкие уровни являются наиболее точными. Эти основные слои управляются атомными часами, которые имеют очень низкие колебания в течение года, поэтому они показывают сверхточное время.
  • другие: другие серверы могут хранить большие базы данных, большие данные, даже множество облачных сервисов (IaaS, PaaS, CaaS, SaaS). Примером является VPS (виртуальный частный сервер), то есть на большом сервере десятки или сотни изолированных виртуальных серверов создаются на виртуальных машинах, и клиентам предлагается возможность владеть одним из этих серверов для выполнения задач, которые он хочет, без необходимости платить. реальный сервер и платите за инфраструктуру и обслуживание, просто платите комиссию, чтобы получить эту услугу у провайдера ...

И на этом мы заканчиваем наиболее выдающиеся в этой категории.

IA:

Мозг в электронной схеме

Некоторые суперкомпьютеры предназначены для внедрить системы ИИ (искусственный интеллект), то есть структуры, которые могут обучаться с помощью искусственных нейронных сетей, реализованных с помощью программных алгоритмов или нейронных чипов. Один из примеров, которые я сейчас имею в виду, - это суперкомпьютер IBM Blue Gene и алгоритм BlueMatter, разработанный IBM и Стэнфордским университетом, чтобы иметь возможность реализовать искусственный мозг человека в суперкомпьютере и, таким образом, анализировать, что происходит в нем при некоторых психических заболеваниях или нейродегенеративные заболевания, такие как болезнь Альцгеймера, что позволяет лучше понять, что происходит внутри мозга, и иметь возможность развивать новые методы лечения или лучше знать наш самый загадочный орган.

Также многие службы ИИ, которые мы используем, основаны на суперкомпьютере, таком как Siri или Amazon (см. Alexa for Echo) и т. Д. Но, возможно, меня больше всего интересует IBM Watson, суперкомпьютер, который реализует компьютерную систему искусственного интеллекта, также называемую Watson, способную отвечать на вопросы, сформулированные на естественном языке, и другие инциденты, для которых он был запрограммирован, например, «приготовление пищи» или знание определенных смесей ингредиентов, которые могут понравиться вкусу. .

Он основан на большой базе данных с множеством информации из книг, энциклопедии (включая английскую Википедию) и многие другие источники, в которых вы можете искать информацию, чтобы дать ответы. Он основан на микропроцессорах IBM POWER7 и имеет около 16 ТБ ОЗУ и несколько ПБ хранилища для хранения такого большого количества информации, оборудования, которое стоит более 3 миллионов долларов. Кроме того, его разработчики заявляют, что он может обрабатывать 500 ГБ информации в секунду. И, к нашему удовольствию, он основан на некоторых бесплатных проектах и ​​операционной системе SUSE Linux Enterprise Server.

Научные приложения:

Но суперкомпьютеры в основном используются для научные приложения, либо для исследований в целом, либо для конкретного военного использования. Например, они используются для выполнения множества вычислений по квантовой и ядерной физике, исследований материи, таких как суперкомпьютер CERN, моделирования, чтобы понять, как ведут себя элементарные молекулы или частицы, моделирования жидкостей, например CFD, используемого для изучения эродинамики. гоночных автомобилей, самолетов и т. д.

Также для других исследований химия, биология и медицина. Например, чтобы попытаться лучше понять поведение определенных заболеваний или воссоздать процесс размножения опухолей и, таким образом, попытаться найти лучшее решение для рака. Дэн Браун сказал о MareNostrum, что, возможно, из него выйдет лекарство от рака, надеюсь, и что чем скорее, тем лучше. В UMA (университете Малаги) он работает Мигель Уджалдон что мы смогли провести собеседование в LxA исключительно из-за его разработок с NVIDIA CUDA в суперкомпьютерах, и он может рассказать об этих разработках, которые улучшат наше здоровье ... Я также могу думать о других практических приложениях, таких как изучение и прогнозирование естественных такие явления, как погода, исследования цепей ДНК и мутаций, сворачивание белков и анализ ядерного взрыва.

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

Какие самые могущественные в мире?

Санвей Тайхулайт

Я уже намекал в некоторых случаях, есть список 500 самых мощных суперкомпьютеров в мире которые периодически обновляются. Это о Top500, где вы также найдете множество статистических данных об этих машинах, информацию и т. д., а также еще один конкретный список под названием Green500 который фокусируется на этой энергоэффективности, то есть не только на измерении общего количества FLOPS, которое может развить машина, но и на ранжировании 500 машин с лучшим соотношением FLOPS / W.

Однако могут быть суперкомпьютеры гораздо более мощные, чем эти, которые не указаны в списке, либо потому, что они предназначены для секретные правительственные проекты или потому, что из-за своих характеристик они не соответствуют определенным требованиям для анализа с помощью тестов производительности, которые мы опишем в следующем разделе, и поэтому результаты не были опубликованы в этом Top500. Кроме того, есть подозрение, что некоторые из хорошо расположенных компьютеров в этом списке могут изменять эти результаты, потому что они специально оптимизированы для получения хороших результатов в этих анализах производительности, хотя на практике это не так.

тесты

График FLOPS CPU vs GPU

Тесты для размещения этих суперкомпьютеров в списке Top500 или для измерения производительности всех тех, что не вошли в этот список, хорошо известны всем, на самом деле они аналогичны или равны тем, которые мы проводим на наших домашних компьютерах или мобильных устройствах. ваше выступление. Я говорю о программном обеспечении тесты. Эти типы программ представляют собой очень специфические фрагменты кода, которые выполняют определенные математические операции или циклы, которые служат для измерения времени, которое требуется машине для их выполнения.

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

виды тестов Их можно разделить на синтетические, с низким / высоким уровнем и другие. Первые - это те тесты или программы, которые специально разработаны для измерения производительности (например: Dhrystone, Whetstone, ...), а низкоуровневые - это те, которые непосредственно измеряют производительность компонента, например, задержку памяти. , время доступа к памяти, IPC и т. д. Вместо этого высокоуровневые пытаются измерить производительность наборов компонентов, например, скорость кодирования, сжатия и т. Д., Что означает измерение общей производительности аппаратного компонента, который мешает ему, драйвера и обработки. что делает с этим ОС. Остальные тесты можно использовать для измерения энергопотребления, температуры, сетей, шума, рабочих нагрузок и т. Д.

Возможно, самая известная программа для тестирования суперкомпьютеров - это ЛИНПАК, поскольку он был задуман для измерения производительности в научных и инженерных системах. Программа интенсивно использует операции с плавающей запятой, поэтому результаты во многом зависят от потенциала FPU системы, и это именно то, что наиболее важно измерять на большинстве суперкомпьютеров. И именно здесь мы можем измерить ту единицу, о которой мы так много говорили в статье: ФЛОПЫ.

FLOPS (операций с плавающей запятой в секунду) Он измеряет количество вычислений или операций с плавающей запятой, которые компьютер может выполнить за одну секунду. Вы уже знаете, что компьютеры могут выполнять два типа операций с целыми числами и с плавающей запятой, то есть с числами из набора натуральных чисел (… -3, -2, -1,0,1,2,3,… ) и с наборами рациональных чисел (дробей). Когда мы работаем с симуляциями, трехмерной графикой или сложными математическими вычислениями, физикой или инженерией, именно эти операции с плавающей запятой наиболее распространены, и мы заинтересованы в машине, которая может обрабатывать их быстрее ...

Множественное имя короткие Эквивалентность
- СНИЖЕНИЯ 1
Килограмм тыс.флопс 1000
Мега МФЛОПС 1.000.000
Giga GFLOPS 1.000.000.000
Tera TFLOPS 1.000.000.000.000
Пета Пфлопс 1.000.000.000.000.000
Exa ЭФЛОПС 1.000.000.000.000.000.000
Zeta Зфлопс 1.000.000.000.000.000.000.000
Yota ЙФЛОПС 1.000.000.000.000.000.000.000.000

То есть речь идет о машине Sunway TaihuLight Он может выполнять при максимальной нагрузке около 93.014.600.000.000.000 XNUMX XNUMX XNUMX XNUMX XNUMX операций с плавающей запятой каждую секунду. Впечатляющий!

Детали суперкомпьютера: как они построены?

Узел суперкомпьютера

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

Части суперкомпьютера:

Части суперкомпьютера

Если вы посмотрите на предыдущее изображение архитектуры суперкомпьютера IBM, оно хорошо видно. как они устроены. Можно хорошо оценить части от простейшего до собранного набора. Как видите, элементарным компонентом является микросхема, то есть процессор или микропроцессор, который используется в качестве основы. Например, представьте, что это AMD EPYC. Затем указанный AMD EPYC будет вставлен в материнскую плату, которая обычно имеет два или четыре разъема, поэтому каждая из них будет иметь 1 или 2 EPYC в отличие от материнских плат, которые у нас есть в наших компьютерах без MP.

Что ж, у нас уже есть плата с несколькими микросхемами, и, конечно же, к материнской плате будут добавлены обычные компоненты. Placa Base на домашнем компьютере, то есть банки памяти и так далее. Одну из таких пластин часто называют вычислительная машина как вы видите на картинке. И они обычно располагаются в металлических ящиках по отдельности или сгруппированы по нескольким. Эти ящики - те, что вы видите на демонической фотографии карта узла. Эти узлы или ящики вставляются в направляющие, которые обычно имеют стандартные размеры по группам (промежуточная плоскость), хотя не всегда все соответствуют узлам с вычислительными машинами, но некоторые отсеки остаются свободными внизу и вверху для размещения других «ящиков» или узлов с сетевыми картами и системами связи, которые будут связывать все эти элементы с другими шкафы, блок питания или источник питания, другие лотки, в которых будут находиться жесткие диски, настроенные в RADI, и т. д.

Те направляющие, в которые вставляются эти «ящики» или узлы, о которых мы говорили, монтируются двумя способами: отвалом и  стеллаж (стеллажи), как тот, который мы видим на разных фотографиях. Как я уже сказал, они обычно имеют стандартные размеры, так что элементы, которые войдут внутрь, хорошо подходят, как это происходит в корпусе настольного компьютера, с размерами в дюймах, чтобы не было проблем при установке любого компонента в отсеки. Кроме того, стойки обычно не идут одни, так как их также можно сгруппировать в группы, которые выглядят как большие шкафы с другими вспомогательными элементами, если это необходимо.

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

Виды охлаждения:

Охлаждение центра обработки данных Google

Мы уже говорили о заботе о охлаждениеНа самом деле, когда вы входите в серверную ферму или центр обработки данных, бросается в глаза одна вещь - сильный шум, который обычно бывает на некоторых сквозняках. Это из-за этих систем охлаждения, которым необходимо поддерживать подходящую температуру. И то, что вы видите на изображении выше, - это не что иное, как комната, в которой расположена вся вспомогательная холодильная система одного из этих центров, как вы видите, она довольно большая, сложная и не кажется «дешевой» в обслуживании.

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

Обсуждается использование оборотной воды на очистных сооружениях или улавливание дождевой воды, чтобы не тратить впустую это огромное количество воды, а также то, что я упоминал ранее, размещение центров обработки данных. под морем или на платформах над океаном, чтобы использовать морскую воду в качестве хладагента. В настоящее время вода пропускается через источники тепла для извлечения этих дополнительных градусов, а затем горячая вода перекачивается в охлаждающие турели, чтобы снова охладиться, и цикл начинается снова. Также были предложены другие экспериментальные методы, в которых используются другие жидкие хладагенты в обменных системах для снижения температуры воды без использования дорогостоящих жидкостных компрессоров.

Межсетевые соединения:

Сетевые ссылки суперкомпьютера

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

Например, типичными являются технологии межсетевого взаимодействия кластеров типа Myrinet и Infiniand. Например, в случае Миринет Он состоит из сетевых карт, разработанных специально для этого типа подключения, которые будут помещены в ящик или узел, который мы описываем в разделе деталей. Волоконно-оптические кабели (восходящие / нисходящие), подключенные к одному разъему, будут выходить / входить в них. Соединения выполняются через коммутаторы или маршрутизаторы, которые будут в шкафах. Они также имеют хорошую отказоустойчивость и развиваются до скорости 10 Гбит / с.

Вместо этого, Infiniband это более продвинутый метод, который используется чаще всего. Это система с высокой скоростью, низкой задержкой и низкой нагрузкой на ЦП, что является преимуществом перед Myrnet, позволяя использовать мощность ЦП в тех целях, для которых она предназначена, за вычетом минимума, необходимого для управления системой. . Кроме того, это стандарт, поддерживаемый и разрабатываемый не такой компанией, как предыдущий, а ассоциацией под названием IBTA.

Как и Myrnet, Infiniband использует сетевые карты (подключенные к слотам PCI Express) для соединений с помощью оптоволоконных кабелей и двунаправленная последовательная шина Это позволяет избежать проблем с параллельными автобусами, связанными с большими расстояниями. Несмотря на то, что он является последовательным, он может достигать скорости 2,5 Гбит / с в каждом направлении каждого из каналов, достигая максимальной пропускной способности в некоторых своих версиях около 96 Гбит / с.

Обслуживание и администрирование:

Сисадмин женщина с сервером

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

  • Инженеры и разработчики: они могут позаботиться о том, чтобы машина или работа была правильной.
  • Системные администраторы: системные администраторы будут отвечать за управление операционной системой, установленной на суперкомпьютере, чтобы она работала должным образом. Как правило, эти серверы или суперкомпьютеры обычно не имеют настольных сред или графических интерфейсов, поэтому все обычно делается с терминала. Вот почему системные администраторы могут физически подключаться к машине через «глупый» терминал или, если возможно удаленное администрирование, они будут подключаться удаленно через ssh и другие аналогичные протоколы для выполнения необходимых команд.

терминал ssh linux

  • Другие администраторы: если на машине есть базы данных, веб-сайты и другие системы.
  • Эксперты по безопасности: Они могут быть нескольких типов, некоторые из которых отвечают за физическую безопасность или безопасность периметра, то есть с камерами наблюдения, безопасностью доступа к центру обработки данных, а также предотвращают возможные несчастные случаи (например, пожары) и т. Д., Но также эксперты по безопасности, которые защищают систему от возможных атак.
  • техники: также будут самые разные: технические специалисты, отвечающие за обслуживание инфраструктуры, сетевые техники, техники, отвечающие за замену поврежденных компонентов или их ремонт и т. д. Обычно у них есть тупые терминалы, и в них программное обеспечение сообщает им или отмечает поврежденный компонент, и, как если бы это была игра в сетку, оно дает серию координат, чтобы техник знал, в какой проход и стойку перейти, чтобы заменить конкретный элемент, который не работает. Таким образом, коридоры и стеллажи будут обозначены, как если бы они были паркингом. Кроме того, внутри самой комнаты обычно есть полки с ящиками с запасными элементами, чтобы можно было заменить вышедшие из строя. Конечно, это делается в горячем режиме, то есть без отключения системы. Они извлекают узел, заменяют компонент, вставляют узел и подключаются, а остальные продолжают работать ...

Когда я сказал термин тупой терминалЯ имею в виду стол с колесами, который обычно можно найти в центрах такого типа, с экраном и клавиатурой. Этот коммутатор может быть подключен к серверу или суперкомпьютеру, чтобы технический специалист или системный администратор могли выполнять свои проверки.

Операционные системы:

Как вы уже знаете, Linux был создан с целью завоевать сектор настольных компьютеров, но, как это ни парадоксально, это единственный сектор, в котором он не доминирует сегодня. В рабочий стол практически монополизирован Microsoft и его Windows, за которым следует Apple MacOS с долей около 6-10% и 2-4% для GNU / Linux ...

Цифры не очень надежны, поскольку источники, которые посвящены проведению этих исследований, иногда не проводят тесты должным образом или предвзято относятся к определенным регионам планеты ... Кроме того, некоторые включают ChromeOS, а другие - только дистрибутивы. GNU / Linux по этой квоте. Например, NetMarketShare опубликовали исследование, в котором Linux заняла 4,83%, а MacOS - 6,29%, то есть довольно близко. Я предполагаю, что это исследование включало и ChromeOS. Однако это немного по сравнению с 88,88%, которые они дают Windows, хотя и намного лучше, чем FreeBSD (0,01%) и другие операционные системы, которые даже не равны FreeBSD, вместе взятым.

С другой стороны, эти робкие цифры не встречаются в таких секторах, как великие машины, встроенные, мобильные устройства и т. д. Например, в секторе суперкомпьютеров, который нас сейчас волнует, доминирование почти оскорбительное и абсолютное. Если вы посмотрите на список самых мощных суперкомпьютеров в мире, статистика за июнь 2018 года говорит, что 100% из 500 самых мощных используют Linux.

Если вернуться в 1998 год, среди них был только 1 суперкомпьютер Linux. 500 мощнее. В 1999 году это число выросло до 17, еще одно в следующем году, до 28 в 2000 году, и с этого момента они росли экспоненциально, достигнув 198 в 2003 году, 376 в 2006 году, 2007 года, до 427, а затем они постепенно увеличивались, пока не достигли цифр в примерно 490 из 500 колебались, пока не достигли текущего значения 500 из 500.

Следовательно, на этих серверах, мэйнфреймах или суперкомпьютерах с полной безопасностью вы увидите дистрибутивы Red Hat и SUSE, Установленный на них RHEL или SLES или другие дистрибутивы, такие как Debian, CentOS, Kylin Linux и т. Д. В случае отсутствия Linux у него будет какая-то другая UNIX, такая как Solaris, AIX, UX или какой-то BSD, но те, которые бросаются в глаза своим отсутствием, - это MacOS и Windows. И, как я прокомментировал в предыдущем разделе, обычно без среды рабочего стола, поскольку вы хотите выделить всю мощность этих компьютеров для той цели, для которой они были разработаны, а не тратить ее часть на графические среды, которые, кроме того, мало интересует тех, кто ими занимается. Другое отличие - это клиентские компьютеры, на которых работают пользователи или ученые, которые будут иметь графические среды для анализа информации в более интуитивно понятном и графическом виде.

Как создать самодельный суперкомпьютер?

Суперкомпьютер с платами Raspberry Pi

Да, вы можете создать самодельный суперкомпьютер. Фактически в сети вы найдете некоторые проекты, такие как суперкомпьютеры, состоящие из множества плат. Raspberry Pi присоединился. Очевидно, что возможности этих машин не из другого мира, но они позволяют добавить возможности многих из этих досок и заставить их работать, как если бы это была единая машина. Этот тип проекта «сделай сам» предназначен больше, чем для практического использования, чтобы научить, как можно сделать суперкомпьютер, но более дешевым способом и в меньших масштабах, чтобы каждый мог сделать это дома.

Другой тип кластера или суперкомпьютера, который можно сделать дома или дешевле, чем большие машины, называется Beowulf. Это может быть реализовано с любым Unix-подобным, например BSD, Linux или Solaris и использование проектов с открытым исходным кодом, чтобы воспользоваться преимуществами этого параллельного объединения машин. В основном это достигается путем объединения нескольких ПК, соединенных картами Ethernet и коммутаторами, чтобы объединить их и заставить их работать как единую систему.

С несколькими Старые ПК или что вы не используете и какой-либо дистрибутив Linux, такой как Ubuntu, вы можете собрать свой Beowulf. Советую ознакомиться с проектами MOSIX / OpenMOSIX o ПеликанHPC. С ними вы сможете осуществить эту реализацию. Однако, если это привлечет ваше внимание, я постараюсь в будущем сделать учебник в LxA о том, как реализовать его на практике и шаг за шагом.

Установите операционную систему на компьютер

YAST2 в текстовом режиме

Этот раздел довольно легко описать, так как установка практически как на любом компьютере. Только то, что мы должны помнить, что мы должны настроить определенные аспекты, такие как используемая конфигурация LVM или RAID. Но в целом это не так уж и далеко от повседневной установки. Шокирует только то, что вместо одного процессора и нескольких модулей оперативной памяти и одного-двух жестких дисков их сотни или тысячи, хотя с точки зрения администратора разницы нет. Система будет видеть машину в целом, только то, что ресурсы, которые у нас есть, огромны.

То, что вы также заметите разницу, будет отсутствие BIOS / UEFIпоскольку эти системы часто используют разные системы EFI или другие очень специфические реализации прошивки для определенных платформ на основе SPARC, POWER и т. д. Например, Intel EFI поддерживается для Intel Itanium. Фактически, если вы будете регулярно читать нас, вы также узнаете великолепный проект linuxboot. Но это не представляет особой проблемы, просто ознакомьтесь с этим интерфейсом и ничего больше, кроме того, количество выключений / включений или перезапусков этого типа оборудования практически равно нулю.

Папа мама! Можно ли иметь дома суперкомпьютер?

Облачный фон из CLOUD

Независимо от прототипов, которые мы можем построить с использованием формата Beowulf, кластера плат Raspberry Pi или других типов SBC, у меня для вас хорошие новости. Вы можете использовать мощность суперкомпьютера у себя дома, не покупая и не монтируя какую-либо инфраструктуру. Просто платите ежемесячную плату за купить эту услугу вы можете рассчитывать на всю доступную мощность для любых целей, с которыми вы хотите ее использовать. И это благодаря различным облачным сервисам, таким как AWS (Amazon Web Services), Google Cloud Computing, Microsoft Azure, IBM и т. Д.

Логотипы самых популярных облачных сервисов

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

Есть много сервисов, которые предлагать VPS по хорошей цене, то есть виртуальный сервер, реализованный на виртуальной машине в реальном сервере или суперкомпьютере. Этот сервер будет иметь доступ к той части возможностей, которые предлагает вам реальная машина. Вы можете найти хорошие платформы VPS с 1 & 1, TMDHosting, HostGator, Dreamhost и многими другими ... Кроме того, вы сможете увидеть характеристики VPS на соответствующих веб-сайтах вместе с ценами. Среди характеристик вы увидите оперативную память, процессоры, доступное хранилище, пропускную способность или разрешенный сетевой трафик и т. Д. Кроме того, эти VPS могут быть в основном Linux или Windows, в зависимости от ваших потребностей.

С другой стороны, у нас есть другие несколько более продвинутые сервисы, такие как облачные, которые позволяют нам контракт IaaS (Инфраструктура как услуга) или инфраструктура как услуга. То есть он позволяет нам иметь суперкомпьютер или сервер как услугу без необходимости иметь его физически. В этом случае у нас есть Microsoft Azure, Google Cloud Platform, IBM SoftLayer, CloudSigma, Rackspace, VMWare vCloud Air, Amazon Web Services, Citrix Workspace Cloud, Oracle Cloud Infrastructure и т. Д.

Фуэнтес:

Компьютерная и микропроцессорная архитектура - Мир Битмана

Операционные системы и администрирование - C2GL

Не забывайте оставлять свои комментарии с сомнениями, вкладами или тем, что вы нашли, мой скромный вклад ... Я надеюсь, что это помогло вам узнать больше об этом мире.


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   авокадо эль сказал

    Если у меня дома 2 или 3 компьютера, как мне легко объединить их мощность? загрузить учебник

  2.   Мария Сесилия сказал

    Отличная статья. Спасибо за вклад !!!

  3.   пакочот сказал

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