В Московском государственном техническом университете (МГТУ) им. Н.Э.Баумана созданы первые в мире микропроцессор и суперкомпьютер, в которых на аппаратном уровне реализован набор команд дискретной математики DISC (Discrete Mathematics Instruction Set computer). Суперкомпьютер Тераграф предназначен для хранения и обработки графов сверхбольшой размерности и будет применяться для моделирования биологических систем, анализа финансовых потоков в режиме реального времени, для хранения знаний в системах искусственного интеллекта и в других прикладных задачах.
Большинство важных вычислительных задач требуют хранения и обработки огромных массивов дискретной информации. Для эффективной и параллельной обработки множеств в МГТУ им. Баумана разработали уникальный микропроцессор Леонард Эйлер (Leonhard), который содержит 24 специализированных гетерогенных ядра DISC Lnh64. Leonhard берет на себя ту часть вычислительной нагрузки, с которой плохо справляются универсальные арифметические микропроцессоры (например, Intel или ARM) или графические ускорители. Результаты выполнения команд обработки множеств или графов из микропроцессора Леонард Эйлер направляются в хост-систему для дальнейшего использования в ходе вычислительного процесса.
Микропроцессор Леонард Эйлер занимает в 200 раз меньше ресурсов кристалла, чем один микропроцессор семейства Intel Xeon, потребляя при этом в 10 раз меньше энергии. При сравнительно малой тактовой частоте порядка 200 МГц производительность микропроцессора Леонард Эйлер существенно превосходит производительность микропроцессоров семейства Intel Xeon (3 ГГц). Это достигается за счет параллелизма при обработке сложных моделей данных, что позволяет ему обрабатывать до 120 миллионов вершин графов в секунду.
На основе многоядерных микропроцессоров Leonhard ученые МГТУ им. Баумана построили суперкомпьютер Тераграф. Он способен обрабатывать графы сверхбольшой размерности до одного триллиона вершин (10 в 12-й степени). Технологии представления и обработки знаний в виде графов уже стали прорывом для тех индустриальных решений, в которых другие методы показали низкую эффективность.
«Набор команд нашего процессора состоит из таких действий, как добавление элементов в множество, поиск во множестве, пересечение множеств, поиск ближайшего, и ряда других операций. Мы создали процессорное устройство, которое оперирует огромными множествами, например, содержащими миллиарды числовых ключей. И с помощью одной-единственной команды пересечения мы, к примеру, можем создать новое множество, являющееся результатом пересечения двух исходных множеств», — рассказывает главный разработчик процессора, доцент кафедры Компьютерные системы и сети МГТУ им. Баумана Алексей Попов.
Благодаря способности сохранять информацию о различных объектах и явлениях и учитывать связи между ними, графы знаний могут использоваться при анализе больших данных в биоинформатике, медицине, системах безопасности городов, компьютерных сетях, финансовом секторе, при контроле сложного промышленного производства, для анализа информации социальных сетей и во многих других областях.
Стоит также упомянуть о важности аппаратной поддержки дискретной математики, ведь большинство вычислительных задач являются дискретными по своей сути, то есть действительно требуют обработки множеств чисел. Это многочисленные задачи оптимизации, задачи на графах, задачи машинного обучения. Конечно, арифметическая обработка, например, сравнение чисел, также важна, но она составляет лишь малую часть действий в алгоритмах оптимизации. Основное же время современные вычислительные системы тратят на поиск информации, перебор элементов множеств и тому подобные действия.
Именно поэтому Leonhard, изначально спроектированный под задачи дискретной оптимизации, работает существенно быстрее универсальных микропроцессоров, рассчитанных на арифметическую обработку. При этом бауманский процессор потребляет гораздо меньше электроэнергии.