ОБЗОР АДАПТИВНЫХ АЛГОРИТМОВ РАСПРЕДЕЛЕНИЯ ПОТОКОВ ДАННЫХ ИНТЕРНЕТА ВЕЩЕЙ В ОБЛАЧНЫХ И ТУМАННЫХ СРЕДАХ

Автор: Глушак Е.В., Михайлова П.Д.

Журнал: Инфокоммуникационные технологии @ikt-psuti

Рубрика: Системы и устройства телекоммуникаций

Статья в выпуске: 4 (88) т.22, 2024 года.

Бесплатный доступ

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

Еще

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

Короткий адрес: https://sciup.org/140310337

IDR: 140310337   |   DOI: 10.18469/ikt.2024.22.4.02

Текст статьи ОБЗОР АДАПТИВНЫХ АЛГОРИТМОВ РАСПРЕДЕЛЕНИЯ ПОТОКОВ ДАННЫХ ИНТЕРНЕТА ВЕЩЕЙ В ОБЛАЧНЫХ И ТУМАННЫХ СРЕДАХ

Интернет вещей (IoT) в сочетании с облачными технологиями стремительно развивается благодаря повсеместному внедрению умных устройств и сенсоров в различных сферах, включая здравоохранение [1], системы «умного» дома [2] и промышленные комплексы [3].

Данные, поступающие от сенсоров, могут быть разнообразными по объему, скорости и характеру. Для обеспечения их эффективной обработки и минимизации задержек необходимо применять алгоритмы, которые адаптируются к изменениям в сетевой инфраструктуре, вычислительных ресурсах и других переменных параметрах. Облачные и туманные вычисления представляют собой две модели распределенной обработки данных, каждая из которых имеет свои особенности [4; 5], влияющие на методы распределения потоков данных. В облачных средах вычисления выполняются в удаленных дата-центрах, что позволяет добиваться высокой масштабируемости и мощности обработки, но может привести к увеличению задержек при передаче данных на большие расстояния [6; 7]. В отличие от этого, туманные вычисления располагают вычислительные мощности ближе к источникам данных, что помогает уменьшить задержки и повысить эффективность обработки в реальном времени. Однако в таких средах необхо- димо учитывать ограниченные вычислительные ресурсы и необходимость гибкой адаптации алгоритмов к меняющимся условиям [8].

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

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

на промежуточных устройствах, которые расположены ближе к сенсорам и другим конечным устройствам. Это значительно снижает задержки, так как данные не требуют долгой передачи в удаленные дата-центры для обработки [10]. Такой подход позволяет быстрее реагировать на изменения в системе и принимать решения в реальном времени, что критически важно для приложений, где время отклика является ключевым фактором. Например, в умных городах, где требуется обработка информации о транспортных потоках или состоянии инфраструктуры, туманные вычисления могут обеспечить быструю и эффективную реакцию.

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

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

Адаптивные алгоритмы, которые могут изменять свои параметры в ответ на изменения в сети и в доступных вычислительных ресурсах, становятся основным инструментом для решения этих задач. Эти алгоритмы позволяют эффективно распределять потоки данных, уменьшая нагрузку на сети и оптимизируя использование вычислительных мощностей. В последние годы появились многочисленные подходы к адаптивным алгоритмам, которые учитывают специфические характеристики облачных и туманных сред. Некоторые алгоритмы включают методы, использующие машинное обучение для предсказания нагрузки и оптимизации маршрутизации потоков данных [9].

Целью обзора является анализ существующих адаптивных алгоритмов распределения потоков данных в облачных и туманных вычислительных средах. В работе рассматриваются различные подходы и алгоритмы, а также их применимость в реальных условиях с учетом множества факторов, таких как сетевая задержка, потребление энергии, и способность к масштабированию [11; 13].

Методы распределения данных в туманных и облачных вычислениях

Эффективное распределение потоков данных в гетерогенных вычислительных средах, таких как облачные и туманные системы, является одной из ключевых задач для обеспечения производительности и надежности приложений Интернета вещей (IoT). Различия в архитектуре этих моделей – централизованная природа облачных вычислений и распределенная структура туманных вычислений – определяют подходы к разработке методов распределения данных. В данном разделе рассматриваются основные методы, применяемые для управления потоками данных в таких средах, с учетом их специфических характеристик.

В облачных вычислительных системах данные, как правило, передаются в удаленные дата-центры для обработки и хранения. Основные методы распределения данных в таких средах включают статическое и динамическое планирование задач. Статические методы, такие как алгоритмы RoundRobin или Min-Min, заранее определяют распределение потоков данных на основе известных параметров, таких как объем данных или доступные вычислительные ресурсы [14]. Однако в условиях высокой динамики IoT, где объем и скорость поступления данных могут резко изменяться, предпочтение отдается динамическим методам. Эти методы, включая алгоритмы на основе теории очередей или адаптивной балансировки нагрузки, позволяют перераспределять задачи в реальном времени в зависимости от текущей нагрузки на серверы и сетевые задержки.

Туманные вычисления, в отличие от облачных, переносят обработку данных на периферийные узлы, расположенные ближе к источникам данных, что требует иных подходов к распределению потоков. Одним из распространенных методов является локальная оптимизация, при которой данные обрабатываются на ближайшем доступном узле с учетом его вычислительных возможностей и текущей нагрузки [8]. Например, алгоритмы на основе жадного подхода (Greedy Algorithms) могут минимизировать задержки, выбирая узел с наименьшим временем отклика для каждой задачи. Однако такие методы часто сталкиваются с ограничениями ресурсов периферийных устройств, что приводит к необходимости использования более сложных адаптивных стратегий.

Адаптивные алгоритмы в туманных средах активно используют методы машинного обучения для прогнозирования нагрузки и оптимизации распределения данных. Например, алгоритмы на основе кластеризации или регрессии могут предсказывать объемы данных от IoT-устройств и динамически перенаправлять потоки между туманными узлами и облаком [9]. Такие подходы особенно эффективны в сценариях с высокой неопределенностью, например, при управлении трафиком в умных городах или мониторинге в реальном времени в здравоохранении. Кроме того, гибридные методы, сочетающие преимущества облачных и туманных вычислений, позволяют распределять задачи таким образом, чтобы критически важные данные обрабатывались локально, а менее срочные отправлялись в облако для глубокого анализа.

Проблемы и перспективы развития методов распределения данных в туманных и облачных вычислениях

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

Одной из основных проблем в облачных вычислениях является высокая сетевая задержка, возникающая при передаче данных от устройств IoT к удаленным дата-центрам. Несмотря на масштабируемость и вычислительную мощность облака, задержки могут существенно снижать эффективность приложений, требующих обработки в реальном времени, таких как системы мониторинга здоровья или управления умными городами [5]. Кроме того, рост объема данных от IoT-устройств увеличивает нагрузку на каналы связи, что приводит к перегрузке сети и повышению энергопотребления [6]. В туманных вычислениях основная сложность связана с ограниченными ресурсами периферийных узлов. Эти устройства, расположенные ближе к источникам данных, часто обладают меньшей вычислительной мощностью и объемом памяти, что затрудняет выполнение сложных задач и требует тщательной оптимизации распределения потоков [7].

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

Перспективы развития методов распределения данных связаны с интеграцией передовых технологий и подходов. Одним из многообещающих направлений является использование машинного обучения (Machine Learning, ML) и искусственного интеллекта (Artificial Intelligence, AI) для прогнозирования нагрузки и адаптивной маршрутизации потоков данных. Например, алгоритмы глубокого обучения могут анализировать исторические данные IoT для оптимизации распределения задач между облаком и туманными узлами, минимизируя задержки и энергопотребление [9]. Другим перспективным подходом является внедрение программно-определяемых сетей (Software-Defined Networking, SDN) и виртуализации сетевых функций (Network Functions Virtualization, NFV), которые позволяют динамически управлять сетевыми ресурсами и повышать гибкость систем [1].

Гибридные архитектуры, сочетающие облачные и туманные вычисления, также открывают новые возможности. Такие системы могут распределять задачи в зависимости от их приоритетности: критически важные данные обрабатываются локально в тумане, а долгосрочный анализ и хранение выполняются в облаке [4]. Перспективы включают разработку универсальных адаптивных алгоритмов, способных эффективно работать в обеих средах с учетом компромиссов между производительностью, стоимостью и безопасностью. Однако для реализации этих идей необходимы дальнейшие исследования в области стандартизации протоколов, повышения энергоэффективности и создания надежных механизмов защиты данных.

Адаптивные алгоритмы распределения данных

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

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

Другой подход, предложенный в [16], фокусируется на адаптивном управлении нагрузкой в многосерверных системах. Алгоритмы динамически балансируют запросы между серверами, анализируя случайные изменения входного потока. Преимущество заключается в гибкости и возможности оптимизации ресурсов в реальном времени, что делает метод применимым как в облачных, так и в туманных средах, особенно для распределенных IoT-приложений, таких как умные дома. Недостаток заключается в сложности настройки под сильно гетерогенные системы, где узлы существенно различаются по мощности. Область применения включает системы с умеренной вариативностью нагрузки и доступными данными о трафике.

В контексте туманных вычислений значительный интерес представляет подход конвергентной обработки данных, рассмотренный в [17]. Алгоритмы распределяют вычисления между терминальными устройствами и облачными серверами, определяя, какие данные будут обрабатываться локально, а какие будут передаваться в облако, на основе текущих ресурсов и требований безопасности [18]. Преимущество – минимизация задержек и снижение сетевой нагрузки, что идеально для приложений реального времени, таких как автономные транспортные системы. Однако метод требует сложной координации между узлами, что может привести к увеличению накладных расходов. Он оптимален для гибридных IoT-сетей с высокими требованиями к скорости отклика.

Адаптивное кэширование данных, описанное в [19], представляет алгоритм, комбинирующий стратегии с прогнозированием на основе метрик. Метод увеличивает частоту кэш-попаданий на 7-10% по сравнению с традиционными подходами, эффективно распределяя данные между туманными узлами и облаком. Запрашиваемые данные уже находятся в кэше (временном хранилище) и могут быть быстро извлечены оттуда, вместо того чтобы обращаться к более медленному основному хранилищу данных, например, облаку или удаленному серверу. Частота кэш-по-паданий (Cache Hit Rate) – это процент случаев, когда запросы успешно обслуживаются из кэша, что является важным показателем эффективности кэширования.

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

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

Алгоритмы обнаружения отказов и достижения консенсуса, рассмотренные в [12], используют контрольные пакеты и тайм-ауты для адаптации к сбоям в распределенных системах. Они перераспределяют данные между узлами, обеспечивая отказоустойчивость. Преимущество – надежность в динамичных средах, что критично для облачных и туманных инфраструктур с высокой вероятностью сбоев, например, в промышленных IoT-системах. Недостаток – увеличение сетевого трафика из-за контрольных сообщений, что снижает эффективность в условиях ограниченной пропускной способности. Метод подхо- дит для критически важных приложений, где стабильность важнее скорости.

Подходы с использованием ML, предложенные в [10], применяют глубокое обучение для предсказания нагрузки и динамического перенаправления данных между облачными и туманными узлами. Преимущество – высокая точность прогнозов и способность справляться с комплексными сценариями, что делает их идеальными для крупномасштабных IoT-сетей, таких как системы управления трафиком. Недостаток – высокая вычислительная сложность, ограничивающая использование на слабых туманных устройствах. Применение эффективно в облачных системах с доступом к мощным вычислительным ресурсам.

Наконец, метод из [11] оптимизирует распределение данных с учетом энергопотребления IoT-устройств, минимизируя затраты ресурсов. Преимущество – увеличение времени автономной работы устройств, что важно для удаленных сенсоров в сельском хозяйстве или мониторинге окружающей среды. Недостаток – возможное снижение производительности из-за приоритета энергоэффективности над скоростью обработки. Подходит для сетей с батарейным питанием и низкой интенсивностью трафика.

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

Заключение

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

Что касается направлений дальнейших исследований, то в современных условиях особую актуальность приобретает разработка алгоритмов с использованием федеративного обучения для распределенной обработки данных при сохранении конфиденциальности [20]. Важным направлением становится исследование методов оптимизации энергопотребления с учетом использования возобновляемых источников энергии в датацен-трах [21], а также создание адаптивных алгоритмов для работы с квантовыми вычислительными системами в гибридных облачных средах [22]. Существенное значение приобретает разработка методов защиты от атак с использованием искусственного интеллекта в распределенных системах обработки данных [23], а также исследование возможностей применения технологий 6G в IoT [24]. Эти направления исследований отражают современные тенденции развития технологий и актуальные потребности в области распределенных вычислений.

Статья