Виртуальный ты. Как создание цифровых близнецов изменит будущее человечества — страница 18 из 61

<…> очень близко соответствует той, которая наблюдается экспериментально в волокнах Пуркинье»[148].

Нобл, в 1963 г. переехавший в Оксфорд, вместе с Ричардом Цзянем, Дарио Ди Франческо, Доном Хильгеманном и другими (такими, как новозеландец Питер Хантер), разработал свою модель клеток сердца, в 1975 г. расширив репертуар дифференциальных уравнений до 10 переменных[149], затем, спустя десятилетие, до 16[150]. Первая модель желудочковой клетки, которая включала новое понимание токов кальция, появилась в 1977 г.[151].


Рисунок 19. Колебания сердца. Адаптировано из Anion conductance of cardiac Muscle («Анионная проводимость сердечной мышцы»), Денис Нобл (докторская диссертация, 1961)


К 1980 г. Нобл и его коллеги имели достаточное представление обо всех действиях – электрических, химических и механических, – участвующих в сокращении одной сердечной клетки. Активность сердечных клеток была сведена к примерно 30 уравнениям, которые отражали ключевые химические процессы, в частности каналы, которые позволяют электрическим сигналам проникать в сердечные клетки и выходить из них. Таким образом, первоначальная модель Нобла превратилась в более 100 моделей сердечных клеток, используемых сегодня, от клеток синоатриального узла (который является водителем ритма сердца) до клеток предсердий, а также клеток различных видов, от кроликов до морских свинок.

Подобно скальпелю, эти модели могут обнаружить самое важное в биении сердца. Неудача может быть столь же колоссальной, как и успех. Выяснение того, почему модель не воспроизводит правильные ритмы, может оказаться столь же полезным, как и построение модели, которая работает с первого раза. Как выразился Нобл: «Одна из функций моделей – быть неверными», поскольку впечатляющий провал может выявить ошибочные предположения и недостатки в нашем понимании[152].

К виртуальному человеку

Вычислительная техника прошла долгий путь с момента разработки первых электронных компьютеров: «Колосс» в Блетчли-парке, сокративший Вторую мировую войну за счет взлома нацистских кодов; Ferranti Mercury, на котором работал Нобл; или бортовой управляющий компьютер «Аполлона» – 70-фунтовый 16-битный компьютер, который высадил двух человек на Луну[153]. В последние годы наша способность вкладывать искру жизни в математические уравнения изменилась с появлением высокопроизводительных вычислителей – суперкомпьютеров[154].

Производительность взлетела. В 1946 г. ЭНИАК мог выполнить жалкие 400 флопсов. Два десятилетия спустя эта цифра достигла 9 миллионов флопсов в CDC 6600, который считается первым коммерчески успешным суперкомпьютером[155]. Обработка чисел выросла до более чем 300 миллионов операций в винтажном Cray-1 1975 г. (названном в честь Сеймура Крэя (1925–1996), который когда-то работал в Control Data Corporation)[156]. В 1985 г. Cray-2 стала первой машиной, преодолевшей барьер в 1 миллиард флопсов, используя несколько процессоров.

Сегодня мы переходим от эры петафлопсных машин к эпохе экзафлопсных, где «экза-» означает возможности, на три порядка превосходящие (как по производительности, так и по объему памяти или связей) петафлопсных предшественников. Эти компьютеры будут способны выполнять по меньшей мере миллион миллионов флопсов, то есть единицу, за которой следуют 18 нулей. Чтобы сделать то же, что может экзафлопсная машина всего за секунду, вам придется выполнять по вычислению каждую секунду в течение 31 688 765 000 лет.

Зарождается следующее поколение экзафлопсных гигантов: в Японии – Fugaku; в Китае – Sunway OceanLite, Tianhe-3 и Shuguang; в США – Aurora, Frontier и El Capitan, а в Европе – Jupiter. Ненасытные ученые и компьютерные инженеры уже думают о машинах, которые станут в тысячу (зетта-шкала) или миллион раз (йотта-шкала) мощнее.

Проблемы экзашкалы

Скачок в компьютерной мощности к эре экзафлопсных технологий дался не так-то легко. Более ранние петафлопсные машины держались на двух технологических волнах. Первой был закон Мура, названный в честь Гордона Мура, который в 1965 г. заметил, что каждые 18–24 месяца количество транзисторов в микропроцессоре удваивается, и эта тенденция сохранялась более трех десятилетий[157]. Второй стало масштабирование Деннарда (в честь Роберта Деннарда), которое относится к способности увеличивать тактовую частоту (обработку в секунду) при уменьшении размера процессора[158].

Однако всему хорошему приходит конец. Масштабирование Деннарда сломалось примерно в 2005 г. Закон Мура также застрял. Год или два спустя последствия для высокопроизводительных вычислений были раскрыты американской группой Exascale, возглавляемой Питером Когге из Университета Нотр-Дам. Группа поняла, что прогнозируемая потребность в электроэнергии превышает гигаватт, потребляя столько же, сколько 110 миллионов светодиодов, 1,3 миллиона лошадей, около миллиона домов или, если верить фильму «Назад в будущее», достаточно, чтобы отправить автомобиль DeLorean в межвременное путешествие.

Чтобы избежать перегрева, для достижения высокой производительности теперь нужно использовать широкий подход (больше процессоров), а не глубокий (процессоры побыстрее). В результате экзафлопсные машины становятся «шире, а не шустрее»[159]. Суперкомпьютер – это не просто большой или быстрый компьютер: он работает совершенно по-другому, используя параллельную обработку вместо последовательной пошаговой, как в старомодных настольных компьютерах. Поэтому нет смысла сравнивать: суперкомпьютер и компьютер – не то же самое, что автомобиль «Формулы-1» и VW Golf. Он больше похож на целый парк VW Golf.

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

Сухой и мрачный вывод группы заключался в том, что существуют «конкретные серьезные консенсусные проблемы, для решения которых не существует очевидного технологического моста развития»[160]. Отчасти их пессимизм оправдался: регулярная десятилетняя пауза между появлением гигафлопсов, мегафлопсов, терафлопсов и петафлопсов к экзашкале увеличилась.

Этот барьер помогло преодолеть множество разработок. По словам Рика Стивенса, заместителя директора лаборатории Аргоннской национальной лаборатории недалеко от Чикаго, где совместно с Intel и Cray была разработана экзафлопсная машина Aurora, некоторые достижения в области аппаратного обеспечения были обусловлены конкуренцией в сфере бытовой электроники[161]. Элементы чипов сократились до нескольких нанометров (миллиардных долей метра), поэтому их схемы могли работать быстрее и эффективнее (для сравнения, ширина атома водорода составляет 0,1 нм). Искусственный интеллект обещает еще более эффективный дизайн чипов: на площади от десятков до сотен квадратных миллиметров разработчикам чипов придется втиснуть тысячи компонентов, таких как логика, память и процессоры, а также километры сверхтонких проводов[162].

В результате использования более эффективных чипов энергопотребление Aurora упало с примерно 1 ГВт энергии до примерно 60 МВт, хотя этого все еще достаточно для снабжения 60 000 домохозяйств[163]. Чтобы охладить его горячее сердце, воду берут из близлежащего судоходного канала и пускают по трубам шириной 3 фута. Инфраструктура охлаждения превышает размер самого компьютера в три раза.

Для быстрого и эффективного моделирования на экзафлопсной машине требуется «совместное проектирование», то есть адаптация архитектуры машины к программному обеспечению, и наоборот. Например, наиболее важные для программы данные должны храниться рядом с алгоритмом их обработки, чтобы преодолеть «узкое место фон Неймана» – ограниченную скорость передачи данных между процессором и памятью. Эта задача усложнилась по мере того, как архитектура суперкомпьютеров превратилась из множества идентичных процессоров в структуру, основанную на узлах. Подобно матрешкам, узлы содержат ряд процессоров, внутри которых имеется множество «ядер». В свою очередь, эти ядра содержат центральные процессоры (ЦП). В самых быстрых машинах, доступных сегодня, узлы также содержат ускорители – в основном графические процессоры, пришедшие из игровой индустрии, – которые могут выполнять множество арифметических операций гораздо быстрее, чем обычные ядра, и затрачивать гораздо меньше энергии на флопс. Эта гетерогенная архитектура означает, что важное оборудование в этих гигантах включает в себя межсоединения, сверхбыстрые связи между ядрами, ускорителями и узлами, а также программные протоколы и стандарты, такие как MPI или интерфейс передачи сообщений, для перемещения огромных объемов данных.

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