Как стать автором
Обновить

Комментарии 34

Ничего не хочу сказать про Китай, они молодцы. Однако вот этот пункт мне кажется более реалистичным.
эксафлопсные суперкомпьютеры тесно связаны с национальной безопасностью, так как правоохранительные организации собирают огромные массивы данных, требующие обработки
Скорее мониторинг АПЛ. Преобразования Фурье всякие с подводных микрофонов и прочее
А как вообще их мониторить? Как я понимаю тут 2 задачи — обнаружить сам шум и определить направление. Обе задачи вроде сейчас вполне решаются и сильно более простой техникой. Комп, способный обсчитать грубую симуляцию эволюции вселенной для этого не нужен. Или я не прав?
не забывай про сопоставление сигнатур. Какой тип и прочее. Но я тут не спец, просто что читал «по верхам»
Я помню. :)
Просто в воде звук распространяется очень далеко. Даже если у них будет несколько тысяч микрофонов (я не специалист, но, вроде, это изрядный перебор) — для такой обработки космических мощностей, не требуется. Тем более, что опознавать требуется только новый сигнал. После первоначального распознавания источники можно просто отслеживать повторяя распознавание только при сильном изменении сигнала. Ну и можно сначала определять примерные координаты источника и сразу выкидывать известные источники. Большинство судов, всё-таки, вполне мирные и информацию о себе не прячут.
Шум разный бывает. Например, выделить замаскированные псевдошумовые сигналы и обработать их — задачка не самая простая.
А вообще, Матрица приближается — от моделирования Вселенной осталась пара шагов до натурного эксперимента с Большим Взрывом.
Натурный — это, вроде как реальный, а не симуляция. Хотя так тоже интересно.
Да и в симуляции БВ нас останавливает сейчас не отсутствие мощностей, а отсутствие знаний о том, как же оно на самом деле работало.
На то и моделирование на компах, чтобы понять отсетствее тех или иных знаний. И в попытке узнать что-то новое. Сперва теоретически, а потом практически.
Много копий сломано вокруг теорий зарождения Вселенной, но ни одна не объясняет, гда было «то самое ничего», которое грохнуло и что таки было ДО.
Может это вот такие экпериментаторы ставили натурный эксперимент в пространстве нихких измерений.

Для мониторинга не подходит. Экзафлопсы для моделирования, а не для текущего мониторинга.

Дешевле по баркасу над ними держать.

подлодки быстрее баркасов
«Цифровые частицы» — это сильно.
Эксафлопсные суперкомпьютеры дадут толчок науке, позволив создавать высокоточные симуляции биологических систем
Эххх. Если они имеют ввиду применения типа (Bio)Molecular Mechanics/Molecular Dynamics (MD), то там от топовых суперкомпьютеров толку мало. В данной сфере задачи либо очень хорошо параллелятся, что можно делать GRID (типа Folding@Home) и суперкомпьютер не особо нужен (да и не дадут его на долго), либо плохо параллелятся, что больше 4х видеокарт использовать в одной симуляции не выйдет. На практике для MM гораздо удобней использовать небольшие кластеры на десятки-сотни нод по 4-8 GPU в каждой и которые находятся в пользовании отдельной кафедры в университете или отдела/подразделения в компании. В таком случае гораздо меньше бюрократических и организационных преград и даром потраченных денег на супер сложные inter-node коммуникации, которые всё равно задействовать в этой задаче не выходит.
А вот чего не хватает, так это «бесплатных» датацентров, где можно было бы такие небольшие кластеры размещать.
Вот почему биткойн упал
На пути к запуску суперкомпьютера как у Китая, так и у США стоят несколько глобальных проблем. Такие устройства выделяют огромное количество тепла, что не позволяет компьютеру достичь максимальной производительности и приносит с собой огромные счета за электроэнергию.

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

Лучше бы главу «Проблемы эксафлопсных суперкомпьютеров» вообще убрать, она показывает, что писавший от данной области далек, да и теме заголовка главы соответствует только половина ее текста. Остальное более-менее ничего, если не считать анекдота про стоимость. 20-петафлопсная Sequoia стоит $250M. Экзафлопсная машина, соответственно, будет стоить в 50 раз больше. Реально этот мультипликатор будет еще выше, хотя бы за счет за счет бешеной стоимости коммутаторов интерконнекта такого уровня. Я понимаю, что $300M высосано не из пальца, а взято из источников, которые принято называть серьезными, но надо же и головой думать…
И потом… 1Cloud все-таки… Друзья, вы про надежность и отказы вашего оборудования давно вспоминали? Наверное, не далее как пару часов назад. А теперь умножьте ваш масштаб в 1000 (предполагаю) раз и грубо прикиньте, что будет твориться на экзафлопсной машине. Тем не менее, проблема надежности в статье не упомянута совсем.
20-петафлопсная Sequoia стоит $250M

А 100-петафлопсный Sunway TaihuLight стоит US$273 million.
Экзафлопсная машина, соответственно, будет стоить в 50 раз больше.
Вовсе не обязательно. Производительность GPU от поколения к поколению в 1.5-2 раза увеличивается. Сейчас вот и ядерность CPU тоже резко возрастает…

Еще раз. Суперкопмьютер резко отличается от датацентра, прежде всего интерконнектом, стоимость которого запредельная. Чип Infiniband стоит $500-800. На одну ноду. Про коммутаторы и говорить не стоит, чтобы не огорчаться.
Суперкопьютер не есть миллион РС-шек или графических карт для майнинга, поставленных в одном помещении. Не судите о нем по этим критериям, они в корне неверные.

Суперкопмьютер резко отличается от датацентра
Я в курсе. Я вам привел примеры именно суперкомпьютеров, которые при стоимости Sequoia в 5 раз производительнее.
прежде всего интерконнектом, стоимость которого запредельная
Тем более важна производительность отдельных нод. Чем производительнее ноды, тем меньше затрат на интерконнект. Растет производительность отдельных нод — растет производительность кластера, сорри за капитанство.
Суперкопьютер не есть миллион РС-шек или графических карт для майнинга, поставленных в одном помещении
На практике суперкомпьютер не сильно отличается от тысяч серверов объединённых в одну сеть. Суперкомпьютер — это лишь модное название для компьютерных кластеров. Да, ноды в кластере(суперкомпьютере) обычно объединены в сеть Infiniband, которая значительно быстрее и менее латентная чем ethernet, но не радикально. Выполнение софта на суперкомпьютерах — это обычно просто синхронизированный запуск вычислительного ядра на каждой ноде отдельно и затем обмен данными по сети [InfiniBand] посредством MPI.
Я в курсе. Я вам привел примеры именно суперкомпьютеров, которые при стоимости Sequoia в 5 раз производительнее

Понимаете, тут дело в надежности. Почитайте про надежность Sunway TaihuLight, тогда станет понятно, почему работающая надежно (ну, относительно надежно — бессбойная работа — целых 2о часов) Sequioa стоит примерно как TaihuLight. И даже если если 125PF Sunway TaihuLight стоит $273М, то экзафлопсная машина ну никак не будет стоить $300M

«Чем производительнее ноды, тем меньше затрат на интерконнект» — да нет же! Растет пиковая производительность, которая ни о чем. Это про майнинг.
Чем производительнее ноды, тем больше информации в единицу времени (друг от друга и от дисковой подсистемы) они могут обрабатывать и тем больше этой информации в единицу времени им надо подкачивать через интерконнект. И ладно бы просто подкачивать — если все задачи выполняются синхронизированно (более-менее), то эту информацию надо подкачивать для всех одновременно, что дает огромную нагрузку на высокоуровневые коммутаторы и, как следствие, их огромную стоимость. Или, если коммутаторы менее дорогие, мы приходим к тому, что производительность системы на реальных задачах никакая. Все равно, что ездить на Феррари по Москве — ну да, может она выжать 400 км/ч, и что с того?
На практике суперкомпьютер не сильно отличается от тысяч серверов объединённых в одну сеть

В корне неверно. Знаете, я чувствую, мне сейчас придется объяснять азы. Посмотрите вначале превосходное видео Воеводина «Суперкомпьютер и КПД паровоза», а потом продолжим спор. Не обижайтесь, пожалуйста. Вы ведь наверняка специалист в чем-то другом, и когда Вам знакомые советуют что-то улучшить в своей работе, будучи не в теме… вспомните свои чувства в этот момент
станет понятно, почему… Sequioa стоит примерно как TaihuLight
А где сказано, что экзафлопсные системы будут по надёжности как Sequioa или хотя бы даже как TaihuLight? Может они там другой подход применят, какую-нибудь комбинацию GRID и Parallel вычислений, мало ли? Может они что-то подобное RAID-5 для CPU накрутят — не знаю. RAID1 для CPU уже есть, может и RAID-5 получится. Он уже есть в виде live migration для VM, но для HPC это не очень подходит, нужно адаптировать.
производительность системы на реальных задачах никакая
Производительность суперкомпьютера определяется законом Амдала.
Так и есть. Производительность суперкомпьютеров на «реальных» задачах никакая. Только те задачи, которые очень хорошо параллелятся показывают высокую производительность на кластерах, но для таких задач интерконнект трафик и и так низкий, и суперкомпьютер с точки зрения такой задачи от датацентра особо не отличается. Существует очень мало задач, которые требуют «промежуточный» уровень связности и которые реально могут загрузить весь суперкомпьютер целиком, и интерконнекты и ядра одновременно.
Суперкомпьютер редко работает как суперкомпьютер
Именно. Операторы суперкомпьютеров очень любят тех, кто приносит им задачи, способные загрузить весь СК, только их поди сыщи. То есть на практике суперкомпьютеры в значительной мере занимаются расчётами, которые по структуре нагрузки скорее ближе к майнинг ферме. Одним из примеров задач, которые очень нетребовательны к интерконнектам является Folding@Home.
тем больше этой информации в единицу времени им надо подкачивать через интерконнект
Не всё так просто, потому что связность в кластере не «все-со-всеми», а «кольцо» или «тор», следовательно эффективная пропускная способность сети падает при увеличении числа нод из-за роста транзитного трафика, даже если сам интерконнект тот же самый. Следовательно, если уменьшить число нод, сделать их более мощными, то даже без замены интерконнекта производительность кластера увеличится, хоть и не линейно. Зато на «сэкономленные» интерконнекты можно увеличить производительность оставшихся и тогда рост получается уже ближе к линейному.
Вы ведь наверняка специалист в чем-то другом
Да, HPC — не моя непосредственная проф. сфера, но моя профессия связанна с ежедневным применением суперкомпьютеров и разработкой прикладного софта для них. Например, я использовал JUROPA/JURECA, которая в какой-то момент в TOP10 входила.
знакомые советуют что-то улучшить в своей работе, будучи не в теме
Я вообще ничего не советую. Я просто заметил, что Ваша критика статьи не вполне корректна, т.к. существуют почти на порядок более дешевые суперкомпьютеры.
RAID1 для CPU уже есть, может и RAID-5 получится

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

Сейчас мы уйдем в такие дебри с топологиями, что из этого не выпутаемся. Давайте все же вернемся к исходной точке, при прочих равных. Вне зависимости от топологии, хоть на пятимерном торе, хоть на fat tree, коммутаторы будут забиты трафиком, и чем выше по иерархии, тем сильнее. И чем быстрее будет интерконнект, тем быстрее эти заторы протолкнутся. С этим спорить не будете? Понятно, что на сценарии «все-со-всеми» интерконнект просто упадет и все, тут без вариантов. Выбранная топология может быть оптимально использована, скорее, конкретным алгоритмом конкретной задачи — но мы-то не про конкретную задачу, а про ТОР500, где все меряется под одну гребенку. Суперкомпьютер — это большое количество сильносвязанных задач, иначе речь идет о майнинг-фермах, датацентрах Амазон или там PRISM. Это другая область, совсем. Есть книжка, написанная инженерами Гугловских датацентров — The Datacenter as a Computer, и там, в главе 1.6.2 NETWORKING FABRIC примерно описана Ваша точка зрения. Но в суперкомпьютере все ни разу не так.
Естественно, увеличение тактовой/числа ядер/кэша влияет на производительность, но к уменьшению количества передаваемых данных не имеет никакого отношения. А это значит, что последовательная часть остается прежней, и по закону Амдала мы получим очень небольшое увеличение общей производительности при кратном росте тактовой, кэша, числа ядер на отдельной ноде. Даже перенос памяти в один корпус с процессором (Knights Landing) этой проблемы практически не решают. Ускоряющий эффект может дать увеличение объема памяти на ноде (чтобы минимизировать latency за счет одной большой передачи вместо нескольких небольших), но опять же, не очень большой. Хочется получить больше — надо уменьшать последовательную часть, т.е. время передачи, применяя более быстрый интерконнект.
Посмотрите страницу 6 вот здесь. Ethernet выше 150-й строчки в TOP500 не поднимается, что косвенно говорит о важности интерконнекта вообще и latency в частности.
Разумеется, скорость интерконнекта должна быть сбалансирована с производительностью процессора — но процессоры и GPU ушли уже давно в такой отрыв, что догнать их интерконнекту — не дело ближайшего будущего.
существуют почти на порядок более дешевые суперкомпьютеры

Нет. Я-то как раз в курсе, поскольку суперкомпы разрабатывал. Очень мало возможностей снизить себестоимость стойки. Стоимость суперкомпьютера — объективна, поскольку используются топовые электронные компоненты, спрос на которые превышает предложение. В этих условиях нет особой нужды продавать дешевле, производители чипов снимают сливки — через пару лет те же компоненты будут стоить вполовину дешевле, но если их купить через пару лет, это означает отставание в вечной гонке. Поэтому берут по любой цене. Остальные компоненты стоят копейки, их стоимость оптимизируют, конечно, но больше чем на 5-10% стоимость суперкомпьютерной стойки снизить нельзя.
Использование китайцами китайских же чипов, возможно, снизит стоимость, но я бы не сказал, чтобы больше чем в пару-тройку раз — топовые чипы означают большой процент брака на пластине, а себестоимость пластины фиксирована и везде более-менее одинакова. $300М за экзафлопсную машину и близко нет. Через десяток лет — возможно, но точно не сейчас.
Решением сейчас является небольшой SSD диск внутри ноды, на который пишутся контрольные точки
Это и есть live migration по сути, о котором я упоминал в контексте «raid5». Но, честно говоря, я просто фантазировал на пустом месте. Я думаю, специалисты могут намного лучше меня системы изобрести.
Но в суперкомпьютере все ни разу не так.
То есть в суперкомпьютерах передача данных «транзитом» между несвязанными напрямую нодами почти не происходит? Потому что даже если 1% транзита есть, то через 10 хопов это уже 10%…
Пример:
image
И ещё 2 интерконнекта осталось, и latency улучшилась.
увеличение тактовой/числа ядер/кэша… к уменьшению количества передаваемых данных не имеет никакого отношения
Максимальное число нод в кластере, на сколько я понимаю, ограниченно именно тем, сколько хопов данные вынуждены совершать для того, что бы связать самые дальние ноды. Это связанно с тем, что число хопов увеличивает долю транзитного трафика в интерконнекте, а также, что особенно критично, латентность. Увеличение производительности отдельной ноды снижает число необходимых нод, необходимых для достижения той же производительности потому, что больше трафика остаётся внутри ноды. Да требование к отдельному интерконнекту растут, но линейно, а транзитный трафик — нет.
последовательная часть остается прежней
Ну тут даже бесконечно быстрый интерконнект не поможет, при чём тут суперкомпьютеры? Мы же говорим об ограничения распространения трафика между нодами, этот трафик параллельный.
перенос памяти в один корпус с процессором (Knights Landing) этой проблемы практически не решают
Потому что шина между ядрами слишком узкая. Суперкомпьютеры тут ни при чём, эта проблема даже на одиночных нодах проявляется. Да, есть проблема, что добавление ядер не увеличивает производительность отдельной ноды, вне зависимости от интерконнекта между нодами. Я же имею ввиду, что увеличение производительности ноды, при даже сублинейном увеличении скорости интерконнекта, линейно повышает производительность. Если не ускорять интерконнект — всё равно планка производительности повышается т.к. часть трафика остаётся внутри нод, где шина быстрее. Тут всё довольно просто, мне кажется, трафик генерируемый отдельной нодой не должен превышать скорость интерконнекта. К счастью throughput возможно увеличивать экстенсивно — добавляя линки. Чем больше нод — тем больше трафика между ними, при чём рост быстрее линейного из-за транзита.
последовательную часть, т.е. время передачи
А почему время передачи — последовательная часть? Ноды же связываются между собой независимо. Как передача от ноды A к B затрагивает ноду C? Или мы хотим синхронизировать A с C через транзит? Ну тогда да, упираемся в latency, которая упирается в число хопов, которое снижается если отдельные ноды быстрее.
говорит о важности интерконнекта вообще и latency в частности
Согласен. Нет лучшего интерконнекта, чем шина внутри ноды. Потому более быстрые ноды экономят трафик интерконнекта и увеличивают общую производительность СК.
процессоры и GPU ушли уже давно в такой отрыв, что догнать их интерконнекту — не дело ближайшего будущего.
Если интерконнект отстаёт, какой смысл наращивать число нод? Зачем брать самое дорогое оборудование для стоек?
Использование китайцами китайских же чипов, возможно, снизит стоимость, но я бы не сказал, чтобы больше чем в пару-тройку раз
Sunway TaihuLight — US$273 million — LINPACK 93 petaflops. До экзафлопса, конечно, далеко, но подешевле секвойи.

Но остаётся вопрос: кому эти СК нужны? Зачем город городить? Чисто ради PR? Чтобы потом этот суперкомпьютер загружался на 4%, как в видео, которое вы привели?
То есть в суперкомпьютерах передача данных «транзитом» между несвязанными напрямую нодами почти не происходит?
Ох… Я думал, Вы в курсе. Дело в том, что если этот суперкомпьютер полностью не ваш, вы не угадаете, какая задача попала на какую ноду. Так, например, если две задачи считают соседние области, совершенно не факт, что они попадут на соседние ноды. Даже, скорее всего, не попадут, по теории вероятности. В IBM Blue Gene еще можно как-то управлять включением аппаратных ресурсов для своей задачи в пул, хотя и немаленький, но, например, на Ломоносове точно нельзя. Скорее всего, на той машине, на которой Вы сейчас считаете, программный пакет (точнее, не он сам, а планировщик задач) тоже раскидывает процессы по нодам во всей системе как попало — но лучше спросить у знающих людей. Там же ноды в разных задачах с разным количеством задействованных нод берутся и освобождаются планировщиком, а куда он положит ваши процессы — никому не известно, на первые попавшиеся свободные. Может вполне класть на максимально удаленные, в смысле количества хопов. Посмотрите профиль выполнения, там много интересного.
Но даже если бы можно было сделать так — что очень сложно — как будете разбивать алгоритм, чтобы соседние обсчеты ложились на соседние ноды? Тогда нужно, чтобы ваша большая задача была кратна количеству нод, причем даже это вас не спасет — ноды имеют привычку часто сгорать и быть вынутыми из шкафа, и планировщик отдаст на замену ноду через 6 коммутаторов — и вся ваша программа, идеально сбалансированная по итерациям на разных нодах, будет каждый раз стоять и ждать эти 6 хопов для одного процесса в каждом цикле обмена. А как иначе?
Максимальное число нод в кластере, на сколько я понимаю, ограниченно именно тем, сколько хопов данные вынуждены совершать для того, что бы связать самые дальние ноды.

Теоретически — да. Практически — никогда. Число нод тупо ограничено их стоимостью и стоимостью коммутаторов. Выбить лишнюю пару сотен миллионов долларов из государства совсем не так просто, как кажется. В Штатах, что бы не вопили наши и их политики про технологическое отставание и печатный станок, денег на суперкомпьютеры сейчас банально нет. В том числе — и на те, что в Лос-Аламосе. Ломоносов-2 — две стойки, а их может быть до 64. Поэтому в коммутаторах практически всегда остается очень большой задел на будущее.
Ну тут даже бесконечно быстрый интерконнект не поможет, при чём тут суперкомпьютеры? Мы же говорим об ограничения распространения трафика между нодами, этот трафик параллельный.
Что значит параллельный? Это между нодами на одном коммутаторе он параллельный, но, как я писал выше, это бывает крайне редко. А коммутаторы верхних уровней с неблокирующим fat tree стоят столько, что исчезает всякое желание их покупать, да их и нет почти, всегда присутствует куча неприятных ограничений.
А почему время передачи — последовательная часть? Ноды же связываются между собой независимо. Как передача от ноды A к B затрагивает ноду C?
Если A и B висят на одном коммутаторе первого уровня — то никак. Но так бывает редко. А если как всегда, что описано выше — то затрагивает и С, и кучу других. А те, в свою очередь, затрагивают ноды A и B при своих обменах. Нет неблокирующих коммутаторов более чем второго уровня.
Ну и вообще-то, буфер передачи хранится в памяти, а шина у памяти одна. Эта шина может быть занята в один момент времени чем-то одним — либо обсчетом задачи, либо DMA контроллером, который берет из памяти данные и отсылает их в канал. Поэтому — последовательно еще и в этом смысле.
Нет лучшего интерконнекта, чем шина внутри ноды.
Имеется в виду межпроцессорная шина QPI? Увы, это получается мини-SMP система с кучей присущих ей очевидных недостатков. Из неочевидных — стоимость такой ноды космическая, а надежность — совсем наоборот, из-за чего стоимость склада запчастей становится неприличной.
Если интерконнект отстаёт, какой смысл наращивать число нод? Зачем брать самое дорогое оборудование для стоек?
Понимаете, тут хитро… С одной стороны, вроде бы незачем. С другой — 95% задач используют до 64 процессоров, а там уже совсем другая степень связности, параллельная часть резко увеличивается в процентном соотношении. Но надо ж похвастаться. Зачем Штатам столько авианосцев? Это оттуда же.
Sunway TaihuLight — US$273 million — LINPACK 93 petaflops. До экзафлопса, конечно, далеко, но подешевле секвойи.
Секвойя может честно работать как единый суперкомпьютер. TaihuLight — нет. По крайней мере, раньше не мог, не знаю, как сейчас. И я не уверен, что TaihuLight стоил именно $273M, а не больше. По крайней мере, его предшественник Tianhe-2 с 34ТФлопс стоил $390М, а чудес не бывает. В первую очередь, конечно, приходят в голову мысли о более чем в разы дешевом процессоре, точнее, GPU, но опять же, не верю я что-то в чудеса.
Но остаётся вопрос: кому эти СК нужны? Зачем город городить? Чисто ради PR? Чтобы потом этот суперкомпьютер загружался на 4%, как в видео, которое вы привели?
Не забывайте про небольшие задачи. Суперкомпьютеры сейчас перегружены, хоть и небольшими задачами. Да, есть оверхед за масштаб — дорогие коммутаторы и крайне усложненное управление — но это и есть цена PR.
Да и большие задачки, в общем, считаются — просто их надо готовить тщательнее, писать не только саму задачу, но и алгоритмы для планировщика, делать тестовые прогоны перед запуском всей задачи. У Воеводина все-таки описан случай, когда при запуске написал p=1024 и больше никакой подготовки, а это далеко не всегда так, уж если получил на несколько дней в полное распоряжение железяку стоимостью в пару сотен миллионов долларов, то обычно к такому событию долго готовятся, еще раз оно случится очень не скоро.
Я думал, Вы в курсе.
В курсе, вопрос был риторический. Вы написали «в СК всё не так» в ответ на моё «в СК транзитный трафик забивает интерконнект».
две задачи считают соседние области, совершенно не факт, что они попадут на соседние ноды. лучше спросить у знающих людей.
Те СК, с которыми я работал, а точнее их ПО, всё же активно старались обеспечить соседство выделенных под job нод. Вот и сейчас проверил — так и есть — ничего не случайно.
А как иначе?
У нас на небольшом кластере (чуть больше 100 нод) всё довольно просто. Планировщик знает топологию, старается под задачу выделять максимально близкими юнитами. Всё что не влезет в минимальный по размеру юнит — старается разместить в больший по размеру, но тоже максимально компактный и т.п. пока достаточно ресурсов не выделит. Пропуски по полюнита забивает малыми задачами. Также как выделение на куче в С++ работает. Аллокаторы разные бывают, но у нас даже самый простой неплохо справляется. Внутри алгоритма очки насчитываются за время локальность, антиочки за простой «остатков», кое-как коэффициенты подобрали — работает сносно, выше 90% загрузка. На сколько я понимаю, на JURECA примерно также работает.
Имеется в виду межпроцессорная шина QPI?
Ну я имел ввиду любое повышение производительности, например просто увеличение частоты CPU/GPU. Любое которое позволит совершить переход от slow к fast в примере. Это было в контексте того, что более быстрые ноды оказываются бесполезны.
С одной стороны, вроде бы незачем.
И я о чём.
С другой — 95% задач используют до 64 процессоров, а там уже совсем другая степень связности,
То есть не СК, а GRID/майнинг, а раз так — более производительные ноды вполне уместны.
Зачем Штатам столько авианосцев?
Они думают, что авианосцы в таком количестве помогают им зарабатывать на лоббировании своих интересов в мировой экономике. Думаете СК для того же?
дорогие коммутаторы и крайне усложненное управление — но это и есть цена PR
На это я и жалуюсь. СК перегружены, но, видимо, не сильно и в значительной степени «балластом». Под «балластом» я понимаю задачи, которые можно было бы посчитать на одной ноде, но можно занять ими и СК с КПД 4%… У меня коллеги часто запросы на время СК подают — всегда получают, ни разу ещё не слышал, что бы кому-то отказали. Это в основном запросы на примерно 10ки «независимых» симуляций по 64ядра*30дней каждая.
уж если получил на несколько дней в полное распоряжение железяку стоимостью в пару сотен миллионов долларов, то обычно к такому событию долго готовятся, еще раз оно случится очень не скоро.
Вот интересно, есть ли в этом вообще смысл? Пока запросишь, пока выделят, готовишься, как к свадьбе, пока отладишь, а потом после анализа результатов оказалось, что бы ошибка… А так ту же задачу на десятках нод за пару месяцев прогнал (а не пару дней на целом СК) и поправляешь по ходу, если что. У нас всё больше вторым способом — намного эффективней, несколько проектов параллельно так контролируешь — выходит намного продуктивней.
Бывает зачастую так, что результат надо вчера, а не через месяц. Скажем, брутфорс свежеперехваченного вражеского шифрсообщения с некоторым очень большим, но конечным словарем. Да, тут тоже, в общем, не суперкомпьютинг, а майнинг, но он в одном месте и сразу. Это я к примеру говорю, подобных задач море — например, академик очередную монографию пишет, а негры-аспиранты проверяют десяток его предположений одновременно. Тогда всех двигают в сторонку, без разговоров.
брутфорс свежеперехваченного вражеского шифрсообщения
Это военка, у них свои СК/ДЦ.
академик очередную монографию пишет, а негры-аспиранты проверяют десяток его предположений одновременно
Мб в России это реально, вот так с завтра на послезавтра договориться. В Европе даже академику придется через бюрократию пройти. В отличии от неакадемика, ему выделят эту нереальную тучу времени, но не сразу. А вот небольшую часть нод (десятки) можно загрузить сразу, в любой момент, без бюрократии. И пока (через месяц) выделят весь СК на два дня — всё уже посчитается.
я к примеру говорю, подобных задач море
Я вот уже пару лет задаюсь вопросом о том, где эти задачи и пока что убедительных ответов не нашел. Пока что выглядит так, будто это пиар в духе «а у нас микропроцессоры самые большие в мире!».
Извините за излишние эмоции. Наверное, лучше будет объяснить проще и по-другому.
Производительность суперкомпьютера — на решении реальных задач — определяется законом Амдала. При этом альфа в законе Амдала — и есть, большей частью, время на передачу данных по интерконнекту, если считать, что у нас идеально параллельный алгоритм. А теперь представьте, что у нас миллион нод и всем им надо передавать данные друг другу. В худшем случае — в одно и то же время. Не один раз и не два. Подставьте в эту формулу P равным миллиону и полюбуйтесь на требования к задержкам и скорости передачи данных, для какой-нибудь из своих задач, что Вы решаете.
Реально, конечно, в Ваших словах есть доля правды, и немалая. Суперкомпьютер редко работает как суперкомпьютер, обычно он дробится на большое количество мелких кластеров по 64-128 процессоров, которые и отдаются в аренду рабочим группам ученых, промышленности и т.п, а при использовании суперкомпа по назначению этих арендаторов просто отодвигают в сторонку на пару-тройку дней. Но мы-то про суперкомпьютер, про его возможности как суперкомпьютера N1 в мире — а тут начинаются проблемы, описанные выше.
Но мы-то про суперкомпьютер, про его возможности как суперкомпьютера N1 в мире — а тут начинаются проблемы, описанные выше.
Мы не знаем, на сколько связным будет экзафлопный СК. Но вообще, было бы интересно про такие применения почитать. Я работал только с гражданскими СК и не обладаю реальной статистикой, но как я слышал, задачи, которые загружают СК хотябы на половину занимают менее менее 10% общего процессорного времени кластера. В такой ситуации получается, что если построить 10 кластеров каждый из которых в 10 раз меньше — никто не пострадает. Просто те самые «суперкомпьютерные» нагрузки будут в 5-10 раз дольше считаться на «маленьком» СК, то есть не 2 дня, а 10 дней, а остальные 90% нагрузок вообще не пострадают, а только выиграют.
Очень интересно было бы почитать, кому эти топ-СК вообще нужны реально?
Когда пишут про задачи для СК упоминают:
  1. прогнозирование погоды
  2. разведку нефтяных месторождений
  3. космологию
  4. биоинформатику
  5. симуляции типа мозга, трафика, экономики

На самом деле для тех задач бионформатики, о которых я могу судить, СК не нужен — достаточно датацентра. Рискну предположить, что для космологии/мозга/трафика/экономики ситуация аналогична т.к. фундаментально задачи очень похожи. Остаётся нефтянка и погода. У метеорологов свои выделенные кластеры, зачем им «универсальные» СК? Они их вообще используют? Требует ли нефтянка высокосвязных СК из топ10? Какие преимущества по сравнению с СК вдесятеро меньшей производительности?
Я тоже работал только с гражданскими суперкомпами :) Открою секрет Полишинеля — TaihuLight с трудом прошел тесты и больше целиком ни разу не использовался. Ключевое слово тут — целиком. Надежность — бич современных супер-ЭВМ.
Надо будет выложить куда-нибудь одну из презенташек с докладов в МГУ на Летней Компьютерной Школе. В ней докладчики оптимистично предполагают, что стоящие сейчас задачи по CFD можно будет обсчитать лишь в 70-80-х годах нашего века. Зачастую построить модель в натуральную величину и ее обдуть, считав показания датчиков, получается сейчас сильно дешевле, чем считать на суперкомпьютере — а при грубой сетке считать нет смысла вообще. Другое дело, что там, в общем, задачи, действительно ближе к майнингу, чем к суперкомпьютингу, но банально нужно очень много машинного времени.
Да, с разумной точки зрения построить 10 маленьких машин куда лучше, чем одну большую. Я уж не говорю про управление. Только не забывайте, что когда мы говорим про экзафлопс, «маленькая» — это TaihuLight :)
Я лично не вижу практического смысла в TaihuLight и даже 1/10 от него. Я сам пользуюсь СК. Мои задачи раньше (до 2011) имело смысл запускать максимум на аж 4х нодах по 32 ядра на каждой. Ну пусть даже до 256 ядер можно было натянуть — дальше вообще смысла 0. Сегодня, если бы производительность росла линейно до 256 ядер, она бы почти догнала 1 GPU, в реальности отстаёт в разы, а стоимость — и говорить нечего. Таких задач один исследователь запускает обычно десятки-сотни, но они независимы абсолютно. У исследовательских групп есть возможно получать время на суперкомпьютерах — с бюрократией и геморрем с настройкой софта, неудобным доступом к данным. Даже обидно, лучше бы половину этого времени деньгами дали. Есть также возможность закупить свои ноды и даже кластеры целиком (с поддержкой от вендора) по 8GPU на ноду — это намного лучше, удобней, но ставить их негде — на место в датацентре деньги найти сложно, а университетские датацентры переполнены вечно. Лучше бы выкинули суперкомпьютеры и отдали помещения и инфраструктуру — и то толку больше было бы. Выглядит так, будто большая часть суперкомпьютеров — пустая трата налогов, но может я просто не знаю, и где-то есть рациональное им применение.
А если не получится то будут биткоины майнить. Это у них получается вроде.
Готовят бота для мировой войны
Исследовать в Южно-Китайском море с помощью эксафлопсного компьютера совершенно нечего, это очевидно. Зато все теперь впитали, кто IT держава №1 в мире. Ну, а великая и могучая чем, интересно, ответит? Очередным залпом по диким племенам Месопотамии?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий