`

СПЕЦІАЛЬНІ
ПАРТНЕРИ
ПРОЕКТУ

Чи використовує ваша компанія ChatGPT в роботі?

BEST CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

"Распыленная разумность"

0 
 

Вероятно, так уж устроено человечество, что самые передовые технические разработки своим появлением прямо или косвенно обязаны отнюдь не возвышенно-гуманистическим соображениям, а нуждам "обороны". Впрочем, для философско-этических вопросов есть соответствующие издания, а мы просто познакомимся с новым многообещающим проектом военных -- "распыленной разумностью".
Употребив термин "многообещающий", автор не стремился просто привлечь внимание читателя. В контексте статьи этот термин означает именно то, что он означает вообще -- просто надо учитывать весомость сторон, участвующих в проекте "Smart-dust". Две из них хорошо известны всем, интересующимся историей компьютинга, -- агентство DARPA и Университет Беркли уже успешно воплотили в жизнь основы того, что сегодня мы называем Internet. И все-таки сами по себе эти имена только гарантируют "интересность" проекта. Но если список продолжить именем не менее знаменитым -- Intel, то можно понять, что "Smart-dust", вероятнее всего, ожидает серьезное промышленное будущее.


Всепроникающий компьютинг -- новая эпоха

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

Первые ласточки ubiquitous computing уже сегодня находят промышленное применение, причем в самых неожиданных областях. Так, знаменитый производитель автомобильных шин компания Michelin объявила о намерениях встраивать неконтактный радиоэлектронный идентификатор (RFID) в каждую выпущенную шину. RFID, этот первый образчик ubiquitous computing, на деле представляет собой микрокомпьютерную систему, хранящую уникальную "метку" изделия и дополнительную информацию. В случае с шинами Michelin RFID способен оповещать работников станции техобслуживания о рабочих режимах шины, а сотрудников правоохранительных органов -- о ее принадлежности к комплекту конкретного автомобиля. В общем, RFID играет роль и уникального идентификатора, и встроенной в изделие сопроводительной документации. Вопреки истерично-радикальному мнению использование RFID в данном конкретном случае является потенциальной угрозой разве что для угонщиков автомобилей, автоворов и террористов, для обычного "пользователя" автомобиля "RFID'изированные" шины -- всего лишь разновидность дополнительной маркировки, широко применяемой для обеспечения сохранности четырехколесной собственности.

Если RFID -- это день сегодняшний, то "Smart-dust" -- это то, что, вероятнее всего, ждет нас в обозримом будущем. В подтверждение реальности "распыленной разумности", как автор ни пытался этого избежать, придется насыпать немного соли на раны отечественных разработчиков встраиваемых систем, приведя соотношение между основными используемыми для реализации концепции "Smart-dust" аппаратными средствами и... объемами финансирования проекта со стороны DARPA.

Итак, одна "пылинка разума" -- это 8-битовый микроконтроллер хорошо известного у нас и популярного семейства Atmel AVR, приемопередающий интегральный модуль TR1000 (маломощный трансивер, не требующий регистрации в органах контроля радиосвязи, работающий на частоте 916 MHz, допускающий прием и передачу цифровой информации со скоростью до 115 Кбод) и пара совершенно обычных микросхем средней степени интеграции -- энергонезависимая память и дополнительный "загрузочный" микроконтроллер, позволяющий по радиоканалу обновлять ПО "центрального процессора" -- AVR. В общем, детальки по сути копеечные, на которые сегодня без особых проблем может расщедриться увлеченный украинский радиолюбитель...

"Распыленная разумность"
Первый этап микроминиатюризации -- "пылинки-таблетки"
А теперь наступило время объявления таких цифр, что автор настоятельно рекомендует читателю поудобнее сесть, дабы не потерять равновесие... Трехэтапные исследования, приведшие к появлению материализации "Smart-dust", финансировались DARPA на протяжении трех лет в следующих объемах: 695 тыс. долл. в первый год, 715 тыс. долл. -- во второй и, наконец -- 665 тыс. долл. в третий. И это еще не все расходы -- на первые два года проектных работ в DARPA предусмотрели дополнительные затраты по 200 тыс. долл. для "более широкого распространения идеи "распыленной разумности"".

Загадочное соотношение между копеечными аппаратными средствами, игрушечной "восьмибитовостью" "пылинки разума" и почти двумя с половиной миллионами долларов, затраченных на трехлетнюю исследовательскую программу, может означать одно из двух: или "Smart-dust" -- очередная разновидность оприходования оборонного бюджета, или же мы пока просто не говорили о главном... о программном обеспечении.


Еще одна технология "послезавтрашнего дня"?

"Распыленная разумность"
Несмотря на "народный" характер компонентной базы, "пылинки" выдерживают суровое испытание -- две недели в воде
Идея "распыленной разумности" -- явление, в первую очередь, своевременное. И иллюстрируется эта своевременность лучше всего весьма далеким от классики встраиваемых систем примером... персонального компьютера. Резкое снижение стоимости и одновременный рост производительности однокристальных систем на чипе (SOC -- System On Chip) в последние годы привел к тому, что в конструкции даже бытовых изделий (в том числе и ПК) "традиционная электронно-механическая составляющая" цены стала слишком весомой. Речь идет о шинах, шлейфах, проводниках и разъемах -- все эти неизменные и необходимые элементы далеко не так дешевы для крупносерийного производителя. Естественно, ведущие компании стремятся к снижению себестоимости своей продукции, и здесь идея распределенной радиосети из вычислителей с минимальной функциональностью, заменяющей недешевеющие шлейфы и разъемы, очень актуальна. Та же корпорация Intel -- один из участников "Smart-dust" -- тайны из этого не делает, и кто знает, как скоро мы увидим ПК, представляющий собой набор функционально завершенных модулей, связанных "скорострельным" радиоканалом.

И все же даже явная актуальность решения такой инженерной проблемы хоть и подтверждает предположения о своевременности "Smart-dust", но... уводит нас от самой идеи "распыленной разумности". Все дело в принципиально статическом характере использованного в этом примере компьютера как конечного, потребительского изделия -- маловероятно, что пользователь захочет постоянно развлекаться разбрасыванием компонентов работающего ПК. То есть беспроводная сеть, образующая компьютер, статична. А "Smart-dust", напротив, создавалась для динамических, изменяющихся как в пространстве, так и во времени сетей -- для той области, в которой абсолютно неприменимы ни традиционная алгоритмика управления, ни отработанные принципы маршрутизации, ни архитектурные решения, лежащие в основе "канонического" системного ПО. Жесткое утверждение "абсолютно неприменимы" автор употребил не для красного словца -- три года научной работы одного из лучших исследовательских центров академической науки, 2,5 млн. долл. бюджета, максимальное использование опыта программных подразделений корпорации Intel -- лучшее тому подтверждение.


Подчиненность требованиям

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

Решение проблемы "потребление -- компактность представления программ" было найдено с помощью хорошо известного приема -- виртуализации. То есть в основу программной архитектуры "пылинки" была положена специально спроектированная виртуальная машина (ВМ) Matе (читается как "матей" и означает "чаеподобный" напиток, распространенный в странах Латинской Америки) -- совершенно уникальная, особенно учитывая "масштабы" ее реализации.

Уникальность Mate заключается в первую очередь в ее предназначении. Если существующие ВМ создавались или для виртуализации аппаратных средств, или для обеспечения мобильности программ (на уровне промежуточного представления или с помощью байт-кода), то ее разработчики добивались, как уже очевидно, решения противоречивой задачи -- минимизации объема кода, реализующего программу заданного уровня сложности.

Числовые оценки решения в сегодняшнем состоянии говорят сами за себя -- для нормальной работы Matе необходимы 600 байт оперативной памяти и менее 8 KB памяти команд 8-битового микроконтроллера. Программы виртуальной машины представляются 8-битовыми инструкциями всего трех типов (весьма схожими с инструкциями для знаменитой в мире встраиваемых систем стековой виртуальной машины FORTH), объединяемыми в "капсулы" -- атомарные последовательности не более чем двадцати четырех инструкций.

Итак, с первым программным элементом "Smart-dust" мы вкратце познакомились. Но Mate -- это далеко не все в архитектуре "пылинки". Скажем так: это "всего лишь" надстройка над операционной системой, предназначенная, кроме достижения указанной выше энергетической эффективности, и для упрощения разработки программ за счет создания высокого (или сверхвысокого) уровня абстракции системных вызовов ОС TinyOS. Эта система, еще один продукт проектного процесса "Smart-dust", характеризуется всеми отличительными признаками развитой ОС -- в первую очередь, крайне простой, но достаточно развитой компонентной моделью (КМ). В специфике назначения КМ TinyOS так же, как и Mate, существенно отличается от традиционных разработок. Здесь главная цель компонентности -- не облегчение "подбора" интерфейсов, соответствующих требованиям запрашивающего компонента, а обеспечение богатых и надежных механизмов "параллельного" выполнения задач в условиях крайне ограниченных ресурсов.

Описание архитектуры TinyOS как самостоятельного программного продукта интересно само по себе -- оно объединяет такое привычное понятие, как планировщик задач (scheduler) и... компонентный граф. Термин "компонент" здесь одновременно и соответствует общепринятому толкованию, и существенно модифицирует его. Так, интерфейс компонента TinyOS состоит из двух множеств -- "верхнего", предоставляемого им, и "нижнего", требуемого для его функционирования. На человеческом языке "верхнее" подмножество интерфейса компонента буквально идентифицирует его "способности" ("я могу"), "нижнее" же обозначает "потребности" ("мне надо"). Каждое из этих множеств, в свою очередь, содержит описания "команд" и "событий" -- синхронных и асинхронных процессов. В системе предусмотрена и отдельная абстракция "задачи" -- продолжительного вычислительного процесса. Взаимоотношение между этими понятиями следующее -- "команда" предназначена для постановки в очередь на исполнение планировщика команд "задачи", которая может быть временно прервана обработкой "события". Scheduler работает по принципу очереди "первый вошел -- первый вышел" (FIFO), соответственно, для передачи управления следующей задаче требуется полное завершение предыдущей. Если к этим сведениям добавить принципиальное отсутствие в TinyOS механизмов блокирования исполнения, что означает индикацию завершения продолжительной операции соответствующим асинхронным событием, становится понятной нетривиальность этой крохотной системы. Традиционные приемы построения ОС реального времени и привычные отработанные архитектурные решения здесь оказались неприменимы, что было понятно даже на этапе постановки задачи DARPA. В результате вся ОС и ее компоненты построены по принципу конечных автоматов (FSA) -- переходов из состояния в состояние.

Но даже гибрид TinyOS и Mate -- это пока далеко не "Smart-dust". В нашей картине не хватает главного элемента -- сетевой подсистемы. И здесь проект готовит настоящий сюрприз, поражающий отточенностью и идеи, и реализации.

"Распыленная разумность"
Полный инструментальный комплект для исследований окружающей среды с помощью "Smart-dust"
"Направленная диффузия" (directed diffusion) -- еще один термин компьютерного новояза, которым пока не оперившаяся "распыленная разумность" обогатила сленг специалистов computer science. За ним стоит и парадигма, и основанная на ней реализация сетевых протоколов каждой "пылинки". Мы начнем обсуждение этой крайне непростой в теоретическом аспекте темы именно с парадигмы, объясняющей назначение "Smart-dust" в целом. И здесь без фантазийного примера нам не обойтись...

Представим себе, что "пылинки" каким-то образом "установлены" на животных -- обитателях национального парка или заповедника. Каждая "пылинка" содержит уникальный идентификационный код животного и, естественно, программное обеспечение "Smart-dust". Животные свободно перемещаются в пределах заповедника и при этом образуют сеть из "пылинок", обладающую способностью отвечать на запросы типа "Сколько хищников находится в квадрате X?", "Каковы изменения популяции оленей за последние 6 месяцев?" и пр. Здесь стоит заметить, что такой способностью обладает сама сеть "Smart-dust" -- не надстройки над ней в виде специализированных баз данных, не аналитические программы, а именно сама "пыль".

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

Основу такого механизма -- "направленной диффузии" -- составляет принцип адресации, в котором вместо адреса получателя используется собственно... постановка задачи (такой "адрес" в терминах "Smart-dust" называется "интересом") и принцип многопутевого распространения (диффузии) "интересов" по сети "пылинок". Постановка задачи -- "интерес" -- представляется множеством пар атрибутов и значений (в нашем надуманном примере такая пара может иметь форму "type = predator"), а вот о диффузии интересов, неформальное описание несложного алгоритма которой все же занимает не один десяток страниц, можно в рамках статьи сказать совсем немного. Начнем с того, что для ее реализации в TinyOS требуется всего... 300 байт программной памяти. Кажущаяся элементарность реализации не должна обманывать -- хоть алгоритм направленной диффузии и прост, за эту простоту пришлось заплатить годами теоретических исследований и масштабного машинного моделирования. Широковещательные запросы "интереса" ко всем доступным соседям, "градиенты", представляющие запрашиваемую "интересом" частоту обновления информации и отсутствие в запросе-"интересе" информации об адресате -- столь специфическая терминология и понятийный аппарат позволяют оценить, насколько "Smart-dust" отличается от привычных сетей. А продемонстрированный еще в августе 2001 г. пример реально работающей сети "распыленной разумности", состоящей из 800 "пылинок" (пусть пока они больше похожи на приличных размеров таблетки), убеждает, что на пути у "запыления" остались только сугубо технологические трудности. Среди которых справедливости ради стоит отметить и программное несовершенство TinyOS и Mate с точки зрения "прикладного" программиста -- то есть разработчика Mate-программ.


Большой Брат или...?

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

И все-таки с пессимизмом смотреть в будущее не хочется, да и плоды любой технологии могут быть использованы для достижения разных целей. Если же посмотреть на сегодняшние (а они уже существуют) варианты применения "Smart-dust", то ничего особенно страшного заметить нельзя -- сети "пылинок-таблеток" начинают задействоваться в строительстве для контроля за состоянием опорных конструкций высотных зданий (для чего "пылинки" оснащают тензо- и акустическими датчиками), их используют как средство информационной поддержки... ERP-систем -- для автоматизации учета материальных ресурсов компаний (например, компьютеров, закрепленных за сотрудниками), в охранных системах музеев и супермаркетов. Ведущий производитель, имеющий непосредственное отношение к проекту "пыли", -- компания Crossbow -- в перечень своей продукции включает предложения "пылинок" с необходимыми датчиками, пригодных для построения промышленных систем управления, бортовых устройств авионики, тестирования автомобилей...

Против идеи Большого Брата говорит и принципиально открытый характер проекта -- любой желающий может получить доступ к исходным текстам TinyOS и Mate, ко всей документации и спецификациям аппаратных средств. Так что, возможно, мы присутствуем при тихом рождении нового Internet, не сулящем ничего более страшного, чем назойливый вездесущий спам...

Ready, set, buy! Посібник для початківців - як придбати Copilot для Microsoft 365

0 
 

Напечатать Отправить другу

Читайте также

 

Ukraine

 

  •  Home  •  Ринок  •  IТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Мережі  •  Безпека  •  Наука  •  IoT