• Коротко и ясно про «туманные вычисления. «Туманные» вычисления вместо «облачных»: новая концепция распределения данных

    Программная основа в первую очередь, вероятно, будет включать в себя гипервизор, способный консолидировать мощность «туманной сети» и представлять их как одну многопроцессорную систему. Такой подход в свое время уже использовался в ОС OpenMosix. Запрошенные потребителем (другой «каплей») ресурсы выделятся в виде виртуальной машины, в которой запускается, например, bare-metal Java-машина. В ней развертывается пакет приложения, приложение запускается, и так далее…

    Особо стоит упомянуть о роли компьютеров-каплей в качестве «пользовательского терминала» - это единственный сценарий, когда к «капле» подключается какая-то периферия. Мне это видится, как некие устройства оболочки, наподобие SmartDocks от Motorola: оболочка-смартфон, оболочка-планшет, оболочка-ноутбук, оболочка-десктоп. Оболочка-ноутбук и оболочка-десктоп вполне могут вмещать в себя несколько модулей, и таким образом нести многоузловой частный кластер, «облачко тумана». А человек превращается в реальную PAN.

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

    Суммируя вышесказанное, можно отметить, что нам не видать «туманных ПК» и «туманных сетей» пока не будут выполнены следующие требования:

    Наличие высокоэффективных (в Вт/MIPS) SoC распространенной архитектуры (ARM, x86, AMD64) с минимальной обвязкой по экстремально низкой цене ($2 - $10)
    - Стандартизация и распространение консолидирующих гипервизоров
    - Повсеместное распространение IPv6 и скоростных интерфейсов - как кабельных, так и беспроводных.
    - Наличие дешевых и емких источников автономного питания (как минимум на порядок более емких, чем литий-ионные аккумуляторы)

    За кадром остались вопросы аутентификации, авторизации, и разделения ресурсов «капли» несколькими «туманными сетями».

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

    Это всё та же поставка сервисов, приложений, данных, вычислительных мощностей и виртуальных хранилищ через сеть, только в случае тумана делается принципиальный акцент на том, что все эти услуги предоставляются абсолютно распределённо, без каких-либо компромиссов в плане обязательной доступности каждого узла туманной (технически -- mesh-) сети, который может в любой момент отказать, но ничего страшного: таких узлов («капель» в терминологии Fog Computing) будут миллионы и миллиарды.

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

    Технически же Fog Computing подразумевает использование исключительно распределённых программных систем и сред параллельного программирования, поддерживающих миллиарды узлов.

    Главный недостаток облачных вычислений - это последняя миля, медленная доставка сервиса пользователю из конкретного ЦОДа без задержек. Взамен этому принципу приходит обеспечение его системами, сочетающими скорострельность локальных систем и мощь облачных. Модель everything-as-a-service способна наконец реализовать слоган «данные с любого устройства, в любое время и в любой точке мира».

    Но в чем же все таки явно заметное для конечного пользователя отличие тумана от облака?

    Поставка данных физически ближе к пользователю. Сейчас нужные данные из американского облачного ЦОДа гонятся на мой гаджет через весь мир. А в тумане они будут храниться на моем журнальном столике, кэшируясь автоматически и совершенно незаметно, и молниеносно загружаясь через локальную сеть. Особо эффективны в этом контексте туманные сервисы, поставляющие потоковые услуги (например, онлайновые фильмы) -- в частности, за счёт кэширования фильмов в локальных туманах (вспомните по аналогии локальные файловые «помойки» с терабайтами вареза, некогда существовавшие у каждого провайдера, откуда нужный софт можно было загрузить молниеносно).
    - географическая привязка облаков к конкретной области. Даже если ЦОД расположен физически в соседнем доме с моей организацией, которая обрабатывает Большие данные, эти потоки пойдут к ней через всю планету (на 70% -- через каналы Западной Европы и США, контролируемые АНБ))). А туманная технология позволит организовать туманный сервис непосредственно в офисе, который будет связан с ЦОДом практически напрямую, и без дорогостоящей возни с прокладкой оптоволокна.
    - существенно упростится эксплуатация и администрирование мобильных устройств - сейчас их количество и нагрузка на них стремительно растёт, а туман позволяет существенно ускорить поставку нужных данных на смартфоны и вести при этом тотальный контроль за их работой и, например, определять местоположение сотрудника в корпоративном тумане с любой точностью.
    - важно, что туман начинают внедрять по всей вертикали - от низов до топ-менедмента и от рядовых магазинчиков до крупнейших онлайновых сервисов. Все они крайне заинтересованы в скоростной поставке своих данных интенсивно использующим свои гаджеты пользователям по всему миру, но когда в организации 1-2 ЦОДа, этот процесс превращается в технологический кошмар.
    - реальная возможность бесшовной интеграции тумана и облака! Сегодня вполне возможно выделить пользовательские данные, чтобы они «жили» на облачном краю, выделяясь в географически локальные туманы.

    Можно ещё сказать так: облака - это нечто, инфраструктурно живущее в ЦОДе. Туман - это нечто, живущее на земле, непосредственно рядом с нами. Кроме того, все специалисты отмечают очень высокую защищённость туманной системы -- из-за сложного процесса распределённой обработки разбитых на кусочки данных огромным количеством узлов.
    По большому счету, Туманный компьютинг - это последняя промежуточная стадия между облачными вычислениями и Интернетом вещей, или даже Интернетом Всего (Internet of Everything).

    Если вам кажется, что на картинке ничего не видно, то я отвечу, на картинке отчетливейшим образом изображен туман! ;) В связи с выходом из вынужденного захабренного молчания публикую свой небольшой футурологический очерк.

    Ура! То, о чем так давно боялись спросить большевики, случилось! В след за облачными вычислениями сегодня мы открываем эпоху туманных (fog) вычислений!

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

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

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

    Вместе с удешевлением компьютеров подешевели и системы связи. Блютус есть почти везде и я не уверен, что в моих кроссовках его нет. И вот именно сейчас не осталось преград для того, чтоб все эти маленькие слабенькие вычислительные машинки объединились в один большой сиреневый вычислительный туман.

    В основе «тумана» лежит «капля» - чип микроконтроллера с памятью и интерфейсом для передачи данных на борту, и чип беспроводной связи типа Mesh (сенсорная сеть). Питание «капля» получает от маленькой батарейки, которой тем не менее хватит на пару лет работы с регулярными перерывами на сон (picoPower от Atmel рулит). К «капле» могут быть подключены устройства ввода (датчики всех мастей, от температуры и напряжения до положения в пространстве и уровня ультрафиолетового излучения) и вывода (светодиоды, жк и лед индикторы, сухие контакты и т.п.) Уже попахивает Скайнетом, не правда ли?

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

    Вот такая вот у нас получается штука. Поживем увидим, был ли прав С.Лем в своем «Футурологическом конгрессе» и я в вычислительном тумане?

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

    Эта концентрация на периферии означает, что данные могут быть обработаны непосредственно на пользовательских смарт-девайсах, а не направляться в облако для обработки. Туманные вычисления являются одним из подходов к реализации требований постоянно растущего числа интернет-устройств, подключенных к Интернет, которые все чаще называют (Internet of Things или IoT).

    Согласно сценарию IoT, Вещь (Thing) - это любой натуральный или искусственный предмет, которому может быть присвоен IP-адрес и который обладает возможностью передачи данных по сети. Некоторые такие вещи могут создать большое количество данных. Например, Cisco представляет пример реактивного двигателя, который, по их словам, может создать 10 терабайт данных о своей деятельности и состоянии в течение получаса. Передача всех этих данных в облако и передача результатов обработки этих данных устанавливает соответствующие требования относительно пропускной способности сети, требует значительного количества времени и может страдать от задержки. В туманной вычислительной среде, большая часть обработки будет происходить в маршрутизаторе, вместо того, чтобы передавать весь объем данных в облако.

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

    Эти приложения и сервисы включают в себя:

    • Приложения, которые требуют очень низкой и предсказуемой задержки. Облако освобождает пользователя от многих деталей реализации, в том числе точного знания о том, где происходит обработка и хранение информации. Тем не менее, это свобода от выбора, приемлемая во многих случаях, становится пассивностью, когда значительная степень латентности является неприемлемой (игры, видеоконференции).
    • Географически распределенные приложения (мониторинг трубопроводов, сенсорные сети для мониторинга окружающей среды).
    • Быстрые мобильные приложения (смарт-устройства в автомобиле).
    • Крупномасштабные системы распределенного управления (Smart Grid, системы управления работой светофоров).

    Сам термин «туманные вычисления » придумал Джинни Николс (компания Cisco). Метафора исходит из того, что туман - это такое же облако, просто находящееся близко к земле, так же, как туманная вычислительная обработка концентрируется на границе сети. Согласно Cisco, туманные вычисления простирается от края сети до облака в географически распределенной и иерархической организации.

    «Cisco Fog Computing» - это зарегистрированное имя, а вот термины «fog computing » или «туманные вычисления » открыты для общества.