Изначально теория алгоритмов была основана на математических моделях, подразумевающих наличие неограниченной памяти и энергии, но на практике проектировщикам компьютеров всегда приходилось иметь дело с дефицитом памяти и соблюдать компромисс между энергонезависимостью и быстродействием. Но что, если энергонезависимой памяти станет вдоволь? Изобилие памяти сделает возможным развитие «умной» глобальной транспортной, энергетической и производственной инфраструктуры, но как сбалансировать пропускную способность, задержку доступа и вычисления, чтобы можно было хранить информацию наименее энергозатратно на протяжении всего ее полезного срока службы? И если появятся системы, никогда ничего не «забывающие», смогут ли будущие поколения доверять сохраненной информации, учитывая неизбежное существование киберугроз и вредоносных программ?

Работая над теорией алгоритмов, Алан Тьюринг предложил идею автоматической машины с памятью в виде ленты бесконечной длины, выдерживающей любое число операций записи-стирания и хранящей информацию вечно [1]. Тьюринг доказал, что такая машина способна выполнить любую вычислимую функцию, пользуясь всего тремя дополнительными конечными компонентами: головкой для записи и считывания символов, регистром для хранения текущего состояния и таблицей инструкций, описывающих, как размечать и стирать ленту, перемещать ее и менять состояние машины. В конечном счете эта идея была расширена до универсальной машины Тьюринга, способной имитировать любую другую машину Тьюринга, храня ее описание и входные данные на ленте. В 1962 году Марвин Минский сократил число требований до семи состояний и четырех символов, предложив теоретическую машину, способную выдавать любую произвольную последовательность при наличии соответствующих входных данных, достаточного времени и памяти неограниченной емкости и долговечности [2].

Всего через десять с небольшим лет после появления идеи универсальной машины были созданы первые компьютеры, в памяти которых одновременно хранятся выполняемая программа и ее данные, но одним из главных их недостатков стала нехватка памяти. В знаменитом «Первом отчете по EDVAC», в котором были сформулированы основы архитектуры вычислительных машин, Джон фон Нейман писал: «Именно память вызывает основные сложности, именно она является главным узким местом автоматизированного устройства для высокоскоростных вычислений. Очевидно, что практическая применимость такого устройства в наибольшей степени зависит от возможности простого создания памяти достаточной емкости» [3].

Разработчики компьютеров первого поколения для хранения кода и данных использовали регенеративную конденсаторную память, электронно-лучевые трубки, запоминающие устройства на акустических линиях задержки и ламповые усилители. Вся память подобного рода была энергозависимой — операторы были вынуждены заново инициализировать систему каждый раз при включении питания. Когда в арсенале конструкторов появился магнетизм, то были созданы энергонезависимые системы хранения. Одновременно развивалось программирование и разрабатывались изощренные алгоритмы для компенсации нехватки быстрой памяти. В конечном счете появились сложные многоуровневые системы, в которых данные постоянно копировались вверх и вниз по иерархии, что отнимало энергию и делало данные уязвимыми для кражи или порчи.

Закон Мура, масштабирование Деннарда и СУБД

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

В мире бизнес-вычислений, для которого главным был перенос бумажного документооборота в реляционные базы данных с целью оперативной обработки транзакций, роста быстродействия согласно законам Мура и Деннарда было достаточно, чтобы удовлетворять растущие потребности. Для бизнес-приложений того времени действовало эмпирическое правило — удвоение емкости памяти давало прибавку в производительности на 10%, и этого хватало, чтобы отвечать экономическим требованиям.

Конец масштабирования

Примерно десять лет тому назад прекратилось действие закона масштабирования Деннарда, что привело к развитию многоядерных процессоров — поскольку одиночное ядро уже нельзя было заставить работать быстрее, последующие поколения транзисторов использовались для увеличения числа самих ядер (рис. 1). Резкий рост объемов обработки данных и тенденция распараллеливания повысили требования к системам памяти, сведя к нулю многолетние усилия по созданию механизмов маскировки иерархии. Кроме того, ввиду физических особенностей полупроводниковых конструкций в случае с памятью окончание действия закона масштабирования наступает раньше, чем для процессоров. Проектировщики «выжимают» все что можно из последних поколений КМОП-процессоров, но рост быстродействия замедляется, а эксплуатационные и капитальные затраты растут. В то же время развитие, например, Интернета вещей обусловливает масштабные изменения — появляются все новые системы, которым нужен высокоскоростной доступ к гигантским объемам данных, причем не к жестко упорядоченным записям и полям реляционных баз, а к неструктурированной мультимедиаинформации и элементам данных, связанным сложными отношениями графового типа. Воплощение в жизнь замыслов об интеллектуальных социальных сетях, умных энергосистемах, городах и автономных транспортировках, способных обеспечить полную информационную поддержку личной, политической и профессиональной жизни, сегодня кажется маняще близким, но имеется фундаментальное препятствие, грозящее прервать развитие ИТ в той форме, на которую человечество полагается уже 60 лет.

Рис. 1. Прекращение действия закона масштабирования Деннарда
Рис. 1. Прекращение действия закона масштабирования Деннарда

 

Есть ли возможность продолжать масштабировать нынешнюю иерархию памяти? Да, очередной новый тип памяти позволит добавить еще один уровень иерархии, чтобы еще некоторое время сохранять экономическую стабильность. Но если просто создать еще одно поколение существующей архитектуры, то будет упущена важнейшая возможность переопределить сами принципы обработки информации, соответствующие требованиям XXI века. Совместное применение передовых технологий в области памяти, процессоров и связи позволит создать алгоритмы, реализующие принципиально новую модель вычислений, которая обеспечит высокие уровни защищенности и доступности информации.

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

В результате десятков лет исследований появилось несколько конкурирующих технологий, на основе которых можно создать энергонезависимую память (non-volatile memory, NVM) высокой плотности. В частности, изобретены мемристоры [4], многоярусная компоновка которых при помощи стандартных технологий полупроводникового производства позволяет достичь очень высокой плотности памяти при стоимости в расчете на бит гораздо меньшей, чем у DRAM. Можно формировать обширные пулы NVM, сократив количество уровней иерархии и устранив сложности, связанные с перемещением данных между уровнями, а также существенно уменьшив время выполнения вычислительных задач и энергозатраты (рис. 2). Однако при этом придется пересмотреть стратегии, связанные с коммуникациями и выполнением вычислений. Сейчас связь по электронным каналам требует много энергии и обладает низким КПД — каждые полметра высокоскоростные последовательные сигналы нужно принимать, подвергать десериализации, пропускать на сниженной скорости через коммутирующий чип, возвращать к исходной скорости, снова сериализовать и ретранслировать. Радикально повысить эффективность переноса битов могли бы технологии фотоники, уже много десятилетий используемые для дальней связи.

Рис. 2. Иерархия памяти сегодня (слева) и завтра. При использовании энергонезависимой памяти можно исключить несколько уровней нынешней иерархии, что позволит избавиться от перемещения данных, ускорит выполнение вычислительных задач и снизит энергозатраты
Рис. 2. Иерархия памяти сегодня (слева) и завтра. При использовании энергонезависимой памяти можно исключить несколько уровней нынешней иерархии, что позволит избавиться от перемещения данных, ускорит выполнение вычислительных задач и снизит энергозатраты

 

Фотонными каналами можно соединять оконечные точки, находящиеся на любом расстоянии друг от друга — от сантиметров до сотен метров. При этом понадобится единственная пара передатчик-приемник, задержка распространения будет умеренной (около 5 нс на метр), а потери энергии — очень малыми. Высокая информационная плотность, выраженная в битах на единицу площади поперечного сечения, отсутствие радиочастотных помех, малая задержка и низкая стоимость фотонных компонентов позволяют соединять огромные объемы памяти с вычислительными модулями. Возможность связи между множеством устройств на приблизительно равной скорости означает, что можно будет строить целые ЦОД на коммутаторах с большим числом портов (топология very-high-radix), обеспечивающие доступность петабайтов памяти, высокую пропускную способность и малоэнергоемкие вычисления, причем работа с памятью нового типа будет осуществляться по упрощенной модели, аналогичной доступу к нынешней основной памяти.

Что касается вычислений, то здесь по-прежнему будут доминировать кремниевые электронные устройства — с прекращением действия закона Мура на кремниевом кристалле начнут интегрировать все больше специализированных модулей. Сегодня характеристики аппаратного обеспечения еще определяются решениями системного уровня, но в интегрированных системах на кристалле, используемых в мобильных устройствах, микропроцессорные ядра общего назначения объединяют с видеочипами и ускорителями решения конкретных задач, что позволило радикально расширить возможности, доступные при ограниченном бюджете энергии и стоимости. Проектировщики начнут комбинировать в интегральных схемах модули специального назначения, в том числе процессоры, память и механизмы фотонных коммуникаций, что даст преимущества по энергоэффективности и скорости вычислений, необходимые для решения все более сложных задач.

Иначе говоря, переход на новую физику — электроны для вычислений, фотоны для связи, ионы для памяти — принесет перемены в экономике ИТ на всех уровнях (от мобильных устройств до ЦОД), недостижимые в случае применения традиционных технологий.

Память, а не устройство ввода-вывода

Фотоника позволит соединять мегабитными каналами петабайтные массивы NVN с широким набором вычислительных ресурсов, рассчитанных на конкретные задачи. Однако если такие массивы будут работать как дисковые накопители, а не как память, то еще в одном поколении архитектур останутся все уязвимости и пережитки прошлого, характерные для сегодняшнего ПО. Необходимо, чтобы процессоры напрямую работали с NVM с помощью обычных команд считывания и записи в рамках систем любого масштаба. Традиционная кластеризация операций ввода-вывода подходит для сильно распараллеленных задач, но, чтобы передавать состояние, необходимы бесконечные операции копирования с участием ядра ОС, устройств ввода-вывода и сетей. Однако желательно избежать повторного создания мэйнфреймов или подобных им больших систем — крупные системы с общей памятью хорошо подходят для приложений обработки транзакций, где гарантирован постоянный общий доступ, но при масштабе, превышающем десятки тысяч процессоров и десятки терабайт, все ресурсы таких систем будут уходить только на то, чтобы обеспечивать корректность общего доступа. Еще одна серьезная проблема — нехватка разрядов для адресации, обусловленная тем, что производители микропроцессоров не рассчитывали на прямой доступ к гигантским объемам памяти.

Предстоит найти компромиссное решение между совместным использованием всего пространства памяти и постоянным копированием данных. Если все подключенные к сети ресурсы потенциально доступны для совместного использования, то, вместо того чтобы нагружать каждую операцию проверкой правил, проектировщики могут возложить задачу синхронизации на разработчиков приложений: тем приложениям, для которых нужна надежная синхронизация, предоставляются соответствующие высокопроизводительные механизмы, а те, которым достаточно нестрогой согласованности или согласованности в конечном счете, смогут работать на полной скорости.

До сих пор речь шла об аппаратных изменениях, а каковы будут последствия для ПО — в частности, для операционных систем и механизмов обмена данными с периферийными устройствами?

Периферийный ввод-вывод

Устройства ввода-вывода изначально стали называть «периферийными», так как они работали на границе системы, но с развитием сложной иерархии управления памятью устройства ввода-вывода ассимилировались во все уровни ПО. Компактные, оптимизированные репрезентации структур данных в памяти переформатируются, копируются в буферы, затем на устройства ввода-вывода и далее отправляются блоками либо на постоянное хранение, либо на сетевое устройство. Затем на принимающей стороне блоки снова считываются в буферы и десериализуются, а в конечном счете воссоздается компактная оптимизированная репрезентация структуры данных в памяти. При каждом таком копировании теряется энергия, а данные подвергаются потенциальной опасности порчи и компрометации.

Весь этот процесс не нужен, если используется матрица памяти, предоставляющая пулы NVM с адресным пространством, доступным напрямую для любых вычислительных модулей. Поскольку состояние хранится перманентно, отпадает необходимость периодической проверки контрольных точек. Связь между приложениями в режимах точка-точка, точка-множество и множество-множество можно организовать путем передачи указателей с сокращенным адресом; отсутствие операций копирования защищает данные от компрометации; сбои и аварии, требующие резервного копирования и восстановления, по-прежнему возможны, но масштабы влияния таких сбоев кардинально изменятся. Периферийные устройства ввода-вывода будут по-прежнему нужны (ведь данные все еще надо будет как принимать, так и выдавать наружу), но ввод-вывод снова станет по-настоящему периферийным — он будет осуществляться только на границах, через которые системы взаимодействуют с внешним миром.

Эпизодические вычисления

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

Можно предвидеть, что когда постоянную память начнут использовать во встроенных системах, то наряду с датчиками в них появятся модули хранения колоссальной емкости, в которые можно будет записывать подробные показания за месяцы или годы, а не дни или недели, как сейчас, причем питаться эти устройства смогут от непостоянных источников энергии. Храня состояние ОС и приложений вместе с показаниями датчиков в NVM, встроенные системы смогут вычислять и запоминать время эпизодической доступности питания (например, когда светит солнце или дует ветер), а при каждом подключении надежного источника энергии можно будет мгновенно выполнять более ресурсоемкие вычисления. Благодаря оптимизации с расчетом на использование полностью энергонезависимой памяти такие устройства смогут работать практически вечно, с момента включения накапливая данные при подходящих условиях.

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

Память как сердце машины

Параллельное внедрение огромных пулов NVM, фотонных микрокомпонентов и специализированных ускорителей вычислений, а также перенос ввода-вывода на периферийные интерфейсы обещают фундаментальные сдвиги в области обработки информации в направлении, обозначенном еще Тьюрингом. Нынешним системам с их акцентом на малозатратных вычислениях, с ограниченной энергозависимой памятью и изобилием энергонезависимого пространства хранения приходится непрерывно контролировать обмен потоками данных. В коде приложений реализованы механизмы преобразования между оптимизированной компактной репрезентацией данных в памяти и сериализованной формой для их постоянного хранения либо передачи, а ОС отвечает за сохранение состояния приложений и за связь с аппаратными ресурсами. Пока ОС и приложения не работают, информационные структуры в памяти смысла не имеют, и, чтобы извлечь пользу из данных, над ними выполняют вычисления, но что произойдет, если огромные массивы информации в памяти смогут сохраняться гораздо дольше, чем нынешние эфемерные результаты вычислений? Вероятно, вместе с данными придется хранить описывающие их метаданные, а также их собственные приложения и операционные системы. Как и в универсальной машине Тьюринга, сердцем новой системы станет перманентная память с возможностью доказуемо корректного доступа к данным. Концепцию вычислительной системы, стержнем которой является память, а не процессор, называют Memory Driven Computing (MDC).

Если память получит независимость и станет центральным элементом системы, как гарантировать корректность вычислений? Если дополнить интерфейсы работы с памятью механизмом изменения состояния на основе функционального языка, можно было бы обеспечить формально доказуемую эволюцию данных без побочных эффектов, а также создать самоописываемую систему типов, гарантирующих согласованность интерпретации данных. А если добавить сильную криптографию и систему управления доступом на основе полномочий, можно обеспечить потомкам уверенность в том, что нашему информационному наследию можно доверять.

ОС общего и специального назначения

Операционные системы общего назначения можно адаптировать к среде изобилия памяти; возможно, это будет Linux, провести быструю трансформацию которой позволят поддержка множества архитектур и динамичное сообщество разработчиков открытого кода. При адаптации систем к работе с огромной памятью компромиссы между сохранением обратной совместимости и преимуществами по быстродействию, экономии энергии и безопасности можно делать на множестве интерфейсных уровней. Но, как и в случае с выбором между процессорами общего назначения и ускорителями для конкретных применений, нужно оценить целесообразность применения операционных систем общего назначения.

Для систем среднего масштаба оптимальными будут традиционные ОС с их высокопродуктивными средами разработки и выполнения, но с продвижением к экзамасштабным пулам ресурсов конкурирующие процессы и высокоплотные вычисления начнут все отчетливее демонстрировать недостатки ОС общего назначения — в больших масштабах отдельные аномалии выполнения приведут к появлению столь большого количества мелких ошибок, что в конечном счете их влияние станет ощутимым. На другом конце диапазона — носимые, встраиваемые, имплантируемые компьютерные устройства, ограниченность ресурсов которых позволяет задействовать лишь ОС с минимальным набором компонентов. И та и другая крайности потребуют сопоставления преимуществ ОС общего назначения и ограниченного набора системных компонентов, достаточных определенному приложению. Если у очень большой машины (экзабайты, мегаватты, километры) и очень маленькой (мегабиты, микроватты, миллиметры) одинаковые требования, то появляется возможность создания универсальной интегрированной среды разработки и выполнения, позволяющей свести к минимуму накладные расходы.

Приложения в условиях экономики изобилия

Как MDC изменит приложения? Прежде всего, благодаря меньшей задержке доступа и увеличенной пропускной способности памяти нового типа, разработчики смогут добиться колоссальных прибавок в производительности (рис. 3). А более важно то, что благодаря минимизации затрат на сохранение информации новая модель приведет к кардинальному сдвигу в области разработки — от централизованных вычислений над неполными данными, которые копируются и передаются через многоуровневую иерархию памяти, к инкрементальным индексам, которые формируются по запросу к полноценной истории показаний датчиков, обслуживаемому ускорителями, рассчитанными на конкретные приложения.

Рис. 3. Память без границ
Рис. 3. Память без границ

 

К примеру, «умная» камера может записывать видео высокого разрешения в собственную память, сохраняя недели съемки в полном качестве и одновременно формируя индексы, содержащие характеристики изображений и шаблоны распознавания лиц. К такой камере можно отправлять запросы на проверку сходства — это может делать распределенное приложение, работающее поверх обширной сети камер, охватывающей несколько регионов. Подобная система может отслеживать перемещения людей, гарантируя приватность сведений о них за счет того, что сами изображения не покидают криптографически защищенного репозитория, встроенного в камеру. Другой пример — представление большого предприятия в виде единого динамического графа с возможностью анализа по состоянию на любой момент времени. А, скажем, финансовое учреждение получает возможность оценивать риски в режиме реального времени, чтобы свести к минимуму резерв капитала или выполнить стресс-тест в произвольных условиях для любого момента своей истории.

Соединение знаний и данных

Обладая беспрецедентными возможностями сохранения, структурирования данных и их соединения с вычислительными элементами специального назначения, MDC станет мощным аналитическим инструментом для всех областей человеческого знания. В эпоху изобилия памяти будут в цене разработчики и пользователи специализированных инструментов, способные быстро создавать эффективные решения по результатам анализа обширных срезов данных, особенно учитывая то, что сейчас ряды инженеров растут гораздо медленнее, чем разнообразие и объемы информации.

Чтобы одновременно улучшить КПД и продуктивность труда программиста, для каждой конкретной аналитической задачи потребуется верный набор абстракций. Вряд ли в скором времени появится оптимизирующий компилятор общего назначения для массово-параллельных платформ, но для конкретных классов нагрузок вполне можно создать домен-специфичный язык с хорошим оптимизирующим компилятором. Именно такой подход применяется в платформах вроде Apache Spark и HP CogX, задающих наборы абстракций для ограниченных классов задач и предоставляющих возможность автоматической компиляции для массово-параллельных вычислительных платформ, не требуя глубоких знаний в области параллельного программирования. Возможны прототипирование на настольном компьютере и последующее развертывание в кластере без изменений в коде. У обеих платформ есть компактная нотация, позволяющая разработчику увидеть преобразование в целом, чтобы убедиться в его корректности и лаконичности.

Окончание действия закона масштабирования Деннарда вдохновило аппаратную индустрию на исследование широкого круга архитектурных подходов и способов ускорения. Простое ожидание появления более быстрых процессоров общего назначения — уже не вариант. Если создавать аппаратные архитектуры для решения конкретных задач, можно получить такое же улучшение быстродействия и эффективности, которого раньше добивались за счет повышения тактовой частоты. Массовый параллелизм теперь — норма, а не исключение, поэтому есть острая потребность в программных абстракциях и средах выполнения, которые будут автоматизировать резервирование ресурсов и использование возможностей массово-параллельных систем. Оптимизируя каждое поколение системы и регистрируя характеристики работоспособных решений, можно закладывать основы будущих программно-аппаратных архитектур.

Управляемость и безопасность

Внедрение новых технологий всегда сопряжено с риском, но и бездействие угрожает существованию бизнеса. Предлагаемый подход, в котором центральное место занимает память, необычен с точки зрения как архитектуры, так и емкости, и потому для подтверждения его работоспособности требуется серьезная доказательная база. Почему частные лица и предприятия могли бы доверить свои данные MDC?

В огромных системах всегда найдутся неисправности. Нельзя полагаться только на людей в деле поддержания работоспособности таких систем или ограничивать время восстановления, включая пользовательские интерфейсы в циклы распознавания и устранения сбоя. Устранение большего числа интерфейсов позволит быстрее получать автономный ответ с полным сохранением протоколов на случай экспертизы. К тому же отсутствие интерфейсов сужает поверхность атаки.

MDC позволяет сосредоточить «внимание» машины на самой себе. Пользуясь изобилием NVM, каждый аппаратный компонент может весь срок службы хранить полные сведения о своем происхождении. Правила RASM (reliability, availability, serviceability, manageability — «надежность, доступность, обслуживаемость и управляемость») требуют от каждого приложения указания ресурсов, необходимых ему для автоматического восстановления. В обычных системах для установки нужной конфигурации состояние элементов напрямую контролируется человеком (включить, выключить, соединить, отсоединить), но директивное управление не масштабируется. Предлагаемый подход полагается на декларативное управление, когда система с возможностями самоанализа достигает необходимых целей автономно.

Концепция MDC способна завоевать доверие благодаря управляемости и системному подходу к обеспечению безопасности. Физические особенности памяти нового типа расширяют возможности анализа угроз на всех уровнях, от аппаратного обеспечения и прошивки до ОС и системного ПО, приложений и данных, позволяя защитить каждый уровень при помощи находящихся ниже. Ключевой особенностью NVM должно стать непрерывное шифрование данных при хранении, передаче и обработке. Потребуются защищенные цепочки поставок, позволяющие устанавливать происхождение элементов, объединяемых во все более сложные системы. Новый уровень безопасности станет возможным при оптимизации операционных систем с расчетом на использование соединенных оптическими каналами пулов NVM, так как коллапс иерархии памяти позволит избавиться от копирования и буферизации данных и, соответственно, снизить вероятность их компрометации. Наряду с этим станут ненужными сотни тысяч строк кода операций ввода-вывода и управления памятью, что сведет к минимуму число скрытых уязвимостей.

Разделение памяти и вычислений дает возможность создания более гетерогенных вычислительных сред, многообразие элементов которых позволяет повысить сопротивляемость целым классам угроз. Благодаря воспроизводимости операций система сама сможет обнаружить брешь в защитных механизмах и выполнить их восстановление. А благодаря способности обрабатывать и коррелировать обширные потоки событий в реальном времени системы MDC также смогут стать средством превентивной защиты.

***

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

Если основой вычислений сделать распределенные пулы энергонезависимой памяти, то появится уникальная возможность борьбы с новыми угрозами безопасности с использованием современных системных решений. На базе вычислительной системы, стержнем которой является память, а не процессор, может быть создана распределенная ячеистая система искусственного интеллекта, способная решать широкий круг проблем.

Литература

  1. Turing A. M. On Computable Numbers, with an Application to the Entscheidungsproblem // Proc. London Math. Soc. — Ser. 2, Vol. 42, 1936-37. — P. 230–265.
  2. Minsky M. L. Size and Structure of Universal Turing Machines Using Tag Systems // Proc. Symposia in Pure Math. — 1962. Vol. 5. — P. 229–238.
  3. J. von Neumann. First Draft of a Report on the EDVAC. 30 June 1945. URL: http://www.wiley.com/legacy/wileychi/wang_archi/supp/appendix_a.pdf (дата обращения: 11.03.2016).
  4. Рич Фридрих, Прит Банерджи, Люэни Морелл. Открытые инновации // Открытые системы.СУБД. — 2010. — № 10. — С. 46–48. URL: http://www.osp.ru/os/2010/10/13006339 (дата обращения: 11.03.2016).

Кирк Бресникер, Шарад Сингхал, Стэнли Вильямс (kirk.bresniker, sharad.singhal, stan.williams@hpe.com) — сотрудники HP Labs.

Kirk M. Bresniker, Sharad Singhal, R. Stanley Williams, Adapting to Thrive in a New Economy of Memory Abundance. IEEE Computer, December 2015. All rights reserved. Reprinted with permission.