Математика и вычисления
Числа, доказательства, графы и машины, исследуемые вычислением так же, как и выводом.
Математика и информатика теперь проверяют собственные идеи симуляцией. Они порождают миллионы случайных графов, чтобы увидеть, что типично. Запускают машину, чтобы увидеть, что алгоритм делает на самом деле. Раз за разом атакуют шифр, чтобы узнать, как он ломается. Ничто из этого не описывает физический мир. Это исследование самого пространства чисел, структур и вычислений. Практика тянется от экспериментальной математики, которую веками делали вручную, до современных средств верификации, проверяющих проект на каждое достижимое состояние ещё до его постройки.
Эксперименты со случайными матрицами
Большие матрицы, заполненные случайными числами, многократно диагонализуют, чтобы изучить статистику их собственных значений.
Вопрос, на который отвечает: В какую картину оседают собственные значения случайной матрицы и совпадает ли она с другими областями математики и физики?
Не учитывает: Всегда выбирает лишь крошечный уголок бесконечного пространства возможных матриц.
Работает на: около 1012 FLOPS приблизительно университетский кластер, создающий и диагонализирующий множество больших матрицС: 1955 Ранняя работа Вигнера по статистике собственных значений случайных матриц
Эксперименты со случайными графами
Графы, построенные по случайному правилу, по одному узлу или по одному ребру, чтобы увидеть, какие свойства, например связность или кластеризация, встречаются как типичные.
Вопрос, на который отвечает: Как выглядит «типичная» сеть при таком правиле добавления узлов и рёбер?
Не учитывает: Настоящие сети редко бывают такими чистыми, как правило, порождающее модель.
Работает на: около 1010 FLOPS приблизительно работает на настольном компьютере для графов до миллионов узловС: 1959 Модель случайного графа Эрдёша и Реньи
Симуляция перколяции
Решётку или сеть, где узлы или связи открываются случайно, наблюдают до момента, когда связный путь вдруг пронизывает всю систему.
Вопрос, на который отвечает: При какой плотности случайная сеть вдруг становится связной от края до края?
Не учитывает: Идеализированные решётки ведут себя чище любого настоящего пористого материала или сети.
Работает на: около 1010 FLOPS приблизительно настольная машина для больших переборов параметров на решёткеС: 1957 Введение теории перколяции Бродбентом и Хаммерсли
Поиски в экспериментальной математике
Численный поиск закономерностей, контрпримеров или точных соотношений между числами перебором, далеко за пределами того, что можно проверить вручную.
Вопрос, на который отвечает: Верна ли эта гипотеза для каждого случая, который кто-то способен проверить, и проступает ли закономерность?
Не учитывает: Сколько ни проверяй случаев, это не доказательство, как бы много ни оказалось подтверждений.
Работает на: около 1011 FLOPS приблизительно университетский кластер, работающий днями над одним поискомС: 1963 к 1963 году: компьютерный поиск целочисленных соотношений и закономерностей простых чисел
Оценка констант методом Монте-Карло
Случайная выборка для оценки математической константы или интеграла, например разбрасывание точек для оценки площади. Это скорее упражнение, чем физическая модель.
Вопрос, на который отвечает: Насколько точно одно лишь слепое случайное сэмплирование может определить точную математическую величину?
Не учитывает: Сходится намного медленнее, чем почти любой более изощрённый численный метод.
Работает на: около 109 FLOPS приблизительно работает на ноутбуке за секунды или минутыС: 1946 Идея Улама 1946 года; фон Нейман предложил версию для электронного компьютера в марте 1947 года, а метод впервые опубликовали в 1949 источникВ дереве симуляций: Метод Монте-Карло
Вычислительные поиски в теории чисел
Большие числа проверяют на простоту, раскладывают на множители или ищут у них особые свойства, например совершенные числа. Для этого алгоритмы запускают в большом масштабе, а не вручную.
Вопрос, на который отвечает: Обладает ли это огромное число искомым свойством, и как далеко поиск может продвинуть рекорд?
Не учитывает: Поиски рекордов мало что говорят о числах, которые никто ещё не додумался проверить.
Работает на: около 1013 FLOPS приблизительно проект добровольных распределённых вычислений на многих пожертвованных машинахС: 1951 Ручной тест Люка для простых чисел Мерсенна, впервые запущенный на компьютере в 1951 году
Численные методы для хаотических аттракторов
Небольшую систему нелинейных уравнений интегрируют шаг за шагом, чтобы увидеть чувствительную зависимость от начальных условий и фрактальный аттрактор.
Вопрос, на который отвечает: Почему простая детерминированная система становится непредсказуемой?
Не учитывает: Из-за численного округления долгая траектория не настоящая орбита, а лишь такая, что остаётся близко к ней.
Работает на: около 103 FLOPS приблизительно несколько уравнений, секунды на ноутбуке.С: 1963 Детерминированное непериодическое течение Лоренца, модель конвекции, посчитанная на компьютере. источникВ дереве симуляций: Хаотическая конвекция Лоренца
Эксперименты с нелинейными решётками
Цепочку масс с нелинейными пружинами запускают в одной моде и смотрят, распределится ли энергия поровну, как предполагает термодинамика.
Вопрос, на который отвечает: Распределяет ли нелинейная цепочка свою энергию поровну между всеми движениями?
Не учитывает: Результаты зависят от выбранной цепи и начального состояния.
Работает на: около 103 FLOPS приблизительно крошечная по современным меркам; в оригинале было несколько десятков масс.С: 1955 Исследования нелинейных задач Ферми, Пасты и Улама на раннем цифровом компьютере. источник
Численные эксперименты с солитонами
Нелинейное волновое уравнение решают на сетке, чтобы увидеть, как импульсы проходят друг сквозь друга и сохраняют форму, чего не делают линейные волны.
Вопрос, на который отвечает: Почему некоторые нелинейные волны проходят друг сквозь друга без изменений?
Не учитывает: Она показывает одно семейство уравнений, а не общее поведение нелинейных волн.
Работает на: около 104 FLOPS приблизительно одномерная сетка, сегодня тривиально.С: 1965 Взаимодействие солитонов в бесстолкновительной плазме и возвращение начальных состояний, Забуски и Крускал. источник
Отрисовка фрактальных множеств
Простую итерируемую формулу проверяют в каждой точке комплексной плоскости: уходит ли она в бесконечность; так вычерчивают границу множества устойчивых точек.
Вопрос, на который отвечает: Какова форма множества, на котором простая итерация остаётся ограниченной?
Не учитывает: Тесты на уход в бесконечность лишь намекают на принадлежность, а картина — выборка конечного разрешения из бесконечно детального множества.
Работает на: около 109 FLOPS приблизительно глубокое увеличение требует итераций повышенной точности в миллионах точек.С: 1980 Фрактальные аспекты итерации z → λz(1−z) Мандельброта, первые компьютерные изображения множества Мандельброта. источник
Самоорганизованная критичность песчаной кучи
Песчинки падают на сетку и осыпаются, когда склон становится слишком крутым. Без всякой настройки получаются лавины всех размеров. Так моделируют, как системы приходят в критическое состояние.
Вопрос, на который отвечает: Почему лавины любого размера возникают без какой-либо настройки?
Не учитывает: Одинакова ли масштабная зависимость у настоящих систем, оспаривается.
Работает на: около 109 FLOPS приблизительно долгие расчёты на больших сетках, чтобы увидеть масштабирование.С: 1987 Самоорганизованная критичность Бака, Танга и Визенфельда: объяснение шума 1/f. источник
Вычисление нулей дзета-функции Римана
Значения дзета-функции вдоль её критической прямой вычисляют, чтобы найти и сосчитать её нули и проверить, что они лежат там, где говорит гипотеза.
Вопрос, на который отвечает: Лежат ли все нетривиальные нули дзета-функции на одной прямой?
Не учитывает: Конечная проверка, как бы долго она ни шла, не может доказать, что за её пределами нет нуля вне критической прямой.
Работает на: около 1018 FLOPS приблизительно десятилетия процессорного времени в самых больших поисках.С: 1953 Расчёты дзета-функции Римана, выполненные Тьюрингом. источник
Цифры числа π на компьютере
Ряды для числа π суммируют до огромного числа знаков точной арифметикой, проверяя и число, и машину.
Вопрос, на который отвечает: Похожи ли цифры числа π на случайные, и можно ли доверять машине в таком масштабе?
Не учитывает: Цифры не отвечают ни на какой открытый вопрос, а проверки ловят аппаратные ошибки, только если метод независим.
Работает на: около 1017 FLOPS приблизительно месяцы на сервере для сотен триллионов знаков.С: 1950 Определение числа π и e с точностью более 2000 знаков на ENIAC, Reitwiesner (опубликовано в 1950 году, перепечатано в Pi: A Source Book). источник
Поиск гипотез с помощью ИИ
Машинное обучение на больших таблицах математических объектов находит, какие свойства связаны, и подсказывает гипотезу, которую затем пытаются доказать математики.
Вопрос, на который отвечает: Какую пока не замеченную связь между этими математическими величинами стоит доказать?
Не учитывает: Она лишь подсказывает закономерности и сама ничего не доказывает, а некоторые закономерности в данных могут быть артефактами того, как данные получены.
Работает на: около 1015 FLOPS приблизительно дни на нескольких видеокартах на набор данных.С: 2021 Работа Дэвиса с коллегами о продвижении математики через направление человеческой интуиции с помощью ИИ. источник
Поиск алгоритмов и конструкций с помощью обучения
Система для игр или языковая модель ищет новые процедуры или математические объекты, а компьютер проверяет правильность каждого кандидата.
Вопрос, на который отвечает: Может ли программа найти более быстрый алгоритм или больший пример, чем нашли люди?
Не учитывает: Каждый результат — один новый пример, а поиск охватывает лишь те виды объектов, которые его создатели оформили как игру.
Работает на: около 1017 FLOPS приблизительно от дней до недель на кластерах ускорителей.С: 2022 AlphaTensor Фавзи с коллегами, открывающий более быстрые алгоритмы умножения матриц обучением с подкреплением. источник
Проверка моделей
Каждое достижимое состояние конечной системы, например протокола или проекта схемы, перечисляется компьютером, чтобы проверить, что свойство выполняется во всех.
Вопрос, на который отвечает: Есть ли достижимое состояние, в котором эта конструкция нарушает собственные правила?
Не учитывает: Пространства состояний разрастаются сверх того, что можно проверить, поэтому реальные конструкции сначала упрощают.
Работает на: около 1012 FLOPS приблизительно университетский кластер, полностью перебирающий большое, но ограниченное пространство состоянийС: 1981 Введение проверки моделей Кларком и Эмерсоном
Автоматический поиск доказательств теорем
Поиск по цепочкам логического вывода, составленным компьютером шаг за шагом, в поисках доказательства или опровержения математического утверждения.
Вопрос, на который отвечает: Существует ли допустимая цепочка логических шагов от аксиом к этому утверждению?
Не учитывает: Находит доказательства, которые не выбрал бы ни один человек, а иногда не находит никаких в пределах досягаемости.
Работает на: около 1011 FLOPS приблизительно университетский кластер, ищущий от часов до днейС: 1956 Logic Theorist, ранняя программа автоматического поиска доказательств
SAT и решение ограничений
Миллионы сочетаний значений «истина» и «ложь» перебираются систематически, чтобы удовлетворить большой набор логических условий. Это нужно для составления расписаний, маршрутов и проверки проектов.
Вопрос, на который отвечает: Есть ли набор значений, который удовлетворяет всем этим ограничениям сразу?
Не учитывает: Некоторые задачи настолько трудны, что ни один решатель, каким бы хорошим он ни был, не успевает их закончить.
Работает на: около 1011 FLOPS приблизительно рабочая станция или кластер, в зависимости от размера задачиС: 1962 процедура Дэвиса и Патнэма для поиска по выполнимости
Моделирование криптографических атак
Схему шифрования или обмена ключами миллионы раз атакуют в симуляции: грубой силой, статистическим смещением или смоделированной слабостью. Так измеряют, сколько усилий на самом деле нужно, чтобы её взломать.
Вопрос, на который отвечает: Сколько операций на самом деле нужно, чтобы это взломать, и остаётся ли это число безопасно огромным?
Не учитывает: Проверяет только те атаки, которые аналитик додумался смоделировать, а не ту, которую никто ещё не нашёл.
Работает на: около 1014 FLOPS приблизительно распределённый кластер из многих машин, запускающий испытания атакС: 1976 к 1976 году: вычислительный анализ стойкости шифров и обмена ключами
Симуляция утечки по побочным каналам
Потребление мощности, тайминг или электромагнитное излучение устройства моделируют, пока оно выполняет криптографическую операцию, чтобы понять, что мог бы узнать слушатель снаружи.
Вопрос, на который отвечает: Какая часть секретного ключа утекает через физическое поведение устройства, а не через математику?
Не учитывает: В лабораторных условиях сигналы чище, чем обычно даёт шумное настоящее устройство.
Работает на: около 1010 FLOPS приблизительно рабочая станция, моделирующая энергопотребление или тайминг одного устройстваС: 1996 Демонстрация Кохера атак по времени на криптографические реализации
Верификация протоколов безопасности
Каждое сообщение, которое нападающий мог бы отправить, повторить или подделать в протоколе связи, перечисляется компьютером, чтобы проверить, нельзя ли выудить из него секрет или личность.
Вопрос, на который отвечает: Может ли какая-нибудь последовательность сообщений обмануть этот протокол, заставив его выдать секрет или принять поддельную личность?
Не учитывает: Проверяет протокол в том виде, как он задан, а не лазейки, на которые идёт настоящая реализация.
Работает на: около 1011 FLOPS приблизительно рабочая станция или кластер, проверяющие пространство сообщений одного протоколаС: 1989 модель Долева и Яо, основополагающая база для проверки протоколов
Компьютерное доказательство полным перебором случаев
Теорему сводят к конечному списку случаев, каждый из которых проверяет программа, потому что человек не смог бы проверить их все.
Вопрос, на который отвечает: Можно ли завершить доказательство, если машина проверит все случаи?
Не учитывает: Доверие переходит к программе, оборудованию и доводу о сведении случаев.
Работает на: около 109 FLOPS приблизительно около тысячи часов на мэйнфрейме для оригинала; сейчас намного меньше.С: 1977 Доказательство Аппеля и Хакена, что любая плоская карта раскрашивается в четыре цвета, с компьютерной проверкой приводимости. источник
Проверенные вычисления
Вычисления с гарантированными границами, так что численный результат доказывает математическое утверждение, например существование хаотического аттрактора.
Вопрос, на который отвечает: Можно ли доказать, что вычисленный ответ верен, а не только вероятно точен?
Не учитывает: Границы могут разрастаться на больших временах, поэтому доказательства ограничены короткими или хорошо ведущими себя задачами.
Работает на: около 109 FLOPS приблизительно интервальная арифметика умножает затраты на скромный коэффициент.С: 2002 Строгий решатель ОДУ Такера и 14-я проблема Смейла, доказывающие, что аттрактор Лоренца существует. источник
Перечисление машин Тьюринга
Каждую маленькую программу минимальной машины запускают, чтобы увидеть, какие останавливаются, а какие работают вечно, и найти самую долго работающую из останавливающихся программ каждого размера.
Вопрос, на который отвечает: Как долго может работать крошечная программа, прежде чем остановится?
Не учитывает: Неразрешимость означает, что некоторые машины никогда не удастся классифицировать, сколько бы они ни работали.
Работает на: около 1015 FLOPS приблизительно миллиарды машин, с доказательствами для тех, что не останавливаются.С: 1965 Компьютерные исследования задач о машинах Тьюринга, Lin и Rado. источник
Статистическая проверка моделей
Систему со случайным поведением моделируют много раз, чтобы с уверенностью оценить, насколько вероятно нарушение какого-то свойства.
Вопрос, на который отвечает: Насколько вероятно, что случайная система нарушит правило безопасности?
Не учитывает: Статистические прогоны дают вероятность с уровнем достоверности, а не доказательство, а для редких отказов нужна выборка по важности.
Работает на: около 109 FLOPS приблизительно от тысяч до миллионов выборочных выполнений.С: 2002 Вероятностная проверка дискретно-событийных систем с помощью приёмочной выборки, Юнес и Симмонс. источник
Фаззинг-тестирование
Программе подают огромное число случайных или изменённых входных данных, чтобы найти те, что приводят к сбою; по сути, это симуляция враждебного или небрежного мира.
Вопрос, на который отвечает: Какой ввод заставит эту программу сбоить?
Не учитывает: Она находит только те сбои, до которых доходят случайные входные данные, а программа может годами проходить проверки, скрывая ошибку за редким случаем.
Работает на: около 1014 FLOPS приблизительно машино-годы процессорного времени для большой кодовой базы.С: 1990 Эмпирическое исследование надёжности утилит UNIX, Miller, Fredriksen и So. источник
Символическое выполнение
Программу запускают с неизвестными входными данными, записанными как символы, собирая условия на каждом пути, а затем решатель находит значения, которые проходят каждую ветвь.
Вопрос, на который отвечает: Какие входы запускают каждый путь этой программы и приводит ли какой-нибудь к ошибке?
Не учитывает: Число путей растёт экспоненциально с размером программы, поэтому крупные охватываются лишь частично.
Работает на: около 1012 FLOPS приблизительно часов работы решателя на программу, с резким ростом при увеличении числа путей.С: 1976 Символическое выполнение и тестирование программ, King. источник
Абстрактная интерпретация
Программу запускают не на отдельных значениях, а на наборах возможных значений, например диапазонах, чтобы доказать свойства, верные для любых входных данных.
Вопрос, на который отвечает: Может ли эта программа когда-нибудь разделить на ноль или переполниться при каких-то входных данных?
Не учитывает: Безопасное приближение даёт ложные тревоги, поэтому людям всё равно приходится проверять каждое предупреждение.
Работает на: около 1011 FLOPS приблизительно часов на рабочей станции для большой базы кода бортовой электроники.С: 1977 Абстрактная интерпретация Кусо и Кусо, единая решёточная модель статического анализа программ. источник
Ограниченная проверка моделей
Поведение конструкции на заданное число шагов записывают как логическую формулу и передают решателю выполнимости, чтобы найти любой короткий путь к ошибке.
Вопрос, на который отвечает: Может ли эта схема или программа достичь состояния ошибки за заданное число шагов?
Не учитывает: Она ничего не доказывает за пределами границы по шагам, пока отдельное рассуждение не покажет, что её достаточно.
Работает на: около 1013 FLOPS приблизительно часов на сервере на один объект.С: 1999 Символическая проверка моделей без BDD Биере, Чиматти, Кларка и Чжу. источник
Случайное тестирование по свойствам
Формулируют правило, которое должно выполняться всегда, а компьютер создаёт множество случайных случаев и сжимает любой сбой до небольшого контрпримера.
Вопрос, на который отвечает: Соблюдает ли этот код собственную спецификацию на широком наборе входных данных?
Не учитывает: Случайные примеры могут никогда не дойти до редкого условия, а записанное свойство может быть не тем, которое важно.
Работает на: около 109 FLOPS приблизительно минуты на ноутбуке для тысяч случаев.С: 2000 QuickCheck Клаэссена и Хьюза, лёгкий инструмент случайного тестирования программ на Haskell. источник
Верификация нейронных сетей
Решатели ограничений доказывают, что для любых входных данных из области выход нейросети остаётся в границах, вместо проверки на выборках.
Вопрос, на который отвечает: Может ли небольшое изменение входных данных заставить сеть дать неверный ответ?
Не учитывает: Доказательства масштабируются только на небольшие сети, а набор возмущений, которые можно проверить, узок.
Работает на: около 1013 FLOPS приблизительно от часов до суток на сервере для небольшой сети.С: 2017 Reluplex Katz и коллег, SMT-решатель для проверки глубоких нейронных сетей. источник
Симуляция компьютерной архитектуры
Конвейер, кэши и предсказатель переходов будущего процессора моделируются инструкция за инструкцией, чтобы оценить скорость чипа до его изготовления.
Вопрос, на который отвечает: Как быстро эта конструкция процессора выполняла бы настоящие программы, пока ещё не вырезан ни один кремниевый кристалл?
Не учитывает: Упрощает настоящий чип настолько, что готовый кремний всегда немного отличается от модели.
Работает на: около 1011 FLOPS приблизительно университетский кластер, прогоняющий через модель эталонные программыС: 1990 к 1990 году: потактно точные симуляторы процессоров для исследований архитектуры
Симуляция распределённых систем и консенсуса
Много компьютеров, которые обмениваются сообщениями с задержками, потерями и сбоями. Проверяют, приходит ли распределённый алгоритм по-прежнему к согласию о правильном ответе.
Вопрос, на который отвечает: Приходит ли этот алгоритм по-прежнему к верному согласию, когда сообщения теряются, запаздывают или узлы выходят из строя?
Не учитывает: Вводятся те сбои, которые предвидел разработчик, а не те, что неожиданно возникают в работе.
Работает на: около 1010 FLOPS приблизительно кластер, моделирующий сотни виртуальных узловС: 1978 Ранняя работа Лэмпорта о порядке и сбоях в распределённых системах
Моделирование систем хранения
Диски, накопители и файловые системы моделируются по тому, как они размещают данные, отказывают и восстанавливаются, чтобы проверить проект хранилища до покупки и заполнения настоящих накопителей.
Вопрос, на который отвечает: Как эта система хранения работает и переживает сбои в масштабе, который слишком дорого сначала проверять по-настоящему?
Не учитывает: Настоящие диски выходят из строя грязнее и с большей корреляцией, чем в модели со случайной долей отказов.
Работает на: около 1010 FLOPS приблизительно рабочая станция или небольшой кластер, моделирующие массив хранения данныхС: 1988 к 1988 году: симуляционные модели надёжности дисковых массивов
Симуляция планировщика операционной системы
Поток вычислительных задач моделируется так, что они поступают и спорят за процессор; его гоняют при разных правилах планирования, чтобы увидеть, какое из них самое справедливое или быстрое.
Вопрос, на который отвечает: Какой порядок очереди задач позволяет сделать больше всего работы или честнее ко всем задачам?
Не учитывает: Синтетические нагрузки редко совпадают с неровной смесью задач, с которыми сталкивается настоящая машина.
Работает на: около 109 FLOPS приблизительно работает на ноутбуке или рабочей станции за секунды или минутыС: 1968 к 1968 году: симуляционные исследования правил планирования процессора
Поиск оптимизаций компиляторов и программ
Огромное число небольших вариаций куска кода пробуют и измеряют, ища самую быструю или самую короткую версию, которая делает ту же работу.
Вопрос, на который отвечает: Какой из равнозначных способов записать этот небольшой кусок кода на самом деле работает быстрее всех?
Не учитывает: Найденные программы иногда настолько необычны, что нет объяснения, почему они работают.
Работает на: около 1010 FLOPS приблизительно кластер, который перебирает большое пространство вариантов кодаС: 2006 к 2006 году: поиск супероптимизации по коротким последовательностям инструкций
Эмпирическая проверка производительности алгоритмов
Алгоритм запускают тысячи раз на случайно созданных или реальных входных данных всё большего размера и измеряют, как на самом деле растёт время его работы, а не доказывают это на бумаге.
Вопрос, на который отвечает: Как на самом деле растёт время работы этого алгоритма на тех входных данных, которые он будет получать?
Не учитывает: Худший случай, которого нет среди тестовых входных данных, остаётся незамеченным, пока не наступит.
Работает на: около 109 FLOPS приблизительно работает на рабочей станции на множестве сгенерированных тестовых входовС: 1970 к 1970 году: систематическая экспериментальная проверка времени работы алгоритмов
Выполнение программ языковой моделью
Языковая модель выписывает пошаговые промежуточные состояния, прослеживая, что вычислила бы программа.
Вопрос, на который отвечает: Может ли языковая модель эмулировать выполнение кода?
Не учитывает: Правильность результата не гарантируется, а длинные программы дают сбои.
Работает на: около 1014 FLOPS приблизительно Вывод на каждый запросС: 2021 Show your work: scratchpads for intermediate computation with language models (2021) источник
Симуляция консенсуса в блокчейне
Сеть узлов создаёт блоки и обменивается ими с задержками, чтобы проверить, как размер блока, время и атакующие влияют на безопасность и пропускную способность.
Вопрос, на который отвечает: Насколько безопасен и быстр блокчейн при сетевых задержках и атаках?
Не учитывает: Настоящее поведение узлов и топологии сетей измерены лишь частично.
Работает на: около 108 FLOPS приблизительно событийные прогоны с тысячами узлов.С: 2016 Анализ безопасности и производительности блокчейнов с доказательством работы на симуляторе Жерве с коллегами. источник
Параллельная дискретно-событийная симуляция
Симуляция событий во времени разделена между многими процессорами, каждый ведёт собственные часы и откатывается, если что-то пришло с опозданием.
Вопрос, на который отвечает: Как быстро запускать на многих машинах огромную событийную симуляцию, например сети или поля боя?
Не учитывает: Откаты могут идти каскадом, а ускорение сильно зависит от того, насколько тесно связаны события.
Работает на: около 1014 FLOPS приблизительно часов на суперкомпьютере для миллиардов событий.С: 1985 Виртуальное время Джефферсона, механизм Time Warp для оптимистичной синхронизации. источник
Симуляция архитектуры графического процессора
Ядра, варпы и память графического процессора моделируются такт за тактом на настоящих программах, чтобы оценить проект до постройки.
Вопрос, на который отвечает: Как изменение конструкции повлияет на скорость параллельных программ на графическом чипе?
Не учитывает: Детали настоящих чипов засекречены или неизвестны, поэтому модель лишь приблизительно совпадает с числами существующих проектов.
Работает на: около 1012 FLOPS приблизительно от часов до суток времени хоста на секунду симулируемого выполнения.С: 2009 Анализ Баходы с коллегами нагрузок CUDA на подробном симуляторе графического процессора. источник
Симуляция систем с ускорением на FPGA
Проект микросхемы загружают во множество перенастраиваемых схем, которые выполняют его с точностью до такта на частотах в мегагерцы и симулируют целые серверы и их сети.
Вопрос, на который отвечает: Как этот процессор и его кластер поведут себя при работе настоящих программ, пока они не изготовлены?
Не учитывает: Она работает намного медленнее настоящего чипа, а проект, который не помещается на схемы, запустить нельзя.
Работает на: около 1015 FLOPS приблизительно дни на облаке из сотен перенастраиваемых схем.С: 2018 FireSim Karandikar и коллег: точная по тактам масштабная симуляция систем на FPGA в публичном облаке. источник
Симуляция всей системы
Целый компьютер с процессорами, памятью, дисками и сетевыми картами моделируется достаточно хорошо, чтобы загрузить немодифицированную операционную систему и запустить её программы.
Вопрос, на который отвечает: Как ведёт себя настоящее программное обеспечение на машине, которой ещё нет или которую можно ставить на паузу и проигрывать заново?
Не учитывает: Временные характеристики приближены ради скорости, поэтому нельзя получить точную производительность, только функциональное поведение.
Работает на: около 1011 FLOPS приблизительно почти в реальном времени на сервере на одну смоделированную машину.С: 2002 Simics, платформа симуляции целых систем, Magnusson и коллеги. источник
Лёгкая эмуляция сетей
Десятки или сотни виртуальных хостов и коммутаторов запускают настоящее сетевое программное обеспечение на одном ноутбуке, соединённые эмулированными кабелями с заданной скоростью и задержкой.
Вопрос, на который отвечает: Будет ли эта программа управления сетью работать на всей топологии до развёртывания?
Не учитывает: Собственный процессор хоста делят все виртуальные узлы, поэтому быстрые связи замедляются.
Работает на: около 1010 FLOPS приблизительно в реальном времени на одной рабочей станции.С: 2010 «A network in a laptop» Lantz, Heller и McKeown: быстрое прототипирование программно-определяемых сетей. источник
Имитация отжига
Компьютер медленно остужает модель атомов или проекта и иногда принимает худшие варианты, чтобы найти хорошее решение трудной задачи оптимизации.
Вопрос, на который отвечает: Какая раскладка или расписание близки к лучшим среди астрономического числа возможностей?
Не учитывает: Она не гарантирует лучший ответ, а результаты зависят от графика охлаждения.
Работает на: около 1012 FLOPS приблизительно часов на рабочей станции для размещения элементов чипа.С: 1983 Оптимизация имитацией отжига, Kirkpatrick, Gelatt и Vecchi. источник
Приближённые байесовские вычисления
Симулятор запускают со множеством пробных значений параметров и оставляют те, что дают данные, близкие к наблюдаемым; получается картина того, какие значения правдоподобны.
Вопрос, на который отвечает: Какие настройки сложной модели могли бы дать наблюдаемые нами данные?
Не учитывает: Результат зависит от того, какие сводки данных используются и насколько близким должно быть совпадение.
Работает на: около 1013 FLOPS приблизительно миллионы прогонов симулятора на кластере.С: 1997 Вывод времён коалесценции из данных о последовательностях ДНК с помощью симуляции, Таваре с коллегами. источник