Специализированные компьютеры для задач статистической физики – достижения и исторические уроки

Специализированные компьютеры для задач статистической физики – достижения и исторические уроки

Аннотация

В конце 80-х и в 90-е годы физики-теоретики Института теоретической физики им. Л.Д. Ландау спроектировали и разработали несколько специализированных компьютеров для решения актуальных задач физики фазовых переходов. Эти компьютеры не имели центрального процессора. Алгоритмы были оптимизированы для работы с элементарными операциями над целыми числами. Это позволило достичь рекордных времен выполнения программ. Компьютеры выполняли вычисления быстрее на три порядка, чем аналогичные вычисления на лучших имеющихся в мире суперкомпьютерах. Этопозволило получить ряд принципиально новых результатов, часть из которых до сих пор не превзойдена по точности вычислений. В докладе будут представлены основные идеи разработки специализированных компьютеров и научные результаты, полученные с их помощью. Также будут обсуждены уроки планирования и выполнения многолетних сложных научных проектов.

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

I. Введение

Предметом статистической физики является, в частности, изучение фазовых переходов и критических явлений [1]. Каждый из нас практически ежедневно наблюдает одно из таких явлений – закипание воды в чайнике или кофеварке, при котором нагреваемая вода, достигая температуры кипения, начинает превращаться в пар. Это так называемый фазовый переход первого рода, который характеризуется наличием скрытой теплоты, разности внутренних энергий двух фаз воды, жидкой и газообразной. Внутренняя энергия является первой производной термодинамического функционала по температуре – свободной энергии, что и послужило возникновению названия фазовый переход первого рода по предложению П. Эренфеста [2]. Теория фазовых переходов первого рода до сих пор не построена. Другой тип фазового перехода – фазовый переход второго рода, при котором первая производная непрерывна, но имеется особенность во второй производной, например, теплоемкости. К такому типу относится возникновение спонтанной намагниченности ферромагнетика при его охлаждении ниже критической температуры, температуры Кюри. Пример ферромагнетика – магнитная стрелка, спонтанный магнитный момент которой при комнатных температурах получает ориентацию вдоль силовых линий магнитного поля Земли. При нагревании магнитной стрелки выше температуры Кюри стрелка потеряет магнитный момент и, соответственно, потеряет определенную ориентацию, а при охлаждении ниже температуры Кюри ориентация восстановится. Теория фазовых переходов второго рода была построена в 40-е-70-е годы ХХ века [1]. В эти годы были точно решен ряд двумерных моделей [3]. Несмотря на большие теоретические успехи до сих пор нет точных решений трехмерных моделей. Также до конца не построена теория систем с примесями, что очень важно – химически чистые и идеально упорядоченные системы без дефектов не так широко распространены в реальной жизни, в практических применениях и инженерных решениях. Теория стекольных систем, которые получаются, например, при быстром охлаждении, а такие материалы широко распространены, также до конца не построена. И вот именно здесь и открывается возможность и необходимость применения численного эксперимента.

Численные эксперименты в области статистической физики основаны на методах Монте-Карло [4]. Их применение требует серьезных вычислительных ресурсов. В этой заметке мы приводим обзор исследований, которые проводились с использованием специализированных компьютеров. Основная идея состояла в том, чтобы спроектировать и изготовить вычислитель, в котором бы алгоритм был реализован аппаратно. Это позволило в ряде случаев достичь скорости вычислений, в 1000 раз превосходящей скорость вычислений с использованием самого мощного суперкомпьютера.

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

II. Спин-стекольный компьютер BellLabs

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

Практически одновременно были построены процессоры для изучения простейшей модели ферромагнетика, модели Изинга, в Техническом университете Дельфта [5] и в Институте теоретической физики Университета Калифорнии в Санта Барбаре [6]. Оба подхода использовали метод Метрополиса [7] для термализации системы и генератор случайных чисел типа сдвигового регистра [8] для реализации марковской цепи. Мы в следующем разделе подробно коснемся достоинств и недостатков этих двух методов, которые мы обнаружили на своем опыте в ходе работы при конструировании специализированных компьютеров и их использовании для моделирования. Здесь же заметим, что никаких новых научных результатов не было получено с использованием компьютеров в Дельфте и Санта-Барбаре.

Существенные результаты были получены с помощью компьютера, построенного в BellLaboratories [9]. На обсуждении его конструкции остановимся подробно. Специализированный компьютер был сконструирован для изучения модели статистической механики – изинговского спинового стекла на гиперкубической решетке с периодическими граничными условиями. В каждом узле такой решетки может отсутствовать или присутствовать спин (переменная со значениями +1 и -1). В каждом узле решетки также может быть внешнее магнитное поле случайной величины. На ребрах решетки располагаются переменные, которые могут принимать некоторые случайные значения. Для моделирования динамики спиновых конфигураций использовался марковский процесс. Цикл вычислений состоял из двух этапов, переворотов спинов на решетке методом тепловой бани [4] и вычисления термодинамических величин. Первый этап выполнялся на специализированном процессоре, в то время как второй – на стандартном коммерческом узле с процессором Motorola 68000, который был соединен с управляющим компьютером по последовательному порту RS-232 на скорости 9.2 килобит в секунду. Такое решение было принято для возможности предоставления гибкости при изучении моделей. Как оказалось, такое комбинированное решение оказалось излишним. С другой стороны, такая конструкция позволила использовать много готовых аппаратных решений для различных частей и ускорить разработку системы в целом.

Решение было выбрано такое – построение очень быстрого специализированного процессора с реализацией односпиновой релаксации и использование шины для быстрой передачи на обычный компьютер больших слов, содержащих упакованные спины. Был выбран VME-bus с 32-битной передачей и имеющий отдельную адресную шину. Было установлено восемь двухмегабайтных модулей памяти VMEDRAM с временем чтения 120 нс и циклом памяти 240 нс.

Специализированный процессор был построен на TTL технологии и располагался на двух VME картах. Для изменения параметров модели требовалось изготовить и установить в специализированный процессор новую памятьPROM и программируемые матричные логические устройства PALS (Programmable Array Logic Devices). Использовалась упаковка спинов (однобитовая переменная) в слова. Это, в свою очередь, потребовало разработку специального устройства вычисления адреса соседних спинов. Для реализации марковского процесса использовалась конвейерная обработка со специализированным устройством генерации случайных чисел. Для хранения вероятностей переворотов спинов использовалась заранее посчитанная и загруженная таблица, реализованная на 25 ns памяти. Для синхронизации использовался генератор на частоте 25 МГц. В генераторе случайных чисел был реализован алгоритм Фибоначчи с характерной парой (5,17).

В результате достигалась скорость до 17 миллионов переворотов спинов в секунду при теоретической скорости 25 миллионов в секунду. Объем памяти позволял исследовать квадратные решетки со стороной 8192, кубические со стороной 512 и четырехмерные со стороной 64, то есть 64 миллиона спинов. Для сравнения скорость расчета аналогичной задачи на суперкомпьютере Cray-1 была в десятки раз медленнее, в зависимости от типа задачи. Несомненным преимуществом специализированного компьютера являлись его низкая стоимость и доступность вычислительного времени.

Исследование одной лишь проблемы, трехмерного изинговского спинового стекла заняло один год непрерывной работы специализированной компьютерной системы. Были получены новые и неожиданные научные результаты [10,11]. Был обнаружен фазовый переход в стекольную фазу при температуре 1.2 и изучены релаксационные свойства этой модели. Заметим, что линейный размер решетки в вычислениях не превышал 64, то есть, использовалась только 1/64 часть установленной памяти.

Подведя итоги, обратим внимание, что в конструкцию были внесены излишества: 1) объем памяти в 16 мегабайт, хотя реально использовалось не более 0.5 мегабайт, 2) не использовалось случайное внешнее поле, 3) не использовалась случайность решетки, 4) была исследована только одна задача, что не потребовало переустановки PROM.

Недостаток конструкции также состоял в медленности обработки средних величин на процессоре Motorolla 68000, а также слабые свойства генератора случайных чисел для такого объема вычислений.

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

III. Специализированные процессоры для двумерной примесной модели Изинга

Модель Изинга с примесями была аналитически исследована братьями Доценко и потребовалось независимое подтверждение их результатов. Для этой цели был построен первый специализированный процессор [12]. Это был идеальный Монте-Карловский компьютер с точки зрения архитектуры. Все операции выполнялись менее чем за 250 нс, при этом скорость определялась циклом микросхем памяти в 200 нс и временем доступа в 90 нс. В результате процессор выполнял не менее 4 миллионов операций в секунду. Именно операций, а не только переворотов спинов. Процессор состоял из памяти, логики и счетчиков. За это же время считались средние значения термодинамических величин по решетке (энергии и магнитного момента) с использованием 34-битных счетчиков, значения которых затем параллельно с вычислениями считывалиcь управляющим компьютером AT-286. Последний считал также моменты этих величин и оценку теплоемкости и магнитной восприимчивости. Линейный размер решетки был ограничен 256 узлами. Генератор случайных чисел был построен на основе сдвигового регистра с характерной парой (147,250). Был реализован алгоритм, предварительно протестированный на компьютере VAX-11/780. Специализированный процессор выполнял только целочисленные операции, в этом смысле, реализация части операций была ближе к реализации процессора BellLab [9].

После длительного времени работы неожиданно обнаружилась методическая оплошность оператора. Генератор случайных чисел инициализировался одной и той же последовательностью из 250-ти чисел, что привело к абсолютной идентичности реализаций марковского процесса. К тому время стало ясно, что размер решетки этого процессора не позволит выявить тонкие свойства примесной модели Изинга, несмотря на то что наш процессор SPP-1 в этом отношении был более гибкий, чем предшественники, и позволял использовать любой односпиновый алгоритм.

К счастью, за время создания процессора SPP-1 были разработаны кластерные алгоритмы для спиновых моделей, и стало понятно, что наиболее простой из них и при этом наиболее эффективный может быть реализован также в целочисленной арифметике специализированного процессора. Был построен первый кластерный Монте-Карло процессор, SPP-2 [13], реализующий однокластерный алгоритм Вольфа [14] для двумерной модели Изинга со случайными связями. SPP-2 можно было запрограммировать для исследования решеток с линейным размером по степеням двойки от 64 до 1024 и с программируемым генератором случайных чисел типа сдвигового регистра с длиной не более 255. Комбинация однокластерного алгоритма и генератора случайных чисел в то время считалась в научном сообществе наилучшей.

Анализ результатов моделирования указывал на то, что полученный оценки для размеров решетки 128 и менее недостаточно точны и, возможно, содержат систематическую ошибку непонятной природы. В это же время появилась статья [15], в которой указывалось, что комбинация двух лучших методов, однокластерного алгоритма и сдвигового регистра, приводит к большим систематическим ошибкам. К счастью, нам удалось найти решение этой проблемы – была построена теория алгоритма с одновременным использованием однокластерного алгоритма и сдвигового регистра [16-18] и установлены универсальные границы по уровню систематических ошибок. Оказалось, что в пределах статистических ошибок мы вправе использовать только решетки с линейным размером 256 и более. Все это позволило нам с уверенностью опубликовать научныерезультаты для таких размеров решеток. Нам удалось впервые вычислить корреляционную функцию модели Изинга в точке перехода и обнаружить ее интересные свойства для примесной модели [19], а также аккуратно оценить критические свойства примесной модели Изинга [20], что позволило однозначно выделить правильные аналитические предсказания.

Таким образом, второй процессор SPP-2 оказался успешным в получении новых научных результатов. Более того, для обоснования корректности его работы были получены и важные научные результаты в области использования случайных чисел при моделировании задач статистической физики.

Рис. 1. Блок-диаграмма кластерного процессора SPP-2. Материалы конференции SoRuCom-2020.

Рис. 1. Блок-диаграмма кластерного процессора SPP-2.

На рисунке 1 показана основная схема кластерного процессораSPP-2. Блок RNG – это программируемый генератор случайных чисел, регистры P1 и P2 содержат вероятности включения в кластер, блокDMC (Decision Making Circuit) решает вопрос о включении спина в кластер, Stack содержит необработанные спины кластера. Среднее время построения одного кластера Вольфа занимало 400 наносекунд.

IV. Специализированный процессор для трехмерной модели Изинга

Успехc первым кластерным процессором SPP-2 позволил нам перейти к разработке кластерного процессора SPP-3 для исследования трехмерной модели Изинга [21]. Этот процессор был разработан для исследования модели с линейными размерами до 256. В нем были реализованы идеи, разработанной нами теории генераторов случайных чисел, которые были программируемые с размером сдвигового регистра до 16384. Каждый процессор имел два генератора случайных чисел, работающих параллельно и запрограммированных с разными характерными парами Мерсеновских простых чисел. Было изготовлено 12 процессоров, которые были помещены в четыре управляющих узла. В результате многолетней работы комплекса из SPP-3 были получены численные данные, которые в результате обработки привели к рекордным оценкам критических показателей и критической температуры трехмерной модели Изинга [22]. Лишь по прошествии 20 лет коллективу из США удалось приблизиться к нашим результатам за счет расчетов на специально построенной частной кластерной ферме [23].

На рисунке 2 приведена фотография одного из двенадцати процессоров SPP-3. Справа – сдвоенный программируемый генератор случайных чисел RNG. Виден один генератор, второй расположен параллельно первому, их результат после применения побитного исключающего ИЛИ поступает на компаратор для сравнения с вероятностью, которая зависит от отношения константы связи к температуре. Нижний блок – это основная статическая 11-наносекундная память, содержащая 16 миллионов спинов. Средний блок – это блок реализации однокластерного алгоритма Вольфа. Справа – блок подсоединения питания и связи с управляющим компьютером. Всего в одном процессоре используется примерно 400 микросхем. Эта работа поддержана грантами 07-13-210 NWO (Нидерланды), INTAS-93-0211, M0Q000 ISF и 93-02-2018 РФФИ.

Рис 2. Специализированный процессор SPP-3. Материалы конференции SoRuCom-2020.

Рис 2. Специализированный процессор SPP-3.

V. Выводы и заключение

  1. Использование специализированных процессоров значительно дешевле, чем суперкомпьютеров.

  2. Результаты, полученные с помощью специализированных процессоров, намного опережают хронологически возможности суперкомпьютерного использования.

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

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

  5. Затраты человеческого труда весьма велики.

  6. Получение нового научного результата требует нескольких лет работы.

  7. В случае успеха – это на самом деле успех!

Список литературы

  1. Паташинский А.З., Покровский В.Л. Флуктуационная теория фазовых переходов, М.: Наука, Глав. ред. физ.-мат. лит-ры, 1982, 380 с.

  2. Ehrenfest P. Phasenumwandlungen im Lleblichen Llnd erweiterten Sinn, classifiziert nach den entsprechenden SingLllaritaeten des thermodynamischen Potentiales. Verhandlingen der Koninklijke Akademie van Wetenschappen (Amsterdam) 36: 153–157; Communications from the Physical Laboratory of the University of Leiden, Supplement No. 75b (1933).

  3. Бэкстер Р. Точно решаемые модели в статистической механике, Пер. с англ., Москва, Изд-во Мир, 1985, 488 с.

  4. Landau D.P., Binder K. A Guide to Monte Carlo Simulations in Statistical Physics, Cambridge, 2015.

  5. Hoogland A., Spaa J., Selman B., Compagner A. A Special-Purpose Processor for the monte Carlo Simulation of Ising Spin Systems, J. Comput. Phys. 51, 1983, pp. 250-260.

  6. Pearson R.B, Richardson J.L., Toussaint D.A Fast Processor for Monte-Carlo Simulation, J. Comput. Phys. 51, 1983, pp. 241-249.

  7. Metropolis N., Rosenbluth A., Rosenbluth M., Teller A., Teller E. Equation of State Calculations by Fast Computing Machine, J. Chem. Phys. 21, 1953, pp. 1087-1092.

  8. Golomb S.W. Shift Register Sequences, second edition (Aegean Park Press, Laguna Hills, 1982).

  9. Condon J.H., Ogielski A.T. Fast special purpose computer for Monte Carlo simulations in statistical physics, Rev. Scient. Instr. 56, 1985, pp. 1691-1696.

  10. Ogielski A.T., Mongernstern I. Critical behavior of three-dimensional Ising spin-glass model, Phys. Rev. Lett., 54 (1985) pp. 928-

  11. Ogielski A.T. Dynamics of three-dimensional Ising spin glasses in thermal equilibrium, Phys. Rev. B, 32 (1985), pp. 7384-7398.

  12. Талапов А.Л., Андрейченко В.Б., Доценко Вл.С., Щур Л.Н. Специализированный процессор для изучения модели Изинга на случайной решетке, Письма в ЖЭТФ, 51 (1990), сс.161-163.

  13. Talapov A.L., Shchur L.N., AndreichenkoV.B., DotsenkoVl.S. Cluster algorithm special purpose processor, Mod. Phys. Lett. B 6 (1992) pp. 1111-1119.

  14. Wolff U. Lattice field theory as a percolation process, Phys. Rev. Lett., 60 (1988) pp. 1461-1464.

  15. Ferrenberg A.M., Landau D.P., Joanna Wong Y.J., Monte Carlo simulations: Hidden errors from ‘‘good’’ random number generators, Phys. Rev. Lett., 69 (1992) 3382-2285.

  16. Shchur L.N., Blöte H.W.J.Cluster Monte Carlo: Scaling of systematic errors in the two-dimensional Ising model, Phys. Rev. E 55(1997) pp. R4905-R4908.

  17. Shchur L.N., Heringa J.R., Blöte H.W.J. Simulation of a directed random-walk model: The effect of pseudo-random-number correlations, Physica A 241 (1997) pp. 579-592.

  18. Shchur L.N. On the quality of random number generators with taps, Computer Phys. Communs., 121-122 (1999) pp. 83-85.

  19. Talapov A.L., Shchur L.N. Critical-Point Correlation Function for the 2D Random Bond Ising Model, Europhys. Lett., 27 (1994)pp. 193-196.

  20. Talapov A.L., Shchur L.N. The critical region of the random-bond Ising model, J. Phys.: Cond. Mat., 6 (1994) pp. 8295-8308.

  21. Talapov A.L., Blöte H.W.J., Shchur L.N. Cluster algorithm special purpose computer for the 3D Ising model, Письма в ЖЭТФ, 62 (1995)pp. 157-164.

  22. Blöte H.W.J., Shchur L.N., Talapov A.L. The Cluster Processor: New Results, Int. J. Mod. Phys. C 10(1999) pp. 1137-1148.

  23. Ferrenberg A.M., Xu J., Landau D.P. Pushing the limits of Monte Carlo simulations for the three-dimensional Ising model, Phys. Rev. E, 97 (2018) p. 043301.

Об авторе: Лев Николаевич Щур
Институт теоретической физик им. Л.Д. Ландау РАН, Черноголовка, Россия Федеральный исследовательский центр «Информатика и управление» РАН, Москва, Россия
Национальный исследовательский университет Высшая школа экономики, Москва, Россия
lev@landau.ac.ru

Материалы международной конференции Sorucom 2020
Помещена в музей с разрешения автора 26 сентября 2022