Читаем Джордж и код, который не взломать полностью

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

Что такое флопс?

Каждый год появляются всё более и более мощные компьютеры. Один из способов сравнить мощности двух компьютеров – проверить, сколько операций с плавающей запятой (floating point operations, сокращённо «флопс») они могут совершить за секунду.

Одна большая система

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

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

Чрезвычайно параллельная задача

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

Но недостаточно уметь решать такие задачи, чтобы называться суперкомпьютером, – ведь большинство интересных задач не являются чрезвычайно параллельными. Процессорам приходится обмениваться промежуточными данными; суперкомпьютер должен уметь одновременно решать и обычные задачи, и «распараллеленные» независимые задачки. Этим суперкомпьютер отличается и от обычных компьютеров, связанных в сеть, и от больших серверов.

Хороша ли сеть?

Чем качественнее сеть, тем производительнее параллельные вычисления. Качество сети определяется:

• пропускной способностью – количеством информации, которое можно передать за секунду (чем больше, тем лучше);

• задержкой – временем между отправкой сигнала и получением ответа (чем меньше, тем лучше).

Доступ к памяти

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

Системы с симметричной многопроцессорной обработкой (SMP – Symmetric Multiprocessor)

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

Системы с неравномерным доступом к памяти (NUMA – Nonuniform Memory Access)

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

Интерконнект

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

Современные компьютерные системы

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

NUMA, где одному разъёму соответствует набор ядер и их память.

Графический процессор (GPU) для суперкомпьютеров

Это новшество по вкусу всем любителям компьютерных игр. Оно необычайно быстро «создаёт» пиксели для экрана во время игры. Благодаря своей архитектуре эти процессоры идеально подходят для некоторых видов задач в суперкомпьютерах.

Флопс, мегафлопс… экзафлопс!

1 мегафлопс = 1 миллион флопс.

1 гигафлопс = 1 миллиард флопс (1000 мегафлопс).

1 терафлопс = 1000 гигафлопс.

1 петафлопс = 1000 терафлопс.

1 экзафлопс = 1000 петафлопс.

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

• 1998: компьютер с одним процессором способен достичь производительности в 500 мегафлопс.

• 2007: множество одиночных процессоров, которые могут «разогнаться» до 10 гигафлопс.

• 2013: есть компьютеры с двумя процессорами по восемь ядер, каждое из которых теоретически имеет производительность в 20 гигафлопс. Таким образом, максимальная производительность всей системы – 320 гигафлопс. По сути, это система NUMA: общая память, шестнадцать независимых ядер… Но сегодня никому и в голову не придёт называть это суперкомпьютером – разве что мы соединим в одну сеть несколько сотен таких машин.

• Существует список пятисот самых мощных суперкомпьютеров – Top500 (www.top500.org), который обновляется дважды в год. Сейчас, на момент написания книги, большинство машин из этого списка находятся на уровне нескольких сотен терафлопс.

Однако в первой строке списка -машина с 33862,7 терафлопс (33,8627 петафлопс). Это несравненно мощнее компьютеров конца XX века!

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

Перейти на страницу:

Похожие книги

Медвежонок
Медвежонок

Смерть для верховного мага всегда была лишь мелким недоразумением — после седьмой реинкарнации начинаешь по-другому относиться к этому процессу. Так, незначительная задержка в планах. Однако он забыл главное — когда планы мешают более сильным существам, за это следует наказание.Очередная смерть не принесла облегчения — его сослали в другой мир, в чужое тело, но самое страшное — ему оставили память только последнего перерождения. Всё, что маг знал или чему учился раньше, оказалось недоступно. В таких непростых обстоятельствах остаётся сделать выбор — либо выгрызать зубами место под солнцем, либо сложить лапки и сдаться.Лег Ондо не привык отступать — в клане Бурого Медведя отродясь трусов не водилось. Если бороться, то до конца. Если сражаться, то до последней капли крови. Главное — разобраться с правилами нового мира, его особенностями и понять, каким образом здесь действует магия. И тогда никто не скажет, что младший из Медведей недостоин места в этом мире!

Василий Маханенко , Василий Михайлович Маханенко , Джудит Моффетт , Евгений Иванович Чарушин , Сергей Николаевич Сергеев-Ценский

Детская литература / Самиздат, сетевая литература / Городское фэнтези / Прочая детская литература / Книги Для Детей
Пионерский характер
Пионерский характер

Рассказы и очерки о жизни и трудовых делах пионеров.Состав:Владислав Крапивин "Первый шаг"Александр Жилин "Девочка с Олимпа"Юрий Коваль "Венька"Ольга Романченко "Еретик"Юрий Чернов "Мы из Снегирии!"Станислав Романовский "Есть такая «пионерка»!"Ирина Стрелкова "Тревога в горах"Людмила Матвеева "Петушок на крыше"Юрий Шевченко "В долине Лефу"Юрий Ермолаев "Два поступка"Сергей Иванов, Сергей Каменев "Валя и Лёшка"Ада Безбородова "Ты с нами, Анка!"Тамара Чесняк "Маленький большой человек (Мгновение из жизни Юры Старовойтова)"Валентина Голанд "Отважные"Вячеслав Морозов "Владение"Юрий Шевченко "Государственные люди"

Владислав Петрович Крапивин , Вячеслав Николаевич Морозов , Ирина Ивановна Стрелкова , Сергей Каменев , Станислав Александрович Фурин , Станислав Романовский

Проза для детей / Детская проза / Прочая детская литература / Книги Для Детей