Специальное математическое и программное обеспечение децентрализованного обслуживания высокоинтенсивных составных запросов в распределенных системах доставки данных тема диссертации и автореферата по ВАК РФ 00.00.00, кандидат наук Рубцов Алексей Алексеевич
- Специальность ВАК РФ00.00.00
- Количество страниц 164
Оглавление диссертации кандидат наук Рубцов Алексей Алексеевич
ВВЕДЕНИЕ
ГЛАВА 1. ИССЛЕДОВАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ СОВРЕМЕННЫХ СИСТЕМ ДОСТАВКИ ДАННЫХ
1.1 Анализ многоуровневой структуры систем доставки данных в предметной области распределенных вычислений
1.2 Анализ исследований моделей доставки данных на аппаратном уровне систем распределенных вычислений
1.3 Анализ исследований моделей доставки данных на коммуникационном и транзакционном уровнях систем распределенных вычислений
1.3.1 Анализ исследований в предметной области протоколов динамической маршрутизации
1.3.2. Анализ исследований в предметной области методов согласованности данных в распределенных системах управления базами данных
1.4 Анализ исследований на сервисном уровне доставки данных систем распределенных вычислений
1.5 Постановка научной задачи исследования
1.6 Выводы по главе
ГЛАВА 2. РАЗРАБОТКА МОДЕЛИ УЗЛА РАСПРЕДЕЛЕННОЙ СИСТЕМЫ ДОСТАВКИ ДАННЫХ ДЛЯ НЕСТАЦИОНАРНОГО ПОТОКА СОСТАВНЫХ ЗАПРОСОВ С УЧЕТОМ ИХ ПЕРЕРАСПРЕДЕЛЕНИЯ МЕЖДУ МНОЖЕСТВОМ ВЗАИМОДЕЙСТВУЮЩИХ УЗЛОВ ДОСТАВКИ ДАННЫХ
2.1 Анализ особенностей организации и функционирования существующих распределенных систем доставки данных
2.2 Подход к логическому объединению элементов распределенных систем доставки данных на основе пирингового соглашения
2.3 СМО-модель узла распределенной СДД-системы
2.4 СМО-модель распределенной СДД-системы обслуживания составных запросов на основе пирингового соглашения ее узлов
2.5 Выводы по главе
ГЛАВА 3. РАЗРАБОТКА АЛГОРИТМА ВЗАИМНОГО ИНФОРМАЦИОННОГО СОГЛАСОВАНИЯ ЭЛЕМЕНТОВ СДД ДЛЯ ОБСЛУЖИВАНИЯ ПОТОКА ВЫСОКОИНТЕНСИВНЫХ ЗАПРОСОВ К ДАННЫМ
3.1 Выбор и обоснование аукционной модели для процесса формирования логической группы элементов СДД
3.1.1 Аукционные модели как механизм взаимного информационного согласования автономных элементов СДД
3.1.1.1 Обоснование выбора аукционной модели Викри для формирования логической группы элементов СДД
3.1.1.2 Обоснование модификации аукционной модели Викри
3.2 Формирование логической группы элементов СДД в ходе проведения аукциона
3.3 Выбор и обоснование функций компонентов аукционной модели
3.3.1 Выбор и обоснование стоимостной функции функционального компонента АПр
3.3.2 Выбор и обоснование функции полезности функционального компонента АПр
3.3.3 Выбор и обоснование методов формирования функции прогнозирования дохода от участия в аукционе
3.3.3.1 Моделирование ретроспективных запросов к данным на основе стохастического процесса типа случайное блуждание
3.3.3.2 Выбор и обоснование закона распределения величины шага блуждания в модели ретроспективных запросов к данным
3.4 Разработка схемы алгоритма взаимного информационного согласования для формирования логической группы элементов СДД
3.5 Выводы по главе
ГЛАВА 4. РАЗРАБОТКА ПРОГРАММНОГО КОМПЛЕКСА МНОГОУЗЛОВОЙ РАСПРЕДЕЛЕННОЙ СИСТЕМЫ ДОСТАВКИ ДАННЫХ
4.1 Структура программного комплекса узла распределенной СДД с оверлейным модулем формирования логической группы узлов
4.2 Выбор и обоснование среды имитационного моделирования распределенной СДД с оверлейным модулем формирования логической группы узлов
4.3 Структура имитационной модели распределенной СДД с оверлейным модулем формирования логической группы узлов
4.3.1 Структура модуля управления
4.3.2 Структура модуля формирования данных/запросов
4.3.3 Структура модели клиента
4.3.4 Структура модели СЭК-узла
4.4 Разработка моделирующего алгоритма и плана имитационного эксперимента
4.5 Обоснование выбора количества прогонов имитационного эксперимента
4.6 Экспериментальная оценка результата обслуживания составных запросов к распределенной СДД
4.7 Выводы по главе
ЗАКЛЮЧЕНИЕ
СПИСОК ТЕРМИНОВ, СОКРАЩЕНИЙ И УСЛОВНЫХ ОБОЗНАЧЕНИЙ
СПИСОК ЛИТЕРАТУРЫ
ПРИЛОЖЕНИЕ А. Описание алгоритма взаимодействия узлов СДД в ходе проведения аукциона
ПРИЛОЖЕНИЕ Б. Табличное представление экспериментальных данных для 8 прогонов моделирующего алгоритма
ПРИЛОЖЕНИЕ В. Программная реализация алгоритма взаимодействия
узлов СДД в ходе проведения аукциона
ПРИЛОЖЕНИЕ Г. Свидетельство о государственной регистрации программы для ЭВМ
ПРИЛОЖЕНИЕ Д. Акт внедрения результатов диссертационного исследования от ООО «ПЛЮСПЭЙ»
ПРИЛОЖЕНИЕ Е. Акт внедрения результатов диссертационного исследования от Академии ФСО России
Рекомендованный список диссертаций по специальности «Другие cпециальности», 00.00.00 шифр ВАК
Методы и алгоритмы распределения нагрузки между вычислительными ресурсами информационных систем2024 год, кандидат наук Викулов Егор Олегович
Модели и методы многопутевого резервированного взаимодействия программ в распределенных компьютерных системах2018 год, кандидат наук Паршутина, Светлана Александровна
Исследование и разработка средств повышения эффективности процессов передачи и обработки информации в автоматизированных системах управления энергообеспечением промышленных объектов2022 год, кандидат наук Аунг Чжо Мьо
Специальное математическое и программное обеспечение децентрализованного управления динамической реконфигурацией вычислительной системы на базе мобильных устройств2022 год, кандидат наук Рожкова Татьяна Сергеевна
Макс DSM: Система распределённой общей памяти для мультиагентных систем в IoT2018 год, кандидат наук Бойко Павел Валентинович
Введение диссертации (часть автореферата) на тему «Специальное математическое и программное обеспечение децентрализованного обслуживания высокоинтенсивных составных запросов в распределенных системах доставки данных»
ВВЕДЕНИЕ
Актуальность темы. Прогресс в предметной области распределенных вычислений связан с развитием и совершенствованием методов, математического, программного и аппаратного обеспечения на разных уровнях иерархии вычислительных систем, от многоядерных и многопроцессорных схем до систем распределенных вычислений различной функциональности.
Одной из важнейших составных частей подобных систем является система, поддерживающая временное локальное и/или распределенное хранение актуальных данных, требуемых их потребителям (процессам, пользователям). Ее целью является оперативное и своевременное предоставление данных, требуемых для реализации вычислительных процессов на различных уровнях их иерархии. Основным принципом ее организации является буферизация (кэширование) данных и поддержка протоколов их доставки. При этом уровни кэширующих хранилищ подобной системы соответствуют уровням организации систем распределенных вычислений. К подобным системам относятся: система кэшпамяти многоядерных микро- и многопроцессорных вычислителей (Cache Coherence Systems, CCS), системы актуализации таблиц маршрутизации в системах связи с коммутацией пакетов, подсистема обслуживания распределенных транзакций в системах управления реляционными базами данных и в системах на основе микросервисной архитектуры, системы очередей сообщений распределенных систем обработки информации реального времени (Message Queuing Systems, MQS), системы искусственного интеллекта с федеративным обучением (Federate Machine Learning Systems, FMLS), системы доставки контента, развертываемые провайдерами интернет-сервисов (Content Delivery Networks, CDN). Близкие принципы структурной и функциональной организации таких систем позволяют отнести их к обобщенному классу, именуемому системы доставки данных (СДД).
Основными исследовательскими проблемами в предметной области СДД являются проблемы обеспечения согласованности и доступности (consistency,
availability) доставляемых данных, что отражается в разработке теоретической базы, например, теорем CAP (Consistency, Availability, Partition tolerance) и BASE (Basically Available, Soft-state, Eventually consistent) для систем с устойчивым и неустойчивым состояниями соответственно. При этом подобные исследования СДД не в полной мере рассматривают свойство оперативности доставки данных, обобщенно выражаемое показателем «время отклика узла СДД на запрос доставки данных» (один из вариантов в практике систем мониторинга - TTFB (Time to First Byte)), преимущественно ориентируются на централизованное управление процессом доставки и не в полной мере учитывают автономность их составных частей (узлов), связанную со структурной и функциональной эволюцией систем распределенных вычислений, к которым они относятся. Так в случае когерентности кэша в микропроцессорах проблема минимизации времени отклика локального кэша заданного ядра решается аппаратной реализацией протоколов доставки, в то время как в распределенных вычислительных системах, таких как MSQ, FMLS, CDN, где отдельные узлы или их федерации обладают высоким уровнем автономности, практически отсутствует обобщенное решение подобной оптимизационной задачи, особенно в условиях обслуживания составных (содержащих параллельные подзапросы) потоков запросов высокой интенсивности.
Существенный вклад в развитие предметной области методов и алгоритмов для систем управления СДД внесли: Сонин К.И., Buyya R., Pathan A., Broberg J., Bubendorfer K., Kim K., Lynch N., Foster I., Ozer A., Zhang L., Huang J., Narahari Y., Wellman M.
При этом предлагаемые методы и алгоритмы ориентированы на распределенные вычислительные инфраструктуры с детерминированной или имеющей слабую степень динамики структурой, а другие формализуют оптимизационную задачу согласованности/оперативности доставки данных в условиях ограничений, что в ряде случаев является неприемлемым для современных реализаций систем распределенных вычислений с автономными узлами (микросервисы, сети доставки контента и др.).
Таким образом, актуальность темы диссертационного исследования продиктована необходимостью разработки специальных средств математического и программного обеспечения распределенных систем доставки данных, обслуживающих составные потоки запросов, с целью решения проблемы повышения оперативности обслуживания этих потоков в условиях их высокой интенсивности.
Тематика диссертационной работы соответствует научному направлению ФГКВОУ ВО «Академия Федеральной службы охраны Российской Федерации» «Повышение эффективности функционирования распределенных вычислительных систем».
Целью работы является повышение оперативности обслуживания потоков составных запросов узлами распределенных систем доставки данных в условиях нестационарного характера их интенсивности, за счет разработки математического и программного обеспечения децентрализованного формирования логических групп узлов доставки данных.
Задачи исследования. Для достижения поставленной цели необходимо решить следующие задачи:
1. Провести системный анализ состояния исследований в области решения проблемы повышения оперативности и своевременности доставки данных в современных системах доставки данных различных уровней иерархии системы распределенных вычислений.
2. Разработать модель узла распределенной системы доставки данных, учитывающую нестационарность потока составных запросов и основанную на принципах перераспределения их между множеством взаимодействующих узлов доставки данных.
3. На основе обобщения существующих методов организации децентрализованного управления в распределенных системах обосновать способ логического объединения узлов доставки данных на основе их пирингового (Р2Р) взаимодействия и разработать соответствующий алгоритм объединения.
4. Осуществить выбор метода децентрализованного взаимного информационного согласования узлов при их логическом объединении, а также реализующий его алгоритм, обеспечивающий достижение цели исследования по критерию пригодности.
5. Разработать архитектуру распределенной системы доставки данных с децентрализованным управлением процессом обслуживания потока составных запросов потребителей данных.
6. Разработать программный комплекс взаимного информационного согласования узлов распределенной системы доставки данных.
Объект исследования - система доставки данных в составе системы распределенных вычислений.
Предмет исследования - модели и методы реализации процесса обслуживания системой доставки данных запросов потребителей данных.
Методы исследования. При решении поставленных в диссертации задач использовались: метод системного анализа, теория многоагентных систем, теория массового обслуживания, теория игр, метод математической статистики и планирования экспериментов.
Тематика работы соответствует следующим пунктам паспорта специальности 2.3.5. Математическое и программное обеспечение вычислительных систем, комплексов и компьютерных сетей (технические науки): п.3 «Модели, методы, алгоритмы, языки и программные инструменты для организации взаимодействия программ и программных систем»; п.9 «Модели, методы, алгоритмы и программная инфраструктура для организации глобально распределенной обработки данных».
Научная новизна работы. В диссертации получены следующие результаты, характеризующиеся научной новизной:
- модель распределенной системы доставки данных, отличающаяся от известных возможностью определения времени отклика узла доставки данных и других вероятностно-временных характеристик обслуживания
высокоинтенсивных составных запросов, базирующаяся на подмножестве
одноканальных систем массового обслуживания с приоритетной схемой обработки подзапросов;
- алгоритм объединения узлов распределенной системы доставки данных, обеспечивающий повышение оперативности обслуживания составных запросов высокой интенсивности и отличающийся от известных динамическим объединением узлов на основе их пирингового взаимодействия в логические группы параллельного обслуживания подзапросов составных запросов;
- алгоритм взаимного информационного согласования узлов распределенной системы доставки данных, обеспечивающий решение задачи включения/исключения отдельных узлов логической группы, обслуживающих высокоинтенсивные потоки составных запросов, отличающийся от известных использованием обратного варианта аукционной модели Викри;
- структура программного комплекса многоузловой распределенной системы доставки данных, отличающаяся от известных реализацией механизмов встраивания оверлейной вычислительной инфраструктуры, обеспечивающей поддержку динамического однорангового межузлового взаимодействия в процессе взаимного информационного согласования и обслуживания составных запросов подмножеством входящих в нее узлов.
Теоретическая значимость исследования состоит в разработке нового подхода к взаимному информационному согласованию автономных узлов распределенной системы доставки данных, с целью их логического объединения, позволяющего достичь приемлемого значения времени отклика на составные запросы потребителей данных в условиях нестационарного характера их интенсивности. Положения и выводы, содержащиеся в данной работе, могут быть использованы в развитии программных средств перспективных систем доставки данных разного уровня иерархии систем распределенных вычислений.
Практическая значимость. Разработка программного комплекса взаимного информационного согласования узлов распределенной системы доставки данных в виде специализированного программного средства, позволяет интегрировать его в программные реализации систем управления существующих
систем доставки данных. Разработанный программный комплекс может быть использован научными и проектными организациями, занимающимися вопросами распределенных информационных систем. На специализированное программное средство получено свидетельство о государственной регистрации.
Положения, выносимые на защиту:
1. Модель распределенной системы доставки данных позволяет определить ее вероятностно-временные характеристики для условий нестационарной интенсивности составных запросов потребителей данных.
2. Алгоритм объединения узлов распределенной системы доставки данных обеспечивает повышение оперативности обслуживания подзапросов высокоинтенсивных составных запросов.
3. Алгоритм взаимного информационного согласования узлов распределенной системы доставки данных обеспечивает динамическое формирование логических групп узлов, обслуживающих высокоинтенсивные потоки составных запросов потребителей данных.
4. Архитектура распределенной системы доставки данных обеспечивает поддержку динамического однорангового межузлового взаимодействия в процессе взаимного информационного согласования и обслуживания составных запросов подмножеством входящих в нее узлов.
Результаты внедрения. Основные результаты внедрены в виде специального программного модуля в составе программного обеспечения защищенной системы хранения, обработки и доставки информации ООО «Плюспэй», а также внедрены в образовательный процесс Академии ФСО России (дисциплина - «Компьютерные сети»).
Апробация результатов диссертационного исследования. Основные положения диссертационной работы докладывались и обсуждались на следующих конференциях: XXIX-th International Open Science Conference «Modern informatization problems in the technological and telecommunication systems analysis and synthesis (MIP-2024'AS)» (Воронеж, 2024 г.), XXIX Международная научно-техническая конференция студентов, аспирантов и молодых ученых «Научная
сессия ТУСУР - 2024» (ТУСУР, Томск, 2024 г.), а также на научных семинарах кафедры информатики и вычислительной техники Академии ФСО России (20222024 гг.).
Обоснованность и достоверность полученных в работе результатов обеспечивается корректным использованием математических средств моделирования и анализа, а также результатами сравнительного анализа данных вычислительных и натурных экспериментов.
Публикации. По результатам диссертационного исследования опубликовано 9 научных работ, в том числе 4 - в изданиях, рекомендованных ВАК РФ (из них 1 - в изданиях WoS и одно свидетельство о регистрации программы для ЭВМ). В работах, опубликованных в соавторстве и приведенных в конце автореферата, лично автором получены следующие результаты: [1,5,7] -аналитическая модель обслуживания запросов в распределенных системах доставки данных, объединенных на основе пирингового соглашения, [2,4] -алгоритм взаимного информационного согласования элементов систем доставки данных на основе аукционной модели, [3,6,8,9] - архитектура многоузловой распределенной системы доставки данных, за счет оверлейной вычислительной инфраструктуры, поддерживает логическое межузловое взаимодействие в процессе взаимного информационного согласования и обслуживания составных запросов подмножеством входящих в нее узлов.
Структура и объем работы. Диссертационная работа состоит из введения, четырех глав, заключения и приложений. Работа изложена на 164 страницах машинописного текста, включая 50 рисунков, 10 таблиц и список литературы из 128 наименований.
ГЛАВА 1. ИССЛЕДОВАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ СОВРЕМЕННЫХ
СИСТЕМ ДОСТАВКИ ДАННЫХ
Актуальность исследований предметной области систем доставки данных обусловлена тем, что в условиях современного информационного общества быстрый доступ к большим объемам данных, их быстрая обработка и анализ являются необходимыми условиями для принятия своевременных и обоснованных решений. Использование передовых технологий улучшения качества принимаемых решений, таких как аналитика в реальном времени и потоковая обработка данных, требует повышенную оперативность доступа к данным. Это особенно важно в таких отраслях, как финансы, медицина и телекоммуникации, где скорость реакции на изменения играет решающую роль.
В данной главе рассмотрены особенности организации, а также тенденции развития и совершенствования распределенных систем доставки данных (СДД), функционирующих в составе существующих реализаций систем распределенных вычислений (СРВ). На основании анализа исследований, посвященных организации и функционированию аппаратно-программных платформ реальных СДД на различных уровнях иерархии СРВ были выявлены их обобщенные характеристики. Рассмотрены особенности решения задач доставки данных для конкретных вариантов СДД каждого уровня иерархии СРВ, выявлены их особенности. Проведен анализ основных методов и алгоритмов, лежащих в основе СДД каждого уровня и обеспечивающих повышение оперативности, а также когерентность и консистент-ность доставляемых данных.
1.1 Анализ многоуровневой структуры систем доставки данных в предметной области распределенных вычислений
Развитие предметной области распределенных вычислений неразрывно связано с совершенствованием методов, математического, программного и аппаратного обеспечения, используемого на разных уровнях иерархии вычислительных
инфраструктур таких систем. Являясь сложными многоуровневыми распределенными структурами, системы распределенных вычислений требуют решения различных проблем, начиная от уровня многоядерных и многопроцессорных структур и заканчивая многоузловыми распределенными системами, оверлейно развертываемыми поверх существующей сетевой инфраструктуры.
Являясь высокоструктурированными и, по большей мере, архитектурно стандартизированными системами, способными к оперативному масштабированию вычислительных мощностей, СРВ служат основой крупномасштабных корпоративных информационных систем, технологий облачных вычислений, предоставляющей пользователям вычислительную инфраструктуру как услугу, а также систем поддержки технологического управления гибкими производствами [61]. Особую актуальность проблемы совершенствования предметной области распределенных вычислений приобрели в связи с интенсивным развитием систем искусственного интеллекта (ИИ), активное внедрение которых в последнее время происходит во многие сферы человеческой деятельности [62].
Структурно и функционально СРВ следует рассматривать, как многоуровневые, многосвязные системы, нижележащие уровни которых предоставляют ресурсы для формирования сервисов вышележащих уровней. Указанный подход в представлении СРВ обобщается в [89].
В рамках предметной области СРВ существует широкое поле научных исследований, направленных, как на повышение эффективности их функционирования, так и на решение задач, связанных с оптимизацией их структурных и функциональных схем. Одним из актуальных направлений таких исследований является направление, связанное с предоставлением пользователями СРВ и/или их функциональным узлам обрабатываемых ими данных. При этом такое направление не затрагивает какую-либо одну составляющую СРВ, а требует рассмотрения на разных уровнях их многоуровневой, многосвязной структуры.
В общем случае указанная проблема рассматривает процесс, именуемый доставка данных (data delivery) или доставка контента (content delivery) и поддерживающий этот процесс системы (подсистемы СРВ), именуемые системы доставки
данных (DDS - Data Delivery Systems) или системы управления и доставки данных (DMDS - Data Management and Delivery Systems) [63]. В ряде исследований подчеркивается распределенный характер таких систем, именуемых сетевые системы доставки данных (NDDS - Network Data Delivery Systems) [64]. Далее в работе будет использована аббревиатура СДД (система доставки данных).
Исследовательские проблемы, рассматриваемые в рамках таких систем, обобщенно связаны с двумя крупными направлениями:
1. Вопросы поддержки согласованности, доступности и устойчивости к разделению данных. Эти проблемы обобщаются в:
- теореме CAP (Consistency, Availability, Partition tolerance), впервые сформулированной применительно к информационным структурам распределенных баз данных (DDB - Distributed DataBase) [10];
- подходе BASE (Basically Available, Soft-state, Eventually consistent), рассматривающем приемлемый уровень сохранения доступности данных при решении задачи их согласованности для заданного набора критических операций (так называемая проблема «согласованности в конечном итоге» (eventually consistent problem) [11]. Этот подход изначально также был ориентирован преимущественно на распределенные базы данных, однако нашедшем широкое применение и в ряде других систем и подсистем СРВ.
Указанные подходы рассматриваются в п. 1.3.2.
2. Вопросы, связанные с оперативностью доставки данных в условиях возникновения в системе «горячих точек» (hotspots) - узлов системы с кратковременным резким увеличением потребностей в определенных данных со стороны пользователей и/или подсистем СРВ.
На рисунке 1. 1 представлена схема, определяющая многоуровневость и мно-госвязность современных СРВ с точки зрения реализации многоуровневой СДД.
Рисунок 1.1 - Обобщенное представление многоуровневой СДД в общей многосвязной структуре СРВ
1.2 Анализ исследований моделей доставки данных на аппаратном уровне
систем распределенных вычислений
Из рисунка 1.1 видно, что базовым структурным уровнем СРВ является аппаратный уровень, формируемый:
- множеством многоядерных процессоров (CPU в общем случае, GPU или TPU в случае специализации СРВ на обучении моделей ИИ);
- множеством многопроцессорных систем в случае организации распределенных центров обработки данных (ЦОД).
В рамках этого уровня доставка данных между его элементами (ядрами CPU/GPU/TPU в первом случае, отдельными CPU/GPU/TPU во втором случае) реализуется системой процессорной кэш-памяти [65]. В составе ядер рассматривается
интегрированная многоуровневая (обычно трехуровневая - L1-3) кэш-память, а обмен данными ведется по системной шине данных процессора. В составе многопроцессорных систем разработаны и постоянно совершенствуются системы распределенной кэш-памяти (distributed cache systems) [66], использующие в качестве коммуникационной основы систему межпроцессных коммуникаций вышележащего уровня.
Базовыми проблемами СДД аппаратного уровня является проблемы:
1. Когерентности кэша [67] - частный случай когерентности памяти вычислительной системы [68]. Это свойство кэш-памяти разных уровней, определяющее целостность данных из разделяемого ресурса, которые сохраняются в локальной кэш-памяти каждого элемента. Управление СДД аппаратного уровня СРВ связано с разрешением конфликтов противоречивости данных путём поддержания их согласованности данных в локальной кэш-памяти каждого элемента многоядерной или многопроцессорной системы. Обобщенное представление проблемы когерентности кэша представлено на рисунке 1.2. В [70] определяется понятие когерентности кэша. Кэш-память многоузловой вычислительной системы является когерентной, если выполняются следующие условия:
- изменение данных в кэш-памяти любого узла распространяется на копии этих данных (именуются «данные линии кэша») в кэш-памяти других узлов;
- операции чтения и записи в одну и ту же область памяти должны быть известны (глобальная видимость) в одинаковом порядке для всех узлов.
Рисунок 1.2 - Представление проблемы когерентности кэша в двухузловой СРВ
В рамках исследований этой проблемы ведутся, как разработка архитектур многоузловых вычислительных систем, структурно обеспечивающих поддержку когерентности кэша [71], так и программная реализация протоколов когерентности кэша [69]. Наиболее известными исследования по первому направлению являются проекты:
- DASH (Directory Cache Coherence System) и COMA (Cache Only Memory Architecture) для стэнфордской многопроцессорной архитектуры (Stanford multiprocessor) [12] на аппаратном уровне реализующая протокол когерентности кэша (Рисунок 1.3);
- Concordia DSM (Distributed Shared Memory) [13], обеспечивающая внутрисетевую когерентность кэша, поддерживаемую программируемыми коммутаторами СРВ. Базовыми механизмами Concordia являются: миграция владения для решения проблемы ограниченной емкости кэш-памяти на коммутаторах и идемпотентные операции для обработки потери пакетов в случае, если коммутаторы являются системами с отслеживанием состояния (Рисунок 1.4).
Рисунок 1.3 - Обобщенное представление архитектуры Stanford DASH [12]
Memory Node 0 Memory Node n
Рисунок 1.4 - Обобщенное представление архитектуры Concordia DSM [13]
2. Консистентности (согласованности) (Consistency) данных в иерархии кэшпамяти. В крупномасштабных СРВ для параллельных вычислений доставка данных в системе общей памяти обычно реализуется посредством множества локальных кэшей, предоставляемом каждому вычислительному процессу. Это позволяет, с одной стороны, повысить оперативность операций записи и, с другой, гарантирует асинхронное обновление данных. При этом обычной является ситуация, когда в любой момент последняя версия данных может находиться в кэшах разных вычислительных процессов, что может приводить к рассогласованности данных (вычислительный процесс считывает значения двух регистров в локальный кэш и получает последнюю версию для одного из регистров, но предыдущую версию для другого).
В этом случае следует говорить о проблеме согласованности кэшей. В [67] имеется формальное доказательство того, что последовательная согласованность данных в кэшах разных уровней не гарантирует их согласованности во всей иерархии кэш-памяти.
Особую актуальность эта проблема приобретает в системах с распределенным кэшем, обобщенная схема которых представлена на рисунке 1.5.
Рисунок 1.5 - Обобщенная схема СРВ с распределенным кэшем.
Для решения проблем когерентности и консистентности кэша в СДД, как интегрированных в микрокод современных процессоров, так и реализованных на уровне систем с распределенным кэшем (Рисунок 1.5) были реализованы специализированные протоколы (протоколов когерентности). Базовым из них является протокол MESI [14], а большинство остальных являются его модификациями, отличающими количеством состояний и особенностями алгоритмов перехода между ними, что оказывает влияние на оперативность доставки данных и возможности их масштабирования (применительно к системам с распределенным кэшем).
Согласно протоколу MESI каждая линия кэша может находиться в одном из четырех состояний:
1. M - Модифицированная (modified). Это состояние означает, что эти данные были изменены, но в оперативной памяти изменения еще не выполнены. Вычислительный процесс, использующий эту данные, может читать и записывать их асинхронно от других вычислительных процессов.
2. E - Эксклюзивная (exclusive). Данные в таком состоянии полностью идентичны данным в оперативной памяти. Чтение и запись из/в нее происходит без каких-либо внешних запросов к памяти, однако после операции записи они должны быть переведены в состояние M.
3. S - Разделяемая (shared). Данные могут одновременно содержаться в кэшах нескольких узлов и использоваться совместно. Запросы на операцию записи в такие данные всегда идут на общую шину, и при этом уровни кэша других узлов,
содержащие их, переводят их в недействительное состояние (см. состояние 4). Операции чтения данных в таком состоянии, также не требуют внешних запросов.
4. I - Недействительная (invalid). Данные считаются недействительными (устаревшими), и попытка операции чтения приводит к, так называемому, кэш-промаху.
На рисунке 1.6 представлена схема переходов модели протокола MESI.
Рисунок 1.6 - Схема переходов модели протокола когерентности кэша MESI [14]
Похожие диссертационные работы по специальности «Другие cпециальности», 00.00.00 шифр ВАК
Управление потоками сообщений в вычислительных сетях и системах с переменной структурой2019 год, кандидат наук Джафар Мустафа Садек Джавар
Специальное математическое и программное обеспечение системы управления схемой реляционных баз данных на основе машинного обучения2020 год, кандидат наук Громей Дмитрий Дмитриевич
Модели и алгоритмы децентрализованной реструктуризации мультибазы данных с глобальной схемой2014 год, кандидат наук Афанасьев, Вадим Владимирович
Развитие методов, алгоритмов и программных средств для формирования транзакций на основе решения задач поиска кратчайших гамильтоновых путей в произвольных графах распределенных баз данных2020 год, кандидат наук Фильгус Дмитрий Игоревич
Оценка влияния системных связей сетевых кластеров на их характеристики на базе разработанных математических моделей2017 год, кандидат наук Со Хтет Зо
Список литературы диссертационного исследования кандидат наук Рубцов Алексей Алексеевич, 2025 год
СПИСОК ЛИТЕРАТУРЫ
1. Белов, А.С. Подход к моделированию обслуживания запросов в распределенных системах доставки данных, объединенных на основе пирингового соглашения / А.С. Белов, А.А. Рубцов // Системы управления и информационные технологии. - 2024. - № 3 (97). - С. 4-12.
2. Рубцов, А.А. Подход к процессу взаимного информационного согласования элементов систем доставки данных на основе аукционной модели / А.А. Рубцов // Моделирование, оптимизация и информационные технологии. -2024. - № 12 (3). Режим доступа: https://moitvivtm/ru/journal/pdf?id=1621.
3. Bumazhkina, N.Yu. An algorithm for obtaining an ensemble machine learning model for node federation in decentralized machine learning systems / N.Yu. Bumazhkina, A. A. Rubtsov, P. V. Mikhalev // AIP Conference Proceedings. Manuscript № AIPCP21 -AR-MIP 2024-00155.
4. Свидетельство о государственной регистрации программы для ЭВМ № 2024682677. М: ФИПС / П.Н. Горбачев, А.А. Рубцов; заявители и правообладатели: П.Н. Горбачев, А.А. Рубцов; опубл. 26.09.2024.
5. Rubtsov, A.A., Oleinik A.V. Approaches to modeling the process of functioning of a distributed data delivery system with a peer-to-peer scheme // Modern informatization problems in the technological and telecommunication systems analysis and synthesis (MIP-2024'AS). Proceedings of the XXIX-th International Open Science Conference, Voronezh. - January 2024. - p. 200-204.
6. Рубцов, А.А. К вопросу о моделировании процесса обслуживания запросов в распределенных системах доставки данных / А.А. Рубцов // Научная сессия ТУСУР - 2024: материалы XXIX Международной научно-технической конференции студентов, аспирантов и молодых ученых. - Томск, 2024. - C. 93-96.
7. Рубцов, А.А. Сравнение централизованного и децентрализованного подходов к моделированию процесса функционирования распределенной системы доставки данных с одноранговой схемой / А.А. Рубцов // Современное состояние и перспективы развития инфокоммуникационных сетей связи специального назначения: сборник трудов III Межвузовской научно-практической конференции.
- Санкт-Петербург, 2024. - C. 119-123.
8. Добрышин, М.М. Вариант структуры программного комплекса узла распределенной системы доставки данных с оверлейным блоком формирования логической группы узлов / М.М. Добрышин, А.А. Рубцов // Universum: технические науки : электрон. научн. журн. - 2024. - 11(128). - URL: https://7universum.com/ru/tech/archive/item/18591 (дата обращения: 07.11.2024).
9. Добрышин, М.М. Алгоритм управления маршрутизацией информационных потоков между элементами распределенных систем обработки и доставки данных / М.М. Добрышин, А.А. Рубцов // Вестник науки. - 2024. - Т. 2.
- № 11(80) - C. 1192-1200.
10. Eric A. Brewer. 2000. Towards robust distributed systems (abstract). In Proceedings of the nineteenth annual ACM symposium on Principles of distributed
computing (PODC '00). Association for Computing Machinery, New York, NY, USA, 7. https://doi.org/10.1145/343477.343502
11. Dan Pritchett. 2008. BASE: An Acid Alternative: In partitioned databases, trading some consistency for availability can lead to dramatic improvements in scalability. Queue 6, 3 (May/June 2008), 48-55. https://doi.org/10.1145/1394127.1394128
12. Hennessy, J., Heinrich, M., & Gupta, A. (1999). Cache-coherent distributed shared memory: perspectives on its development and future challenges. Proceedings of the IEEE, 87(3), 418-429. doi:10.1109/5.747863
13. Wang, Q., Lu, Y., Xu, E., Li, J., Chen, Y., & Shu, J. (2021). Concordia: Distributed Shared Memory with In-Network Cache Coherence. 19th USENIX Conference on File and Storage Technologies (FAST 21), 277-292. https://www.usenix.org/conference/fast21/presentation/wang
14. Mark S. Papamarcos and Janak H. Patel. 1984. A low-overhead coherence solution for multiprocessors with private cache memories. SIGARCH Comput. Archit. News 12, 3 (June 1984), 348-354. https://doi.org/10.1145/773453.808204
15. Seth Gilbert and Nancy Lynch. 2002. Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services. SIGACT News 33, 2 (June 2002), 51-59. https://doi.org/10.1145/564585.564601
16. Нуркаев Р.Р., Пивоваров В.В., Хабибуллин Р.М., Хасанов А.Р. SAGA: УПРАВЛЕНИЕ ДОЛГОВРЕМЕННЫМИ ТРАНЗАКЦИЯМИ В РАСПРЕДЕЛЕННЫХ СИСТЕМАХ // Инновации и инвестиции. 2023. №6. URL: https://cyberleninka.ru/article/n/saga-upravlenie-dolgovremennymi-tranzaktsiyami-v-raspredelennyh-sistemah (дата обращения: 06.10.2024).
17. Bartolini, N., Casalicchio, E., Tucci, S. (2004). A Walk through Content Delivery Networks. In: Calzarossa, M.C., Gelenbe, E. (eds) Performance Tools and Applications to Networked Systems. MASCOTS 2003. Lecture Notes in Computer Science, vol 2965. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24663-3_1
18. Gilbert S., Nancy A. Lynch N.A. Perspectives on the CAP Theorem // In the Proc. of the International Symposium on Principles of Distributed Computing (PODC), pages 328-337, 2004.
19. Fischer M. J., Lynch N. A., Paterson M. S. Impossibility of distributed consensus with one faulty process // Journal of the ACM, 32(2):374-382, 1985.
20. Alam S., Hassan S. I., Khalique A. Data Cache with Distributed Cache: a design approach // SSRG International Journal of Computer Science and Engineering. -volume 4 Issue 6 - June 2017, 17-23 pp.
21. Fu G., Zhang Y., Yu G. A Fair Comparison of Message Queuing Systems // IEEE Access PP(99):1-1, volume 4, 2016, 1-12 pp.
22. Pallis G., Vakali A. Insight and Perspectives for Content Delivery Networks // Communications of the ACM, vol. 49, no. 1, ACM Press, NY, USA, January 2006. pp. 101-106.
23. Shukur H., Zebari R.R., Zeebaree S.R.M., Ahmed O. Cache coherence protocols in distrubted systems // Journal of Applied Science and Technology Trends Vol. 01, No. 03, 2020, pp. 92 -97.
24. Hassidim A. Cache replacement policies for multicore processors // SIAM Journal on Computing, 29(4):1290-1303, 2000, pp 1-15.
25. Ardagna D., Ciavotta M., Gibilisco G.P., etc. QoS Assessment and SLA Management // In book: Model-Driven Development and Operation of Multi-Cloud Applications, 2017, pp. 35-46.
26. Олифер В.Г., Олифер Н.В. Компьютерные сети. Принципы, технологии, протоколы. Питер -СбП.: 2024. - 1008 с.
27. Wang X., Ma R.T.B. On private peering agreements between content and access providers: a contractual equilibrium analysis // SIGMETRICS '21 Abstracts, June 14-18, 2021, 57-58 pp.
28. Rykshin M.S. Approaches to the development of mutual information coordination algorithm for intelligent agents in a distributed multi-agent monitoring system // MOIT Journal, 2015. T.3. № 2. id 193.
29. Amini, L., Shaikh, A., and Schulzrinne, H. Modeling redirection in geographically diverse server sets // In Proc. of the 12th International Conference on World Wide Web (WWW), ACM Press New York, NY, USA, 2003, 472-481 pp.
30. Dahlin M. Interpreting stale load information // IEEE Transactions on Parallel and Distributed Systems, 11(10), Oct. 2000, 73-84 pp.
31. Papazoglou M. P. Georgakopoulos D. Service-oriented computing // Communications of the ACM, 46(10), ACM Press New York, NY, USA, pp. 25-28, 2003.
32. Berners-Lee T., Fielding R., Masinter L. Uniform Resource Identifier (URI): generic syntax // [Электронный ресурс]: Request for comments - Режим доступа: https://www.protokols.ru/WP/rfc3986/ (дата обращения: 13.04.2024).
33. Huber F., Freytag J.C. Query Processing on Multi-Core Architectures // Proc. of the 21. GI-Workshop on Foundations of Databases (Grundlagen von Datenbanken), Rostock-Warnemünde, Mecklenburg-Vorpommern, Germany, June 2-5, 2009, 54-67 pp.
34. Crovella M. E., Taqqu M.S., Bestavros, A. Heavy-tailed probability distributions in the World Wide Web // A Practical Guide To Heavy Tails, Birkhauser Boston Inc., Cambridge, MA, USA, 1998, pp. 3-26.
35. Grassi F., Coluccia A. On the sum of random samples with bounded Pareto distribution // Signal Processing, vol. 3, 2021, 13-19 pp.
36. Broberg J., Zeephongsekul. P., Tari Z. Approximating bounded general service distributions // In Proc. of IEEE Symposium on Computers and Communications, Aveiro, Protugal, Jul. 2007, 31-43 pp.
37. Gosain A., Madaan H. Query Prioritization for View Selection // Advances in Intelligent Systems and Computing, № 6, 2018, 24-28 pp.
38. Conway R.W., Maxwell W.L., Miller, L.W. Theory of Scheduling // Addison-Wesley (Reading, Mass.), 1967.
39. Amini L., Shaikh A., Schulzrinne H. Effective peering for multi-provider content delivery services. IEEE INFOCOM 2004. 2004. Режим доступа: https://sci-
hub.ru/10.1109/INFCOM.2004.1356973 DOI: 10.1109/INFCOM.2004.1356973 (дата обращения: 03.03.2024).
40. Pathan M., Broberg J., Bubendorfer K., Kim K.H., Buyya R. An architecture for virtual organization (VO)-based effective peering of content delivery networks. UPGRADE-CN'07, In Proc. of the 16th IEEE International Symposium on High Performance Distributed Computing (HPDC). 2007. Режим доступа: https://sci-hub.ru/10.1145/1272980.1272989 DOI: 10.1145/1272980.1272989 (дата обращения: 02.06.2024).
41. Rowstron A., Druschel P. Scalable, Decentralized Object Location, and Routing for Large-Scale Peer-to-Peer Systems. Lecture Notes in Computer Science. 2001. Режим доступа: https://sci-hub.ru/10.1007/3-540-45518-3_18 DOI: 10.1007/3-540-45518-3_18 (дата обращения: 02.06.2024).
42. Wang X., Ma R.T.B. On private peering agreements between content and access providers. Proceedings of the ACM on Measurement and Analysis of Computing Systems. 2021. Режим доступа: https://sci-hub.ru/10.1145/3428326 DOI: 10.1145/3428326 (дата обращения: 02.06.2024).
43. Pathan M., Buyya R. Economy-based Content Replication for Peering Content Delivery Networks. Seventh IEEE International Symposium on Cluster Computing and the Grid. 2007. Режим доступа: https://sci-hub.ru/10.1109/CCGRID.2007.48 DOI: 10.1109/CCGRID.2007.48 (дата обращения: 10.06.2024).
44. Рожкова Т.С. Подходы к использованию аукционных методов для управления ресурсами в распределенной вычислительной системе. Материалы международной научно-технической конференции студентов, аспирантов и молодых ученых «Научная сессия ТУСУР-2020». 2020;2:64-67.
45. Bubendorfer K., Thomson W. Resource Management Using Untrusted Auctioneers in a Grid Economy. Second IEEE International Conference on e-Science and Grid Computing. 2006. Режим доступа: https://sci-hub.ru/10.1109/E-SCIENCE.2006.261158 DOI: 10.1109/E-SCIENCE.2006.261158 (дата обращения: 20.06.2024).
46. Vickrey W. Counterspeculation, Auctions, and Competitive Sealed Tenders. The Journal of Finance. 1961. Режим доступа: https://ideas.repec.org/a/bla/jfinan/v16y1961i1p8-37.html DOI: j.1540-6261.1961 .tb02789.x (дата обращения: 03.03.2024).
47. Norman T.J., Preece A., Chalmers S., Jennings N.R., Luck M., Dang V.D., Nguyen T.D., Deora V., Shao J., Gray W.A., Fiddian N.J. Agent-Based Formation of Virtual Organisations. Research and Development in Intelligent Systems XX. 2004. Режим доступа: https: //library.lol/main/5C8CA48D4392F4CE718E0BBA1438B12 5 DOI: 10.1007/978-0-85729-412-8_26 (дата обращения: 15.05.2024).
48. Ogston E., Vassiliadis S. A peer-to-peer agent auction. In Proceedings of the first international joint conference on Autonomous agents and multiagent systems. 2002. Режим доступа: https://sci-hub.ru/10.1145/544741.544776 DOI: 10.1145/544741.544776 (дата обращения: 03.06.2024).
49. Globally distributed content delivery / J. Dilley, B. Maggs, J. Parikh, H Prokop, R. Sitaraman, B. Weihl // IEEE Internet Computing, pp. 50-58 - Sept./Oct. 2002.
50. Ratnasamy S., Francis P., Handley M., Karp R., Shenker S. A scalable content addressable network // In Proceedings of the ACM SIGCOMM 01 Conference, San Diego, CA. - Aug 2001.
51. Stoica I., Morris R., Karger D., Kaashoek M., Balakrishnan H. A scalable peer-to-peer lookup service for internet applications // In Proceedings of the ACM SIGCOMM 01 Conference, San Diego, California. - Aug 2001.
52. Дибров, М. В. Сети и телекоммуникации. Маршрутизация в IP-сетях : учебник и практикум для вузов / М. В. Дибров. — 2-е изд., перераб. и доп. — Москва : Издательство Юрайт, 2024. — 423 с. — (Высшее образование). — ISBN 978-5-534-16546-3. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/544928 (дата обращения: 08.10.2024).
53. Aweda Z. Kafka vs RabbitMQ: What Are the Differences? 2023. Режим доступа: https://earthly.dev/blog/kafka-vs-rabbitmq/ (дата обращения: 08.10.2024).
54. G. Malkin (November 1998). RIP Version 2. Network Working Group. doi:10.17487/RFC2453. STD 53. RFC 2453. Internet Standard. Obsoletes RFC 1723 and 1388. Updated by RFC 4822.
55. J. Moy (April 1998). OSPF Version 2. Network Working Group. doi: 10.17487/RFC2328. STD 54. RFC 2328. Internet Standard 54. Obsoletes RFC 2178. Updated by RFC 5709, 6549, 6845, 6860, 7474 and 8042.
56. G. Malkin; R. Minnear (January 1997). RIPng for IPv6. Network Working Group. doi: 10.17487/RFC2080. RFC 2080. Proposed Standard.
57. Jeff Doyle; Jennifer Carroll (2005). CCIE Professional Development: Routing TCP/IP Volume I, Second Edition. ciscopress.com. p. 169. ISBN 9781587052026.
58. S. Deering; R. Hinden (July 2017), "Internet Protocol, Version 6 (IPv6) Specification", IETF Request for Comments (RFC) Pages - Test, Internet Engineering Task Force (IETF), ISSN 2070-1721, RFC 8200 Obsoletes RFC 2460.
59. Siddiqui, Aftab (17 July 2017). "RFC 8200 - IPv6 Has Been Standardized". Internet Society. Archived from the original on 23 October 2023. Retrieved 25 February 2018.
60. Understand and Use the Enhanced Interior Gateway Routing Protocol. 2023. Режим доступа: https://www.cisco.com/c/en/us/support/docs/ip/enhanced-interior-gateway-routing-protocol-eigrp/16406-eigrp-toc.html (дата обращения: 28.06.2024).
61. Design of Flexible Production Systems — Methodologies and Tools. By T. Tolio. Berlin: Springer, 2009. ISBN 978-3-540-85413-5
62. Вислова А., Современные тенденции развития искусственного интеллекта. 2020. Режим доступа: https://www.kbncran.ru/wp-content/uploads/2020/05/Vis-2.pdf DOI: 10.35330/1991-6639-2020-2-94-14-30 (дата обращения: 28.10.2024).
63. Andres, F., Boulos, J. (1996). DDS: The Data Delivery System. In: Terashima, N., Altman, E. (eds) Advanced IT Tools. IFIP — The International
Federation for Information Processing. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-34979-4_54 DOI: 10.1007/978-0-387-34979-4_54
64. Pardo-Castellote, G., & Schneider, S. (n.d.). The network data delivery service: real-time data connectivity for distributed control applications. Proceedings of the 1994 IEEE International Conference on Robotics and Automation. doi: 10.1109/robot.1994.350903
65. Горобец А.В., Суков С.А., Железняков А.О., Богданов П.Б., Четверушкин Б.Н. Применение GPU в рамках гибридного двухуровневого распараллеливания MPI+OpenMP на гетерогенных вычислительных 35 системах // Вестник ЮУрГУ. Серия: Вычислительная математика и информатика. 2011. №25 (242). стр. 76-86
66. Костенкова Ю.В., Нестеров Ю.Г. Сравнительный анализ протоколов когерентности кэш-памяти мультипроцессорных систем. doi: 10.18411/lj-12-2018-180
67. Timothy Mann, Andrew Birrell, Andy Hisgen, Charles Jerian, and Garret Swart. 1994. A coherent distributed file cache with directory write-behind. ACM Trans. Comput. Syst. 12, 2 (May 1994), 123-164. https://doi.org/10.1145/176575.176577
68. Zhang, B., Ravindran, B. (2009). Brief Announcement: Relay: A Cache-Coherence Protocol for Distributed Transactional Memory. In: Abdelzaher, T., Raynal, M., Santoro, N. (eds) Principles of Distributed Systems. OPODIS 2009. Lecture Notes in Computer Science, vol 5923. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-10877-8_6
69. Unrau R., Bromling S., Karpoff W. Patent US. US 7,975,018 B2 / Systems and methods for providing distributed cache coherence/ Filed: Jul. 7, 2005 / Prior Publication Data US 2006/OO31450 A1 Feb. 9, 2006
70. Cache Coherence Protocols in Distributed Systems. JASTT [Internet]. 2020 Jun. 24 [cited 2024 Oct. 29];1(2):92-7. Available from: https://jastt.org/index.php/jasttpath/article/view/29
71. B. Zhang and B. Ravindran, "Location-Aware Cache-Coherence Protocols for Distributed Transactional Contention Management in Metric-Space Networks," 2009 28th IEEE International Symposium on Reliable Distributed Systems, Niagara Falls, NY, USA, 2009, pp. 268-277, doi: 10.1109/SRDS.2009.33.
72. Князьков В. Архитектура и особенности тензорных процессоров семейства Googte TPU. 2020 / DOI: 10.13140/RG.2.2.33347.63520 Режим доступа: https://www.researchgate.net/publication/343057328_Arhitektura_i_osobennosti_tenzo rnyh_processorov_semejstva_Google_TPU (дата обращения: 28.10.2024).
73. Boneta L. Trillium: Google's TPU Powerhouse Behind Its New AI Models. 2024. Режим доступа: https://www.allaboutcircuits.com/news/trillium-googles-tpu-powerhouse-behind-new-ai-models/ (дата обращения: 28.10.2024)
74. Wiggers S. Google Announces General Availability of Cloud TPU VMs. 2022. Режим доступа: https://www.infoq.com/news/2022/05/google-cloud-tpu-vms-ga/ (дата обращения: 28.10.2024)
75. Spiridonov A. New Cloud TPU VMs make training your ML models on TPUs easier than ever. 2021. Режим доступа:
https://cloud.google.com/blog/products/compute/introducing-cloud-tpu-vms (дата обращения: 28.10.2024)
76. Samaan, Sama. (2018). Performance Evaluation of RIPng, EIGRPv6 and OSPFv3 for Real Time Applications. University of Baghdad Engineering Journal. 10.31026/j.eng.2018.01.08.
77. Kumari, Nisha & Sharma, Brijbhushan & Saini, Raj. (2016). Comparative Study of RIPng and OSPFV3 with IPV6. 6.
78. Ducatelle, Frederick. Adaptive routing in ad hoc wireless multi-hop networks. 2017. Режим доступа: https://www.researchgate.net/publication/40754589_Adaptive_routing_in_ad_hoc_wir eless_multi-hop_networks (дата обращения: 20.08.2024)
79. Loginovskiy, Oleg & Shinkarev, Alexander & Koval, Maxim. (2021). Development of architecture of message queue based information search systems for enterprise information systems. Applied Mathematics and Control Sciences. 119-140. 10.15593/2499-9873/2021.1.07.
80. Addressing Scalability with Message Queues: Architecture and Use Cases for DIRAC Interware. Wojciech Krzemien, Federico Stagni, Christophe Haen, Zoltan Mathe, Andrew McNab, Milosz Zdybal. EPJ Web Conf. 214 03018 (2019). DOI: 10.1051/epjconf/201921403018
81. Yiqiao Li, Yue Liu, Sen Zhang, Pengyu Zhu. Redesigning Kafka Message Queue System: Toward a Decentralized Stateful Broker System. 2017. Режим доступа: https://www. cse.scu. edu/~m1 wang/projects/Cloud_statefulKafka_17s.pdf (дата обращения: 20.08.2024)
82. Wackerow D. MQSeries Primer. 1999. Режим доступа: https://www.informatik.uni-leipzig.de/cs/Literature/Textbooks/MQSerPrimer.pdf (дата обращения: 20.08.2024)
83. Gonzalez PerezY, Kholod I. Multi-agent Architecture for Federated Learning. CTE [Internet]. 2022Mar.28 [cited 2024Oct.29];(1):30-5. Available from: http://cte.eltech.ru/ojs/index.php/kio/article/view/1709
84. Aljumaily, Mustafa. (2016). Content Delivery Networks Architecture, Features, and Benefits. 10.13140/RG.2.1.1762.0722.
85. Pathan, Mukaddim & Buyya, Rajkumar & Vakali, Athena. (2008). Content Delivery Networks: State of the Art, Insights, and Imperatives. 10.1007/978-3-540-77887-5_1.
86. Mulerikkal, Jaison & Khalil, Ibrahim. (2007). An Architecture for Distributed Content Delivery Network. 359 - 364. 10.1109/ICON.2007.4444113.
87. Kostrov, B.V & Baranchikov, A.I & Klyueva, I.A. (2021). The ensemble methods in the multi-class svm classification problem. XXI Century: Resumes of the Past and Challenges of the Present plus. 10. 10.46548/21vek-2021-1054-0019.
88. Бабичев, С. Л. Распределенные системы : учебное пособие для вузов / С. Л. Бабичев, К. А. Коньков. — Москва : Издательство Юрайт, 2024. — 507 с. — (Высшее образование). — ISBN 978-5-534-11380-8. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/542583
(дата обращения: 29.10.2024).Chris Richardson. Pattern: Saga. 2024. Режим доступа: https: //microservices. io/patterns/data/saga. html
89. What is SAGA Pattern in Microservice Architecture? Which Problem does it solve? 2023. Режим доступа: https://nuancesprog.ru/p/17205/
90. Thilanka. Choreography Saga Pattern Implementation. 2022. Режим доступа: https://dev.to/thilanka/choreography-saga-pattern-implementation-1 ik2
91. Дуглас Камер. Сети TCP/IP, том 1. Принципы, протоколы и структура = Internetworking with TCP/IP, Vol. 1: Principles, Protocols and Architecture. — М.: «Вильямс», 2003. — С. 880. — ISBN 0-13-018380-6.
92. Паркер Т., Сиян К. TCP/IP. Для профессионалов. — 3-е изд.. — СПб.: Питер, 2004. — 859 с. — ISBN 5-8046-0041-9.
93. М. Тамер Оззу, П. Валдуриз Распределенные и параллельные системы баз данных // Системы управления базами данных, № 04, 1996.
94. Grigorik, Ilya Weak Consistency and CAP Implications (англ.). Igvita (24 июня 2010). Режим доступа: http://www.igvita.com/2010/06/24/weak-consistency-and-cap-implications/ Дата обращения: 11 июня 2011.
95. Yoav Raz (1995): "The Dynamic Two Phase Commitment (D2PC) protocol ", Database Theory — ICDT '95, Lecture Notes in Computer Science, Volume 893/1995, pp. 162-176, Springer, ISBN 978-3-540-58907-5
96. Мартин Фаулер, Прамодкумар Дж. Садаладж. NoSQL: новая методология разработки нереляционных баз данных = NoSQL Distilled. — М.: «Вильямс», 2013. — 192 с. — ISBN 978-5-8459-1829-1.
97. Dizdarevic, J., Avdagic, Z., Orucevic, F. et al. Advanced consistency management of highly-distributed transactional database in a hybrid cloud environment using novel R-TBC/RTA approach. J Cloud Comp 10, 27 (2021). https://doi.org/10.1186/s13677-021-00230-0
98. Oliver Wolf. Introduction into Microservices. Режим доступа: https://specify.io/concepts/microservices Дата обращения: 29 ию 2016.
99. Timofeev, V. & Ovchinnikova, N. (2021). Analysis of the influence of fluctuations of atmospheric parameters on the propagation of signals from glonass / GPS satellite radio navigation systems. 244-247. 10.31799/978-5-8088-1554-4-2021-2-244247. Дата обращения: 29 июня 2016
100. Parsons, S., Rodriguez-Aguilar, J. A., and Klein, M. (2011). Auctions and bidding: A guide for computer scientists. Режим доступа: http://www.sci.brooklyn.cuny.edu/~parsons/projects/mechdesign/publications/bluffers-final.pdf
101. Benjamin Edelman, Michael Ostrovsky, and Michael Schwarz: "Internet Advertising and the Generalized Second-Price Auction: Selling Billions of Dollars Worth of Keywords". American Economic Review 97(1), 2007 pp 242-259
102. Воробьев, В.А. and И. В. Жабенок. Теория и прикладные форматы аукционов: краткий обзор. 2021. Режим доступа: http ://edoc.bseu.by: 8080/bitstream/edoc/86118/1 /Vorobev_4_19 .pdf
103. Сонин К.И. Основы теории аукционов (Нобелевская премия по экономике 2020 года). Вопросы экономики. 2021;(1):5-32. https://doi.org/10.32609/0042-8736-2021-1-5-32
104. Moellers, C., Normann, H.-T., & Snyder, C. M. (2017). Communication in vertical markets: Experimental evidence. International Journal of Industrial Organization, 50, 214-258. doi:10.1016/j.ijindorg.2016.10.002
105. Dholakia, Utpal & Basuroy, Suman & Soltysinski, Kerry. (2002). Auction or agent (or both)? A study of moderators of the herding bias in digital auction. International Journal of Research in Marketing - INT J RES MARK. 19. 115-130. 10.1016/S0167-8116(02)00064-2.
106. Wooldridge, Michael (2002). An Introduction to MultiAgent Systems. John Wiley & Sons. p. 366. ISBN 978-0-471-49691-5.
107. Pearson, K. The Problem of the Random Walk (англ.) // Nature. — 1905. — Vol. 72, no. 1865. — P. 294. — doi:10.1038/072294b0. — Bibcode: 1905Natur..72..294P
108. Dong, Zhetong & Lin, Hongwei & Zhou, Chi & Zhang, Ben & Li, Gengchen. (2024). Persistence B-spline grids: stable vector representation of persistence diagrams based on data fitting. Machine Learning. 113. 1-48. 10.1007/s10994-023-06492-w.
109. Adamic, L. Unzipping Zipfs law. Nature 474, 164-165 (2011). https://doi.org/10.1038/474164a
110. Philippou, Andreas & Antzoulakos, Demetrios. (2011). Binomial Distribution. 10.1007/978-3-642-04898-2_146.
111. Ferrer-i-Cancho, Ramon. (2005). Zipfs law from a communicative phase transition. The European Physical Journal B-Condensed Matter and Complex Systems. 47. 449-457. 10.1140/epjb/e2005-00340-y.
112. Broberg, J., Zeephongsekul., P., and Tari, Z. Approximating bounded general service distributions // In Proc. of IEEE Symposium on Computers and Communications, Aveiro, Protugal, Jul. 2007.
113. Ахмад, Хайлан & Польщиков, Константин & Алгазали, Салах. (2021). Обнаружение ресурсоемких запросов к базам данных на основе применения самоорганизующихся карт и нечеткого вывода. Экономика. Информатика. 48. 578593. 10.52575/2687-0932-2021-48-3-578-593.
114. Лычкина, Н. Н. Имитационное моделирование экономических процессов : учебное пособие / Н.Н. Лычкина. — Москва : ИНФРА-М, 2024. — 254 с. — (Высшее образование: Бакалавриат). — DOI 10.12737/724. - ISBN 978-5-16018933-8. - Текст : электронный. - URL:https://znanium.com/catalog/product/2079693 (дата обращения: 08.11.2024). - Режим доступа: по подписке.
115. Patel, Prakash. (2015). Mininet - An Emulator for Prototyping Large Network Topologies on a Single Machine. OpenSourceForYou. 2015. 50-56. Режим доступа: https: //www.opensourceforu.com/2015/10/mininet-an-emulator-for-prototyping-large-network-topologies-on-a-single-machine/ Дата обращения: 1 октября 2015.
116. Хроль, Е & Уварова, А & Кужильный, А. (2023). Разработка имитационных моделей с помощью AnyLogic. Современные инновации, системы
и технологии - Modern Innovations, Systems and Technologies. 3. 0119-0130. 10.47813/2782-2818-2023-3-4-0119-0130.
117. Девятков, В. В. Финансовый университет при Правительстве Российской Федерации. Имитационные исследования в среде моделирования GPSS STUDIO : учебное пособие / В.В. Девятков ; Финансовый университет при Правительстве Российской Федерации. - 1. - Москва : Вузовский учебник, 2020. -283 с. - ISBN 9785955805955 : Б. ц. - Текст : непосредственный.
118. Мамонов А. А. Сравнительный анализ систем имитационного моделирования / А. А. Мамонов // Материалы IX-й Международной научной конференции "Математическое и программное обеспечение информационных, технических и экономических систем", Томск, 26-28 мая 2022 г. Томск, 2022. С. 282-289 (Труды Томского государственного университета ; т. 307 : Серия физико-математическая. URL:http://vital.lib.tsu.ru/vital/access/manager/Repository/koha:000 926136
119. Малыгина С. Н., Неупокоева Е. О. Обзор современных средств имитационного моделирования // Труды Кольского научного центра РАН. Серия: Технические науки. 2022. Т. 13, № 2. С. 134-143. doi:10.37614/2949-1215.2022.13.2.013
120. Mehdi Bezahaf, David Hutchison, Daniel King, Nicholas Race, Internet Evolution: Critical Issues. IEEE Internet Computing, July/August 2020, IEEE Computer Society.
121. Воруев А.В., Левчук В.Д., Колаиб С.М. Подходы к изменению механизмов маршрутизации в сетевых структурах. Режим доступа: https://pfmt.gsu.by/2020_4/21_Voruev_AV_Levchuch_VD_et_al_2020-4.pdf дата обращения: 12.12.2020
122. Melo, Lucas & Sampaio, R.F. & Leâo, Ruth Pastôra & Barroso, Giovanni & Bezerra, José. (2019). Python-based multi-agent platform for application on power grids. International Transactions on Electrical Energy Systems. 29. 10.1002/2050-7038.12012.
123. Журавлев, А.М. (2018). Review of libraries for constructing the multiagent systems in the Python environment. Politechnical student journal. 10.18698/2541-80092018-10-385.
124. Советов Б. Я. Моделирование систем : учебник для вузов / Б. Я. Советов, С. А. Яковлев. - 4-е изд., стер. - Москва : Высшая школа, 2005. - 343 с. : ил. -Библиогр.: с. 340-341. - ISBN 5-06-003860-2
125. Моделирование: учебное пособие / Н.И. Лыгина, О.В. Лауферман. -Новосибирск: Изд-во НГТУ, 2020. - 87 с. ISBN 978-5-7782-4151-0
126. Статистические задачи планирования прогона имитационной модели. Левчук В.Д., Государственный университет им. Ф. Скорины, Гомель, Беларусь. Режим доступа: http://simulation.su/uploads/files/default/immod-2005-1-132- 136.pdf Дата обращения: 19.10.2024
127. Палей А. Г. Имитационное моделирование. Разработка имитационных моделей средствами iWebsim и AnyLogic : учебное пособие / А. Г. Палей, Г. А. Поллак. - Санкт-Петербург : Лань, 2019. - 208 с. - URL: https: //e. lanbook. com/book/122179
128. Рябов О. А. Моделирование процессов и систем : учебное пособие / О. А. Рябов. - Красноярск, 2010. - 122 с.
ПРИЛОЖЕНИЕ А. Описание алгоритма взаимодействия узлов СДД в ходе
проведения аукциона
ввод Ы;
создать массив узлы размером Ы;
бесконечный цикл
создать запрос г^ на данные случайного размера ^^
вызвать ВЫПОЛНЕНИЕ_ЗАПРОСА передать г^ , ^ , случайный узел_П из
массива узлы
ждать случайный интервал времени ^
конец цикла
процедура ВЫПОЛНЕНИЕ_ЗАПРОСА (параметры: запрос, данные, узел_П) начало процедуры:
5( Мк)
вычислить функцию состояние_узла
если состояние_узла < 0: выполнить запрос выход конец если
создать пустой массив участник_аукциона для каждого узел из массива узлы, кроме узел_П: вычислить функцию полезность
если полезность > 0:
добавить узел в массив участник_аукциона конец если конец цикла
если массив участник_аукциона пустой: вывод «Отказ в обслуживании запроса» выход
конец если
создать пустой массив ставки
для каждого узел из массива участник_аукциона: вычислить функцию стоимость
добавить стоимость в массив ставки конец цикла
сортировать по убыванию массив ставки
сохранить второй элемент массива ставки в переменную выигрыш
создать пустой массив логическая_группа для каждого узел из массива участник_аукциона: вычислить прибыль = стоимость - выигрыш если прибыль > 0:
добавить узел в массив логическая_группа конец если конец цикла
для каждого узел из массива логическая_группа:
копировать данные конец цикла
вызвать ВЫПОЛНЕНИЕ_ЗАПРОСА передать запрос, данные, первый элемент массива логическая_группа
конец процедуры
ПРИЛОЖЕНИЕ Б. Табличное представление экспериментальных данных для 8 прогонов моделирующего алгоритма
Таблица Б.1 - Время обслуживания составного запроса с варьируемым количеством подзапросов в составном запросе и с фиксированным временем обслуживания подзапроса в составном запросе автономным СЭК-узлом
N прогона 10 подзапр 20 подзапр 40 подзапр 80 подзапр 100 подзапр
1 3 5,2 12 34,2 78,4
2 4,2 6,7 10,8 31 71
3 3,3 6,9 11,4 32,2 69,9
4 3,7 7,4 12,4 35 74,6
5 5,3 7,8 11,8 32,8 74,4
6 6,2 8,2 12,6 33,6 79
7 5,8 8,1 12,2 34,8 71,9
8 6,7 8,6 11,9 35,1 75,3
Среднее 4,775 7,3625 11,8875 33,5875 74,3125
Дисп. 1,98214286 1,1855357 0,3298214 2,19553571 10,85839286
Таблица Б.2 - Время обслуживания составного запроса с варьируемым количеством подзапросов в составном запросе и с фиксированным временем обслуживания подзапроса в составном запросе логической группой СЭК-узлов
N прогона 10 подзапр 20 подзапр 40 подзапр 80 подзапр 100 подзапр
1 1,7 2,4 3,6 5,8 12,1
2 2 2,3 3,1 4,9 12,7
3 1,4 2,9 3,6 6,1 11,8
4 1,5 3,1 3,6 6,4 12,3
5 1,5 2,6 4,2 6,5 13
6 2,2 2,2 3,8 6,8 12,5
7 1,9 2,3 3,7 6,3 12,8
8 2,1 2,5 4,1 5,9 12,4
Среднее 1,7875 2,5375 3,7125 6,0875 12,45
Дисп. 0,09267857 0,0998214 0,1155357 0,33553571 0,151428571
Таблица Б.3 - Время обслуживания составного запроса с варьируемыми количеством подзапросов в составном запросе и временем обслуживания подзапроса в составном запросе автономным СЭК-узлом
N прогона 10 подзапр 20 подзапр 40 подзапр 80 подзапр 100 подзапр
1 3,8 6,4 10,6 24,4 62,3
2 2,7 9 9,9 16,6 74,1
3 6,2 5,8 12 31 46,6
4 4,4 6,7 12 21,3 52,4
5 8,3 7,7 12,6 18,8 70
6 2,2 6,4 11,7 22,8 71
7 2,4 8,4 14 34 44
8 3,2 5,9 11,8 17,7 38
Среднее 4,15 7,0375 11,825 23,325 57,3
Дисп. 4,49714286 1,4141071 1,5164286 39,3907143 192,0142857
Таблица Б.4 - Время обслуживания составного запроса с варьируемыми количеством подзапросов в составном запросе и временем обслуживания подзапроса в составном запросе логической группой СЭК-узлов (прогон 1 - 3 СЭК-узлов, прогон 2-3 - 5 СЭК-узлов, прогон 4 - 8 СЭК-узлов, прогоны 5-10 - 9 СЭК-узлов)
N прогона 10 подзапр 20 подзапр 40 подзапр 80 подзапр 100 подзапр
1 2,7 3,3 7,3 11 9,9
2 2,1 4,2 6,4 9,6 14,1
3 3,6 4,6 6,9 9,1 12,7
4 2,8 2,8 8,1 8,7 11,8
5 2,6 3,6 8,4 10,2 12,5
6 3,2 3,5 5,9 8,1 13,2
7 3,4 2,9 6,3 9 9,4
8 2,8 3,7 5,9 9,2 13,6
Среднее 2,9 3,575 6,9 9,3625 12,15
Дисп. 0,23142857 0,3707143 0,9228571 0,81410714 2,882857143
Таблица Б.5 - Время обслуживания потока составных запросов с варьируемыми количеством составных запросов и временем поступления составного запроса клиента на вход нагрузочного СЭК-узла, и с фиксированными количеством подзапросов в составном запросе и временем обслуживания подзапроса в составном запросе автономным СЭК-узлом
N прогона 100 запр 200 запр 500 запр 1000 запр 5000 запр
1 88,3 178,1 343,9 818 2114
2 124,2 138 401 821,3 2098
3 112 144,2 338 798 2023
4 98,4 138,9 378,6 786 2034
5 103 156,2 384,1 801,6 2118
6 125 158 407 794,4 2121
7 118 149,9 412 814 1997
8 114 163 396,9 817,9 2014
Среднее 110,3625 153,2875 382,6875 806,4 2064,875
Дисп. 166,29125 182,20696 786,82982 171,477143 2769,267857
Таблица Б.6 - Время обслуживания потока составных запросов с варьируемыми количеством составных запросов и временем поступления составного запроса клиента на вход нагрузочного СЭК-узла, и с фиксированными количеством подзапросов в составном запросе и временем обслуживания подзапроса в составном запросе логической группой СЭК-узлов (прогоны 1-3 - 4 СЭК-узла, прогоны 4-8 - 9 СЭК-узлов)
N прогона 100 запр 200 запр 500 запр 1000 запр 5000 запр
1 46,2 65,5 71 172,4 423,1
2 44,6 71 76,5 174,1 418,8
3 53,1 68,2 69,8 168 443
4 56,8 64,8 72,3 171,1 406,9
5 48,8 68 72 163,6 415
6 51 61 78,1 177,7 423,6
7 49,1 69,1 74,4 176 412,9
8 45,9 61,7 73,9 172,5 422,7
Среднее 49,4375 66,1625 73,5 171,925 420,75
Дисп. 16,71125 12,63125 7,8228571 20,0907143 114,6885714
Таблица Б.7 - Время обслуживания потока составных запросов с варьируемыми количеством составных запросов, временем поступления составного запроса клиента на вход нагрузочного СЭК-узла, количеством подзапросов в составном запросе и временем обслуживания подзапроса в составном запросе автономным СЭК-узлом
N прогона 100 запр 200 запр 500 запр 1000 запр 5000 запр
1 112,3 324,8 617,3 1672,2 3221,5
2 134,1 226,1 698,8 1983,9 3456,9
3 171 264,4 623,1 1723,1 2289,1
4 125,5 286,1 732,8 2024 3219,1
5 182,8 263,3 628,1 1918,1 3673,8
6 132 351,9 634,2 2076 3432,1
7 228,9 321,1 701 2111,3 3875,5
8 309,7 345,9 841,4 2341,8 4017
Среднее 174,5375 297,95 684,5875 1981,3 3398,125
Дисп. 4432,53982 2013,6743 5917,7184 46266,0971 283525,9221
Таблица Б.8 - Время обслуживания потока составных запросов с варьируемыми количеством составных запросов, временем поступления составного запроса клиента на вход нагрузочного СЭК-узла, количеством подзапросов в составном запросе и временем обслуживания подзапроса в составном запросе логической группой CDN-узлов (прогон 1 - 6 СЭК-узлов, прогоны 2-8 - 9 СЭК-узлов)
N прогона 100 запр 200 запр 500 запр 1000 запр 5000 запр
1 74,1 123,9 365,3 532,2 819
2 63,9 118,3 319,3 616,3 838,2
3 70 125,1 341 543,8 824,4
4 72,4 122 352,1 534,1 923
5 68,8 126,5 358,5 538 876,4
6 65,2 128,1 374,8 606 831,2
7 69,9 119,9 321,4 542,6 847,7
8 64,2 122,2 338,9 587,1 849,1
Среднее 68,5625 123,25 346,4125 562,5125 851,125
Дисп. 14,4826786 10,902857 398,21268 1208,92125 1161,567857
ПРИЛОЖЕНИЕ В. Программная реализация алгоритма взаимодействия
узлов СДД в ходе проведения аукциона
import sys
from random import randint import matplotlib.pyplot as plt import tkinter as tk from tkinter import ttk
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
class Node:
def _init_(self) -> None:
# предполагается, что перегрузке подвергается только один узел, остальные узлы имеют запас резервов
# количество запросов, которое узел может обслужить self.lbd = randint(2, 100)
# количество запросов, которое узел сейчас обслуживает self.buz = randint(0, self.lbd - 1)
# емкость хранилища self.cap = 100
# пустое место в хранилище self.emp = randint(1, self.cap)
# занятое место в хранилище self.vol = self.cap - self.emp
# место в хранилище, занятое данными ретроспективных запросов self.ret = randint(0, self.vol)
# доступное место в хранилище (вместе с ретроспективными данными)
self.avl = self.emp + self.ret
# пропускная способность каналов связи (для дальнейшего использования)
self.thr = 1
def _repr_(self):
return f"<Node({self.lbd}, {self.buz}, {self.cap},
{self.emp}, {self.ret})>"
class Generator:
def _init_(self, itr=10, prc=1.2, num=10) -> None:
self.itr = itr # количество итераций эксперимента self.prc = prc # коэффициент стоимости ретроспективных запросов
self.num = num # количество узлов
def auction(generator, nodes, request): # Модель аукциона # инициализация списка заявок от участников аукциона bids = [0 for _ in range(generator.num)] for idx, node in enumerate(nodes): if node.emp >= request:
# узел имеет достаточно свободной памяти для реплики данных
bids[idx] = (request + node.ret) // node.thr
elif node.avl >= request:
# узел имеет достаточно доступной (свободная + ретроспективная) памяти для реплики данных
bids[idx] = int((request - node.emp) * generator.prc + node.avl) // node.thr
sorted_bids = sorted([i for i in bids if i != 0])
winner_bid = sorted_bids[1] if len(sorted_bids) > 1 else "не состоялся"
# вторя выигрышная ставка или не один узел не готов полностью реплицировать данные.
# тогда аукцион надо повторять, разбив данные на несколько лотов return winner_bid
def p2p(generator, nodes, request):
# модель p2p механизма, когда данные перенаправляются следующему по порядку узлу
results = []
for _, node in enumerate(nodes): if node.emp >= request:
# следующий по порядку узел имеет достаточно свободной памяти для реплики данных
results.append((request + node.ret) // node.thr) break
elif node.avl >= request:
# следующий по порядку узел имеет достаточно доступной памяти для реплики данных
results.append(
int((request - node.emp) * generator.prc + node.avl)
// node.thr
)
break
# данные начали копировать следующему по порядку узлу, но он не смог полностью обслужить запрос
results.append(node.emp // node.thr) return sum(results)
def run_simulation(): try:
itr = int(iterations_entry.get()) prc = float(price_coeff_entry.get()) num = int(nodes_num_entry.get()) except ValueError:
result_label.config(text="Ошибка: Введите корректные числа") return
generator = Generator(itr, prc, num) auction_results = [] p2p_results = [] pre = 0
for _ in range(generator.itr):
nodes = [Node() for _ in range(generator.num)] request = randint(1, 100)
auction_result = auction(generator, nodes, request) p2p_result = p2p(generator, nodes, request)
if type(auction_result) == int:
auction_results.append(auction_result) else:
auction_results.append(0) p2p_results.append(p2p_result)
if type(auction_result) == int and auction_result < p2p_re-
sult:
pre += 1
if {pre} == 1:
end = "е" else:
end = "ax"
exp = "эксперимент" + end result_label.config(
text=f"В {pre} "+ exp + f" из {generator.itr} лучший результат показал аукцион" )
# plot results
plot_results(auction_results, p2p_results)
def plot_results(auction_results, p2p_results): fig, ax = plt.subplots()
ax.plot(auction_results, label="Аукцион") ax.plot(p2p_results, label="P2P") ax.set_xlabel("Количество операций") ax.set_ylabel("Результат")
ax.set_title("Сравнение аукционной модели и модели P2P") ax.legend()
for widget in graph_frame.winfo_children(): widget.destroy()
canvas = FigureCanvasTkAgg(fig, master=graph_frame) canvas.draw()
canvas.get_tk_widget().pack()
# UI setup root = tk.Tk()
root.title("Сравнение аукционной модели и модели P2P")
# Input Frame
input_frame = ttk.Frame(root, padding="10") input_frame.grid(row=0, column=0, sticky=(tk.W, tk.E))
iterations_label = ttk.Label(input_frame, text="Количество операций :")
iterations_label.grid(row=0, column=0, sticky=tk.W) iterations_entry = ttk.Entry(input_frame) iterations_entry.grid(row=0, column=1, padx=5)
price_coeff_label = ttk.Label(input_frame, text="Ценовой коэффициент :")
price_coeff_label.grid(row=1, column=0, sticky=tk.W) price_coeff_entry = ttk.Entry(input_frame) price_coeff_entry.grid(row=1, column=1, padx=5)
nodes_num_label = ttk.Label(input_frame, text="Количество узлов:") nodes_num_label.grid(row=2, column=0, sticky=tk.W) nodes_num_entry = ttk.Entry(input_frame) nodes_num_entry.grid(row=2, column=1, padx=5)
run_button = ttk.Button(input_frame, text="Запуск", command=run_simu-lation)
run_button.grid(row=3, column=0, columnspan=2, pady=10)
# Result Label
result_label = ttk.Label(root, text="") result_label.grid(row=1, column=0, pady=(0, 10))
# Graph Frame
graph_frame = ttk.Frame(root, padding="10") graph_frame.grid(row=2, column=0)
root.mainloop()
ПРИЛОЖЕНИЕ Г. Свидетельство о государственной регистрации
программы для ЭВМ
ПРИЛОЖЕНИЕ Д. Акт внедрения результатов диссертационного исследования от ООО «ПЛЮСПЭЙ»
ПРИЛОЖЕНИЕ Е. Акт внедрения результатов диссертационного исследования от Академии ФСО России
Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.