Граничные вычисления

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

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

Концепция 
На данный момент существует несколько подходов к описанию концепции граничных вычислений. Например, периферийные вычисления могут осуществляться в пределах компьютерной программы любого типа, обеспечивающей более низкую задержку сети в рамках использования конечных устройств. Карим Араби, на своем выступлении на IEEE DAC 2014 Keynote, а затем и на выступлении в рамках семинара MTL в 2015 году охарактеризовал периферийные вычисления как все вычисления вне облака, происходящие в границах сети, и более конкретно — в приложениях, где требуется обработка данных в режиме реального времени. Согласно определению Араби, облачные вычисления работают с большими данными, в то время как граничные вычисления работают с «мгновенными данными», то есть данными в реальном времени, генерируемыми датчиками устройств или пользователями.

Согласно отчету State of the Edge, граничные вычисления концентрируются на серверах «в непосредственной близости от сети последней мили». Алекс Резник, председатель комитета ETSI MEC по стандартам ISG, определил данный термин более свободно: «все вычисления, не относящиеся к работе традиционных центров обработки данных, могут считаться “граничными"».

Периферийные узлы, используемые для потоковой передачи данных в играх, называются геймлетами (gamelets), которые обычно находятся на расстоянии одного или двух узлов от клиента. По мнению исследователей Б. Ананда и О Цзя Хао Эдвина, в контексте облачных игр, «периферийный узел обычно находится на расстоянии одного-двух узлов от мобильного клиента, что позволяет соответствовать ограничениям времени отклика для игр в реальном времени».

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

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

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

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

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

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

Другое перспективное применение описываемой архитектуры вычисления можно обнаружить в области облачных игр, где некоторые компоненты игрового приложения могут выполняться в облаке, в то время как видеопоток передается легковесным клиентам, таким как мобильные устройства, очки виртуальной реальности и т. д. Такой тип потоковой передачи также известен как пиксельная потоковая передача (pixel streaming).

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

См. также 

 Туманные вычисления
 Облачные вычисления
 Конечное устройство
 Облачные игры

Примечания 

Информатика