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


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

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

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

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

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