Изменение вычислительно-информационной парадигмы: новые подходы и модели
Эволюция вычислений и вычислительных устройств
Быстродействие современных вычислительных средств уже довольно близко подошло к теоретическому пределу. Этого быстродействия, однако, оказывается недостаточно для того, чтобы практически решать новые сложные задачи управления неоднородными нелинейными системами, осуществлять непрерывный анализ огромных потоков информации, реализовывать основные функции "искусственного интеллекта".
Поэтому все более становится актуальным, так называемый "новый" взгляд на информационные процессы. Этот взгляд, основывается на идее, что всё лучшее уже существует — и существует в природе! Выявление принципов работы существующих в природе механизмов обработки информации и внедрение этих результатов в технические системы является одним из приоритетных путей развития техники.
В природе есть сверхпроизводительный биологический параллельный компьютер с миллиардами нейронов-процессоров, глобально связанных друг с другом (до десятка тысяч связей у каждого) — головной мозг. И это несмотря на то, что "тактовая" частота работы отдельного элемента-процессора достаточно низкая. В связи с этим интересно проследить эволюцию идей реализации параллельных вычислений.
За шесть десятилетий быстрого развития средств вычислительной техники пройден путь от ламп, через транзисторы, интегральные микросхемы к сверхбольшим интегральным микросхемам (рис. 1.1).
Что будет дальше? Основной вопрос настоящего времени уже не сводится просто к наращиванию мощности вычислительных устройств — он трансформировался к вопросу: "Как эффективно использовать имеющиеся мощности для сбора, обработки и использования данных?"
Быстрое развитие электронных технологий приводит к тому, что компьютеры становятся все меньше и меньше, что позволяет использовать их во всё более миниатюрных устройствах – мобильных телефонах, цифровых фотоаппаратах, различных видеустройствах. Когда-то думали, что более мощные вычислительные системы по необходимости будут требовать больше места под периферию, память и т.д. Это предположение оказалось неверным. В 1965 году. Г. Мур сформулировал правило, имеющее силу и сейчас ("закон Мура"), согласно которому производительность вычислительных систем удваивается каждые восемнадцать месяцев.
Мур вывел свой эмпирический закон, построив зависимость числа транзисторов в интегральной микросхеме от времени. Как следствие, из этого можно было оценить темпы миниатюризации отдельного транзистора. В настоящее время развитие цифровых технологий приводит к тому, что размер элементарного вычислительного устройства приближается к размеру молекулы или даже атома. На таком уровне законы классической физики перестают работать и начинают действовать квантовые законы, которые для многих важных динамических задач еще не описаны теоретически.
Увеличение быстродействия вычислительных устройств и уменьшение их размеров с неизбежностью приводит к необходимости операций с "переходными" процессами. Логично было бы перейти от устоявшихся операций с классическими битами к операциям, задаваемым теми или иными динамическими моделями микромира. Введение более широкого класса моделей было бы более обоснованным, если бы удалось, например, для функции, значения которой записаны в кластере квантовых битов, определить операцию, эффективно выполняющую, например, преобразование Фурье. При этом вполне может оказаться, что время на её выполнение будет соизмеримым со временем выполнения одной классической операции, так как аналоги операций типа операции "свертки функций" вполне могут обнаружиться "в природе". Исследования похожих моделей, проводившихся в последнее время, показывают, что их выполнение за счет присущей природе способности к самоорганизации не обязательно "раскладывается" на более простые кирпичики, т.е. не всегда может быть записано в виде классического алгоритма
Новые потребности, глобализация задач, экспоненциальное возрастание сложности вычислительных систем и наметившаяся в последнее время подъём отечественной ИТ-отрасли в развитии суперкомпьютерных вычислений (суперкомпьютеры российских компаний "T-Платформы", "СКИФ-Аврора", появление суперкомпьютера "Ломоносов" в Московском государственном университете и другие проекты) заставляют уже в практическом плане задуматься о перспективах и возможной смене парадигмы: "Каким должен быть процесс вычислений?" Объективные сегодняшние тенденции — миниатюризация и повышение производительности процессоров, как это и было предсказано законом Мура — приводят технологии к порогу развития традиционных вычислительных устройств. От приоритетов бесконечного наращивания тактовой частоты и мощности одного процессора производители переходят к многоядерности, параллелизму и т. п.
На прошедшей в сентябре 2012 года в Абрау-Дюрсо Международной научной конференции "Научный сервис в сети Интернет: поиск новых решений" во многих докладах ставился вопрос: "Что будет при переходе от сегодняшних производительностей суперкомпьютеров в "TeraFlops" к следующему масштабу "ExaFlops"? В этой связи один из организаторов конференции, член-корреспондент РАН Вл. В. Воеводин говорил: "Переход к "ExaScale", естественно, должен будет затронуть такие важнейшие аспекты вычислительных процессов, как: модели программирования, степень и уровни параллельности, неоднородность программных и аппаратных систем, сложность иерархии памяти и трудности одновременного доступа к ней в распределенных вычислениях, стек системного и прикладного ПО, надежность, энергопотребление, сверхпараллельный ввод/вывод … " [Воеводин Вл. В., 2012].
Анализ развития вычислительной техники показывает, что, несмотря на проявление спиральной тенденции, присутствует еще и параллельная эволюция идей о мультипроцессорности или о многоэлементности при реализации вычислений. Можно отметить, что одновременно с развитием различных параллельных архитектур на базе "простых" процессорных элементов (от матричных, систолических и транспьютерных к кластерным архитектурам) успешно реализована идея многоядерных процессоров и усложнения отдельного вычислительного элемента — процессора. В последнее время эта тенденция продолжает развиваться.
Сейчас несколько ядер в процессоре переносного компьютера — уже норма, а в процессорах суперкомпьютеров ядер в тысячи раз больше. "Джин выпущен из бутылки": пройдет совсем немного времени и ядер станет несколько десятков, а потом и сотен тысяч!
Появятся совершенно другие архитектуры, ядра будут объединяться в сложные композитные блоки. К данным можно будет получать одновременный параллельный доступ разным вычислительным блокам, "общение" вычислительных блоков между собой будет происходить через общую память.
Всё это приведет к тому, что изменятся многие аспекты парадигмы: "Что такое вычислительное устройство и что такое вычислительный процесс". Изменятся традиционные представления о том, как устроен компьютер, что такое вычислительная система. Эти процессы принесут изменения и в стиль программирования, и в то, как будут использоваться вычислительные устройства и готовиться данные для вычислений. По нашему мнению, всё это неизбежно приведёт к смене парадигмы высокопроизводительных вычислений (рис. 1.2)!