Распределенная децентрализованная вычислительная среда для решения задач научных исследований и конструкторско-технологических процессов тема диссертации и автореферата по ВАК РФ 05.13.15, кандидат наук Петров, Алексей Анатольевич
- Специальность ВАК РФ05.13.15
- Количество страниц 191
Оглавление диссертации кандидат наук Петров, Алексей Анатольевич
Оглавление
Введение
1 Методы повышения эффективности использования вычислительных ресурсов для выполнения вычислительных задач
1.1 Параллельные вычисления
1.2 Распределенные вычисления
1.3 Архитектуры программного обеспечения для организации распределенных вычислений
1.3.1 Клиент-сервер
1.3.2 Трехуровневая архитектура
1.3.3 Сервис-ориентированная архитектура
1.3.4 Сравнение архитектур программного обеспечения для организации распределенных вычислений
1.4 Технологии создания программного обеспечения для организации распределенных вычислений
1.4.1 Сокеты Беркли
1.4.2 Удаленный вызов процедур
1.4.3 CORBA
1.4.4 Java Platform Enterprise Edition
1.4.5 Сервисная шина предприятия
1.4.6 Windows Communication Foundation
1.4.7 Анализ технологий создания программного обеспечения для организации распределенных вычислений
1.5 Современные реализации программного обеспечения для организации распределенных вычислений
1.5.1 BOINC
1.5.2 GPU: Global Processor Unit
1.5.3 Базис
1.6 Выводы
2 Модель программной платформы организации распределенных вычислений в локальной сети
2.1 Требований к программному комплексу организации распределенных вычислений
2.2 Концепция единой вычислительной среды
2.3 Способы распределения задач по узлам сети
2.3.1 Алгоритм случайного распределения задач
2.3.2 Алгоритм детерминированного распределения задач
2.3.3 Алгоритм пульсирующего кольца
2.3.4 Адаптивно-оптимальный алгоритм
2.4 Функциональная модель платформы единой вычислительной среды
2.4.1 Узел А-0
2.4.2 Узел А0
2.4.3 Узел А1
2.4.4 Узел А2
2.4.5 Узел А5
2.4.6 Узел А52
2.4.7 Узел А54
2.4.8 Узел А6
2.5 Модель протоколов взаимодействия
2.5.1 Протокол Узел - Узел
2.5.2 Протокол Узел - Пользовательское приложение
2.5.3 Протокол Узел - Вычислительный модуль
2.6 Структурная модель платформы единой вычислительной среды
2.6.1 Общая структура системы
2.6.2 Структура диспетчера
2.6.3 Структура пользовательского приложения
2.6.4 Структура вычислительного модуля
2.7 Выводы
3 Проект программной платформы единой вычислительной среды
3.1 Проектирование взаимодействия объектов
3.1.1 Основные сценарии функционирования
3.1.2 Сценарий запроса о выполнении задачи
3.1.3 Сценарий выбора узла и отправки задачи
3.1.4 Сценарий выполнения вычислительной задачи при помощи модуля
3.1.5 Сценарий возврата результата вычислений пользовательскому приложению
3.1.6 Сценарий включения узла в вычислительную среду
3.1.7 Сценарий выключения узла
3.1.8 Сценарий получения модуля узлом
3.1.9 Сценарий поиска узлов в сети
3.2 Проектирование структуры компонентов и классов
3.2.1 Алгоритм распределения задач по узлам сети
3.2.2 Результаты имитационного моделирования алгоритмов распределения задач по узлам сети
3.2.3 Поиск узлов в локальной сети
3.2.4 Канал взаимодействия пользовательского приложения и диспетчера
3.3 Выводы
4 Исследование прототипа программной платформы единой вычислительной среды
4.1 Методы исследования прототипа
4.2 Численное интегрирование методом прямоугольников
4.3 Определение площади фигуры методом Монте-Карло
4.4 Применение медианного фильтра к растровому изображению
4.5 Обобщение результатов тестирования
4.6 Выводы
Заключение
Список сокращений и условных обозначений
Список литературы
Приложение А - Текст программы моделирования алгоритмов распределения задач по узлам сети на языке имитационного моделирования GPSS
Приложение Б - Свидетельство о регистрации программы для ЭВМ
Приложение В - Руководство по созданию распределенных приложений для прототипа DistributedSystem
Приложение Г - Справки и акты об использовании результатов диссертационной работы
Рекомендованный список диссертаций по специальности «Вычислительные машины и системы», 05.13.15 шифр ВАК
Использование виртуализации для увеличения эффективности вычислении2020 год, кандидат наук Чжо За
Специальное математическое и программное обеспечение децентрализованного управления динамической реконфигурацией вычислительной системы на базе мобильных устройств2022 год, кандидат наук Рожкова Татьяна Сергеевна
Алгоритмы организации функционирования распределенных вычислительных систем с иерархической структурой2016 год, доктор наук Курносов Михаил Георгиевич
Средства управления ресурсами вычислительных систем в режиме обслуживания потока задач с нефиксированными параметрами2018 год, кандидат наук Перышкова Евгения Николаевна
Разработка системы запуска ресурсоемких приложений в облачной гетерогенной среде2013 год, кандидат технических наук Е Мьинт Найнг
Введение диссертации (часть автореферата) на тему «Распределенная децентрализованная вычислительная среда для решения задач научных исследований и конструкторско-технологических процессов»
Введение
Актуальность темы исследования. В настоящее время задача интеграции вычислительных и информационных ресурсов в единую среду и организация эффективного доступа к ним является одной из основных в современных информационных технологиях. Связано это, в первую очередь, с бурным развитием сетевых технологий и значительным увеличением скорости и надежности передачи данных в сетях. Существующие реализации направленных на интеграцию технологий варьируются от крупных бизнес-ориентированных решений, включающих в себя автоматизацию документооборота и управление технологическим процессом (Microsoft SharePoint [1], Microsoft Team Foundation [2], Ю-Предприятие [3], SCADA [4] и др.) до решений для широкого круга потребителей, направленных на упрощение обмена и хранения пользовательских данных (Apple iCloud [5], Dropbox [5], Microsoft OneDrive [5] и др.).
Характерной особенностью перечисленных систем является их ориентированность на информационный обмен, в то время как вопрос об интеграции именно вычислительных ресурсов в них либо не решен вовсе, либо имеет узкоспециализированную направленность и ориентирован на специальный класс прикладных задач. Вместе с тем, основной целью интеграции вычислительных ресурсов является повышение эффективности использования вычислительных ресурсов для выполнения вычислительных задач. В первую очередь это обусловлено постоянно повышающимися потребностями предприятий в проведении комплексной обработки больших объемов данных. В качестве примеров подобных потребностей могут служить:
- научные вычисления, проводимые в научных лабораториях и комплексах, в том числе тематическая обработка экспериментальных данных[6];
- имитационное моделирование различных систем[7];
- обработка большого объема графической, видео и аудио информации в различных целях, в том числе в системах безопасности [8];
- и другие.
Несомненно, одним из путей увеличения производительности компьютерных систем и уменьшения времени выполнения вычислительных задач является модернизация вычислительного оборудования. Однако подобное решение сопряжено с большими финансовыми затратами на его реализацию. Поэтому особенно остро стоит проблема эффективного использования доступных вычислительных ресурсов, особенно в свете их интеграции в вычислительную сеть. Таким образом, объектом диссертационного исследования является методы интеграция вычислительных ресурсов.
Двумя основными подходами к увеличению эффективности использования вычислительных ресурсов являются параллельные вычисления и распределенные вычисления. Эти подходы дополняют друг друга, при этом распределенные системы применимы для более широкого класса задач, отдельные части которых могут быть параллельными, за счет одновременного выполнения нескольких задач одновременно.
Отдельное место в проблеме интеграции вычислительных ресурсов занимает вопрос об интеграции ресурсов отдельной локальной корпоративной сети, так как локальные сети имеют следующие особенности:
- высокая скорость передачи данных по сравнению с глобальными сетями;
- высокая надежность передачи данных по сравнению с глобальными сетями;
- низкие задержки при передаче данных.
Существует множество методов и технологий, позволяющих распределить вычисления по узлам локальной сети, от самых простых (сокеты Беркли [9], удаленный вызов процедур [10]) до высокоразвитых и сложных (Java Enterprise Edition [11], Windows Communication Foundation [12]). Использование данных технологий позволяет разработчику приложения использовать вычислительные ресурсы нескольких компьютеров для решения своих прикладных задач.
Однако для этих технологий все вопросы по управлению вычислительным процессом - такие как приоритеты операций, выбор узла для вычисления, отслеживание ошибок и другие ложатся на плечи разработчика. Таким образом, увеличивается трудоемкость разработки программного обеспечения и, как следствие, длительность и стоимость разработки.
Очевидным решением данной проблемы является реализация автоматического управления вычислительным процессом. В связи с этим свое бурное развитие получили технологии «облачных вычислений» [13] и GRID [14]. Однако существующие реализации таких технологий являются централизованными, что существенно сказывается на отказоустойчивости подобных систем - неработоспособность сервера может сделать неработоспособной всю вычислительную сеть. Другими словами, проблемной ситуацией в объекте диссертационного исследования является потребность в эффективном методе интеграции вычислительных ресурсов отдельной локальной сети при отсутствии в настоящее время решений данной задачи, удовлетворяющих большинству требований практики.
Из вышесказанного следует, что актуальной является проблема создания распределенной платформы с децентрализованным управлением, обеспечивающей эффективную интеграцию доступных вычислительных ресурсов локальной сети. Подобная платформа должна, с одной стороны, обеспечивать необходимую гибкость и поддерживает широкий круг задач, повысить надежность системы в целом, с другой стороны, снимать с разработчиков приложений необходимость решать вопросы планирования и управления вычислительным процессом, что позитивно скажется на сроках и стоимости разработки распределенных приложений. Новая методология должна существенно повысить эффективность использования имеющихся вычислительных ресурсов и позволит увеличить сложность решаемых задач без использования дополнительного оборудования. Предметом диссертационного исследования является организация распределенных вычислений в локальной
сети путем реализации адаптивных протоколов распределения задач по процессорам и программной платформы с децентрализованным управлением.
Актуальность данной задачи подтверждается включением задачи «Информационно-телекоммуникационные системы» в список приоритетных направлений развития науки, технологии и техники в Российской Федерации [15] и внесением «Технологии и программное обеспечение распределенных и высокопроизводительных систем» в перечень критических технологий Российской Федерации [15].
Степень разработанности темы исследования. Основополагающие научные разработки в области современной локальной интеграции вычислительных ресурсов представлены в экспертном отчете «The Future Of Cloud Computing» Европейской Комиссии [13] и спецификации «Reference Model for Service Oriented Architecture 1.0» комитета OASIS [16]. В представленных работах авторы рассматривают различные глобальные пути решения проблемы интеграции вычислительных ресурсов. Рассматривая обозначенную проблему, авторы не затрагивают вопросов о практической реализации приведенных методологий, однако приходят к общим выводам о повсеместном распространении концептуальных идей, изложенных в работах. В российском научном сегменте по рассматриваемой теме стоит выделить результаты работы Центра параллельных вычислительных технологий СибГУТИ под руководством Хорошевского В.Г., в частности труды «Архитектура и программное обеспечение пространственно-распределённых вычислительных систем» и «Распределенные вычислительные системы и проблемы параллельного мультипрограммирования», в которых авторы подчеркивают актуальность распределенных гетерогенных систем и решают некоторые проблемы диспетчеризации вычислительных задач в децентрализованной среде. Также можно выделить работу «Математические модели и программные средства распределенных систем видеонаблюдения и идентификации объектов» Соловьева Б.А. В целом же, вопросы об эффективном объединении локальных вычислительных ресурсов в единую среду для решения
широкого круга задач мало освещены в практических разработках, что определяет необходимость проведения исследований в этой области.
Цели и задачи исследования. Цель работы: повышение эффективности интеграции вычислительных ресурсов локальной сети, а также эффективности проектирования, создания и эксплуатации распределенных приложений путем создания модели методов распределения вычислительных задач по узлам сети и реализации платформы, объединяющей локальные вычислительные ресурсы в единую вычислительную среду.
Для достижения поставленной цели необходимо решить следующие задачи:
1. Определение набора требований к платформе по эффективной интеграции вычислительных ресурсов.
2. Функциональное проектирование модели платформы.
3. Структурное проектирование модели платформы.
4. Разработка моделей методов распределения задач по узлам сети.
5. Оценка эффективности моделей методов распределения задач по узлам сети путем численного моделирования.
6. Проектирование взаимодействия элементов платформы.
7. Реализация прототипа платформы.
8. Исследование прототипа платформы для оценки эффективности распределения.
Научная новизна.
1. Разработаны адаптивные гибридные алгоритмы распределения вычислительных задач по узлам сети, реализующие в зависимости от нагрузки случайный или детерминированный метод доступа и обеспечивающие значительное увеличение скорости решения вычислительных задач.
2. Разработан численный метод оценки параметров модели распределения вычислительных задач по узлам сети, основанный на методе моделирования дискретных событий и переходов состояний, позволяющий оценить среднее время ожидания вычислительных задач,
среднюю задержку вычислительных задач, количество передаваемых данных и отношение «операции алгоритма/полезная работа».
3. Разработана программная платформа распределенных вычислений, реализующая принцип единой вычислительной среды с децентрализованным управлением, объединяющая вычислительные ресурсы локальной сети в единую среду и обеспечивающая существенное повышение степени использования доступных вычислительных ресурсов сети.
Теоретическая и практическая значимость работы.
1. Разработанные модель и программное обеспечение платформы по объединению вычислительных ресурсов локальной сети в единую вычислительную среду послужили основой для создания программного комплекса «DistributedSystem» - универсальной платформы для организации научных вычислений и решений широкого круга вычислительных задач.
2. Разработанные в диссертации гибридные алгоритмы распределения задач по узлам сети, сочетающие в себе алгоритмы случайного распределения задач и детерминированного распределения задач в зависимости от нагрузки могут быть использованы при реализации распределенных приложений различного масштаба.
3. Разработанная в диссертации модель платформы использована в проведении в научно-исследовательской работы «Разработка технологий активного и пассивного зондирования атмосферы земли в оптическом и радио диапазонах для создания распределенной информационно-вычислительной системы комплексной обработки, передачи и использования экспериментальных данных», проведенной на кафедре оптико-электронного систем и дистанционного зондирования Томского Государственного Университета (ТГУ) (шифр работы «2013-1.5-14-5150036-109»). Копия справки об использовании результатов диссертационной работы в НИР приведена в Приложении Г.
4. Программно-техническая система создания единой вычислительной среды «DistributedSystem», созданная в рамках диссертационного исследования, используется в Федеральном государственном бюджетном учреждении науки Институт оптики атмосферы им. В.Е. Зуева Сибирского отделения Российской академии наук (ИОА СО РАН) для решения вычислительных задач атмосферной оптики. Копия акта внедрения программно-технической системы приведена в Приложении Г
5. Теоретические результаты исследования используются в учебном процессе на факультете автоматизированных систем Томского Государственного Университета Систем Управления и Радиоэлектроники (ТУСУР) в рамках группового проектного обучения (ГПО). Копии актов об использовании результатов диссертационной работы приведены в Приложении Г.
Методология и методы исследования.
В качестве основных методов исследования выбраны методы системного анализа, метод имитационного моделирования и эксперимент, опирающийся на математический аппарат статистического анализа; метод функционального проектирования по методологии IDEF0: метод структурного проектирования; методы объектно-ориентированного проектирования; методы функционального и объектно-ориентированного программирования.
Защищаемые положения.
1. Математическая модель адаптивного гибридного (случайный/детерминированный) метода распределения задач по узлам сети, обеспечивающего сокращение временных затрат на инициализацию вычисления задачи (ожидание и распределение) в -2-3 раза.
2. Численный метод оценки параметров модели распределения вычислительных задач по узлам сети, основанный на методе моделирования дискретных событий и переходов состояний, позволяющий оценить среднее время ожидания вычислительных задач,
среднюю задержку вычислительных задач, количество передаваемых данных и отношение «операции алгоритма/полезная работа».
3. Программная платформа распределенной обработки информации, реализующая единую вычислительную среду, отличающаяся тем, что с целью повышения надежности и оперативности развертывания, использовано децентрализованное управление, обеспечивающая увеличение скорости решения задач в -3 раза при сравнении с однопоточными реализациями и на -30% при сравнении с многопоточными реализациями.
Достоверность и апробация результатов. Достоверность результатов диссертационной работы подтверждается экспериментальными данными, полученными при использовании программно-технических систем, созданных при непосредственном участии соискателя, имеющими как научную, так и практическую ценность. Достоверность результатов, выводов и положений диссертационной работы обеспечивается тщательной разработкой методик и алгоритмов создания и функционирования распределенных систем, а также практическим использованием результатов в научно-исследовательском и образовательном процессе Томского Государственного Университета (ТГУ) и Томского Государственного Университета Систем Управления и Радиоэлектроники (ТУСУР). Основные научные результаты работы докладывались и обсуждались на следующих конференциях: международная заочная научно-практическая конференция «Вопросы образования и науки: теоретический и методический аспекты» (г. Тамбов, 2012); международная научно-практическая конференция «Перспективные инновации в науке, образовании, производстве и транспорте '2012» (г. Одесса, 2012); XIV международная научно-техническая конференция «Измерение, контроль, информатизация» (г. Барнаул, 2013); международная научно-практическая конференция «Актуальные проблемы радиофизики» (г. Томск, 2013, 2015); международный симпозиум «Оптика атмосферы и океана. Физика атмосферы» (г. Новосибирск, 2014, г. Томск, 2015). Основное содержание диссертации
отражено в 14 научных работах, в том числе в 7 статьях в журналах, входящих в перечень ВАК, в 2 статьях в журналах, входящих в одстему Web Of Science.
Структура и объем работы. Диссертация изложена на 191 странице, содержит 80 рисунков и 7 таблиц, и состоит из введения, четырех разделов, заключения, списка сокращений и условных обозначений, списка литературы, включающего 74 наименования, и четырех приложений.
1 Методы повышения эффективности использования вычислительных ресурсов для выполнения вычислительных задач
Двумя основными подходами к увеличению эффективности использования вычислительных ресурсов являются параллельные вычисления и распределенные вычисления.
1.1 Параллельные вычисления
Параллельные вычисления — способ организации компьютерных вычислений, при котором программы разрабатываются как набор взаимодействующих вычислительных процессов, работающих параллельно (одновременно). Термин охватывает совокупность вопросов параллелизма в программировании, а также создание эффективно действующих аппаратных реализаций [18].
Традиционно параллельные системы делят на четыре класса [19]:
- ОКОД — Вычислительная система с одиночным потоком команд и одиночным потоком данных (SISD, Single Instruction stream over a Single Data stream).
- ОКМД — Вычислительная система с одиночным потоком команд и множественным потоком данных (SIMD, Single Instruction, Multiple Data).
- МКОД — Вычислительная система с множественным потоком команд и одиночным потоком данных (MISD, Multiple Instruction Single Data).
- МКМД — Вычислительная система с множественным потоком команд и множественным потоком данных (MIMD, Multiple Instruction Multiple Data).
Также параллельные системы можно разделить по принципу устройства памяти [19]:
- Системы с общей памятью. В данных системах несколько процессоров имеют общую оперативную память.
- Системы с распределенной памятью. Система содержит несколько процессоров, каждый имеет свою оперативную память. Для обеспечения обмена информацией процессоры соединены каналами связи.
- Гибридные системы. Представляют собой иерархию систем первый двух типов.
В настоящее время создано большое количество программных инструментов параллелизма. Ключевыми из них являются [20]:
- OpenMP — стандарт интерфейса приложений для параллельных систем с общей памятью.
- POSIX Threads — стандарт реализации потоков (нитей) выполнения.
- Windows API — многопоточные приложения для C++.
- PVM (Parallel Virtual Machine) позволяет объединить разнородный (но связанный сетью) набор компьютеров в общий вычислительный ресурс.
- MPI (Message Passing Interface) — стандарт систем передачи сообщений между параллельно исполняемыми процессами.
Использование параллельных вычислений для организации эффективного использования вычислительных ресурсов имеет ряд преимуществ. Прежде всего, параллельные вычисления имеют под собой тщательно исследованные и проработанные теоретические основы, включающие в себя архитектуры построения систем, параллельные алгоритмы, метрики оценок производительности систем параллельных вычислений. С другой стороны в распоряжении разработчика имеет множество проверенных временем инструментов для разработки параллельных программ.
Однако, несмотря на все достоинства параллельных вычислений, у них имеется ряд недостатков, которые накладывают серьезные ограничения на использования данного подхода. К таким недостаткам можно отнести, во-первых, тот факт, что не все алгоритмы обработки данных имеют возможность эффективного параллельного выполнения. К подобным алгоритмам с высокой долей последовательно выполняемых операций можно отнести алгоритмы,
основанные на рекуррентных формулах; алгоритмы, реализованные по принципу конечного автомата и др. Во-вторых, недостатком применения параллельных вычислений также является сложность при проектировании параллельных программ.
1.2 Распределенные вычисления
Распределенная система — это набор независимых компьютеров, представляющиеся их пользователям единой объединенной системой [21]. Распределенные вычисления не могут производиться на одной вычислительной машине, а параллельные вычисления могут производиться как на одной (многопоточность), так и на нескольких машинах. Возможность выполнения параллельных вычислений в распределенных системах и приводит к частому заблуждению, что это одно и тоже, однако это не так.
Распределенные вычисления обладают рядом преимуществ по сравнению с параллельными вычислениями:
- Распределенные системы способны решать значительно более широкий круг задач, включая параллельные и последовательные алгоритмы обработки данных. Эффективность последовательных вычислений достигается за счет одновременного решения многих задач [22].
- Возможность неограниченного наращивания производительности за счет простоты масштабирования [21].
- Кроссплатформенность. Слабосвязность компонентов распределенных систем позволяет создавать их в гетерогенной среде, в том числе на наборе узлов, управляемых разными операционными системами.
С точки зрения полномочий участников распределенной системы их можно разделить на централизованные и децентрализованные.
В централизованных распределенных системах доступом к ресурсам управляет сервер, который играет роль главного компьютера для всех остальных узлов распределенной системы. Основными архитектурами централизованных
распределенных систем являются клиент-сервер, трёхуровневая архитектура, облачные вычисления и GRID. Наиболее распространённым примером существующих реализаций подобных систем можно считать BOINC. Минус централизованных распределенных систем очевиден - неработоспособность сервера может сделать неработоспособной всю вычислительную сеть. Неработоспособным сервером следует считать сервер, производительности которого не хватает на обслуживание всех клиентов, а также сервер, находящийся на ремонте, профилактике и т.д. [23]
Децентрализованная распределенная система основана на равноправии её участников. Часто в такой системе отсутствуют выделенные серверы, а каждый узел является как клиентом, так и выполняет функции сервера. Данный тип распределенных систем лишен главного недостатка централизованных, позволяет сохранять работоспособность сети при любом количестве и любом сочетании доступных узлов [24]. Основной архитектурой децентрализованных распределенных систем является сервис-ориентированная архитектура, а примером реализации - Базис.
Второй по важности вопрос, связанный с построением распределенных систем - ориентированность на глобальные и локальные сети. Использование глобальных распределенных систем выглядит очень перспективно и позволяет использовать вычислительные мощности большого числа компьютеров. Однако это накладывает серьезное ограничение на круг задач, решаемых распределенной системой. Основными препятствиями являются нестабильность, плохая предсказуемость времени отклика на запрос и низкие скорости передачи данных. Распределенная система, ориентированная на использование в глобальных сетях, вынуждена учитывать данные препятствия в используемых алгоритмах распределения, что в значительной мере увеличивает время обработки вычислительных задач и не позволяет эффективно организовать вычисления с интенсивным обменом информацией между процессорами, выполняющими отдельные подзадачи [25]. Использование же локальной сети лишает
распределенную систему данного недостатка и существенно расширяет круг задач, которые данная система способна эффективно решать.
1.3 Архитектуры программного обеспечения для организации
распределенных вычислений
1.3.1 Клиент-сервер
Клиент-сервер (англ. Client-server) - вычислительная или сетевая архитектура, в которой задания или сетевая нагрузка распределены между поставщиками услуг (сервисов), называемыми серверами, и заказчиками услуг, называемыми клиентами. Функциональные части системы взаимодействуют по схеме «запрос-ответ». Если рассмотреть две взаимодействующие части этого комплекса, то одна из них (клиент) выполняет активную функцию, т. е. инициирует запросы, а другая (сервер) пассивно на них отвечает [26]. Упрощенная схема архитектуры представлена на рис. 1.1.
Рисунок 1.1 - Схема архитектуры «Клиент-сервер»
Такая архитектура позволяет распределить функции вычислительной системы между несколькими независимыми компьютерами в сети, хранить все данные на сервере, защищенные от несанкционированного доступа, объединять различных клиентов для решения одной задачи.
Однако существенным недостатком такой архитектуры является асимметрия системы, в результате которой нагрузка на сервер всегда выше, чем на остальные процессоры сети. Кроме того, эксплуатация системы требует наличия высококвалифицированных специалистов - системных администраторов, обеспечивающих эффективную работоспособность. Что касается надежности системы, неработоспособность сервера может сделать неработоспособной всю вычислительную сеть [26].
1.3.2 Трехуровневая архитектура
Трехуровневая архитектура есть разновидность архитектуры клиент-сервер, в которой функция обработки данных вынесена на один или несколько отдельных серверов. Это позволяет разделить функции хранения, обработки и представления данных для более эффективного использования возможностей серверов и клиентов [27]. Пример трехуровневой архитектуры приведен на рисунке 1.2.
клиент1 клиент2 клиентЗ
Рисунок 1.2 - Пример трехуровневой архитектуры
В трехуровневой архитектуре можно выделить следующие составные части:
- Клиент - это интерфейсный (обычно графический) компонент, который представляет первый уровень, собственно приложение для конечного пользователя. Первый уровень не должен иметь прямых связей с базой данных (по требованиям безопасности), быть нагруженным основной бизнес-логикой (по требованиям масштабируемости) и хранить состояние приложения (по требованиям надежности). На первый уровень может быть вынесена и обычно выносится простейшая бизнес-логика: интерфейс авторизации, алгоритмы шифрования, проверка вводимых значений на допустимость и соответствие формату, несложные операции (сортировка, группировка, подсчет значений) с данными, уже загруженными на терминал.
- Сервер приложений располагается на втором уровне. На втором уровне сосредоточена большая часть бизнес-логики. Вне его остаются фрагменты, экспортируемые на терминалы (см. выше), а также погруженные в третий уровень хранимые процедуры и триггеры.
Похожие диссертационные работы по специальности «Вычислительные машины и системы», 05.13.15 шифр ВАК
Средства архитектурно-ориентированной оптимизации выполнения параллельных программ для вычислительных систем с многоуровневым параллелизмом2018 год, кандидат наук Кулагин Иван Иванович
Математическое и программное обеспечение процессов динамической балансировки нагрузки в распределенных облачных вычислениях2020 год, кандидат наук Ходар Алмосана Ахмад
Методы повышения эффективности имитационного моделирования в задачах разработки распределенных АСУ2006 год, доктор технических наук Олзоева, Сэсэг Ивановна
Инструментальный комплекс для разработки и применения гетерогенных распределенных вычислительных сред2009 год, кандидат технических наук Корсуков, Александр Сергеевич
Метод, алгоритм и устройство расположения задач в реконфигурируемых вычислительных системах2022 год, кандидат наук Масюков Илья Игоревич
Список литературы диссертационного исследования кандидат наук Петров, Алексей Анатольевич, 2017 год
Список литературы
1. Майкл, Н. Microsoft SharePoint 2010. Полное руководство [Текст] / Н. Майкл, С. Колин. - М.: Вильямс, 2011. - 800 с.
2. Application Lifecycle Management with Visual Studio Team Foundation Server // Microsoft Development Network. - 2013. -(https://msdn.microsoft.com/ru-ru/library/fda2bad5.aspx?f=255&MSPPError=-2147217396).
3. Бойко, Э.В. 1С: Предприятие 8.0. Универсальный самоучитель [Текст] / Э.В. Бойко. - М.: Омега-Л, 2010. - 227 с.
4. Boyer Stuart A. SCADA Supervisory Control and Data Acquisition [Текст] //
A. Boyer Stuart // USA: ISA - International Society of Automation. - 2010. -179 c.
5. Archambault, M. Battle of the cloud storage: OneDrive vs. iCloud vs. Dropbox vs. Google Drive / M. Archambault // WinBeta News. - 2015. -(http://www.winbeta.org/news/battle-cloud-storage-onedrive-vs-icloud-vs-dropbox-vs-google-drive-0).
6. Шовенгердт, Р.А. Дистанционное зондирование. Модели и методы обработки изображений [Текст] / Р.А. Шовенгердт. - М.: Техносфера, 2010. - 560 с.
7. Строгалев, В. П. Имитационное моделирование [Текст] / В.П. Строгалев, И.О. Толкачева - М.: МГТУ им. Баумана, 2008.
8. Ерош, И.Л. Обработка и распознавание изображений в системах превентивной безопасности: Учебное пособие / И.Л. Ерош, М.Б. Сергеев, Н.В. Соловьев - СПб.: ГУАП, 2006. - 153 с.
9. Hall, B. Beej's Guide to Network Programming. Using Internet Sockets /
B. Hall // Beej.us 64 Webpage v2. - 2012. - (http://beej.us/guide/bgnet/output/ print/bgnet_A4 .pdf).
10. Marshall, D. Remote Procedure Calls (RPC) / D. Marshall // David Marshall's Home Page. - Cardiff School of Computer Science & Informatics. - 1999. -(http://www.cs.cf.ac.uk/Dave/C/node33.html).
11. Гупта, А. Java EE 7. Основы [Текст] / А. Гупта - М.: Вильямс, 2014. - 336 с.
12. WCF 4: Windows Communication Foundation и .NET 4 для профессионалов [Текст] / П. Сибаро [и др.] - М.: Вильямс, 2011. - 464 с.
13. Jefferey, K. The future of cloud computing [Текст] / K. Jefferey, B. NeideckerLutz // Cloud Computing Expert Group Report. - 2009.
14. Buyya, R. Market-Oriented Grid and Utility Computing [Текст] / R. Buyya, K. Bubendorfer. - WILEY, 2009. - 643 c.
15. Об утверждении приоритетных направлений развития науки, технологии и техники в Российской Федерации и перечня критических технологий Российской Федерации: указ Президента Российской Федерации от 7 июля 2011 г. №899 // Российская газета. - 2011.
16. Reference Model for Service Oriented Architecture 1.0 // OASIS Technical Committees. - 2006. - (https://www.oasis-open.org/committees/download.php/ 19679/soa-rm-cs.pdf).
17. Соловьев, Б.А. Математические модели и программные средства распределенных систем видеонаблюдения и идентификации объектов [Текст]: дис. на соиск. степ. канд. техн. наук : 05.13.18, 05.13.11 / Б.А. Соловьев; Томский государственный университет систем управления и радиоэлектроники. - Томск, 2005. - 189 л.
18. Михалевич, В.С. Словарь по кибернетике [Текст] / В.С. Михалевич. -Киев: Главная редакция Украинской Советской Энциклопедии имени М. П. Бажана, 1989. - 751 с. - С. 48.
19. Воеводин, В.В. Параллельные вычисления [Текст] / В.В. Воеводин, Вл. В. Воеводин. - СПб.: БХВ-Петербург, 2004. - 608 с.
20. Немнюгин, С. Параллельное программирование для многопроцессорных систем [Текст] / С. Немнюгин, О. Стесик - СПб.: БХВ-Петербург, 2002. -400 с.
21. Таненбаум, Э. Распределенные системы. Принципы и парадигмы [Текст] / Э. Таненбаум, М. ван Стеен. - СПб:. Питер, 2003. - 877 с.
22. Andrews, G. R. Foundations of Multithreaded, Parallel, and Distributed Programming [Текст] / Gregory R. Andrews - Addison-Wesley, 2000. - 664 c.
23. DAA: Distributed Application Architecture // Sun Microsystems. - 2009. -(http://java.sun.com/developer/Books/jdbc/ch07.pdf).
24. Crowcroft, J. Peer-to-Peer Systems and the Grid / J. Crowcroft [и др.] -Cambridge: University of Cambridge Computer Laboratory, 2003. -(https://www.cl.cam.ac.uk/teaching/2003/AdvSysTop/grid-p2p-paper.pdf).
25. Демичев, А.П. Введение в грид-технологии / А.П. Демичев, В.А. Ильин,
A.П. Крюков. - М.: НИИЯФ МГУ, 2007.
26. Коржов, В. Многоуровневые системы клиент-сервер [Текст] / В. Коржов // Сети. - 1997. - №6. - С. 72-75.
27. Ramirez, A.O. Three-Tier Architecture [Текст] / A.O. Ramirez // Linux Journal. - Belltown Media, 2000. - №75.
28. Bell, M. Service-Oriented Modeling (SOA): Service Analysis, Design, and Architecture [Текст] / M. Bell. - Wiley, 2008. - 384 с.
29. Таненбаум, Э. Компьютерные сети [Текст] / Э. Таненбаум. - СПб.: Питер, 2003. - 4-е издание. - 992 с.
30. Олифер, Н.А. Сетевые операционные системы [Текст] / Н.А. Олифер,
B.Г. Олифер. - СПб.: Питер, 2009. - 2-е издание. - 672 с.
31. Slama, D. Enterprise CORBA [Текст] / D. Slama, P. Russell, J. Garbis -Prentice Hall Ptr, 1999. - 464 с.
32. Аншина, М. Симфония CORBA [Текст] / М. Аншина // Открытые системы. - 1998. - №3. - С. 32-34.
33. Семихатов, С. Технологии WWW, Corba и Java в построении распределенных объектных систем / С. Семихатов // Архив статей каф. ИИС, НТУ ХПИ. - 1999. - (http://khpi-iip.mipk.kharkiv.edu/library/extent/ prog/msc/www.html).
34. Браун, К. Создание корпоративных Java-приложений для IBM WebSphere [Текст] / К. Браун, Г. Крейг, Г. Хестер. - М.: Кудиц-образ, 2005. - 860 с.
35. Шаппел, Д. А. ESB - Сервисная Шина Предприятия [Текст] / Дэвид А. Шаппел. - СПб.: БХВ-Петербург. - 2008.
36. Christudas, B.A. Service Oriented Java Business Integration: Enterprise Service Bus integration solutions for Java developers [Текст] / B.A. Christudas - Packt Publishing, 2008. - 436 с.
37. Резник, С. Основы Windows Communication Foundation для .NET Framework 3.5 [Текст] / С. Резник, Р. Крейн, К. Боуэн. - М.: ДМК пресс, 2008. - 480 с.
38. Попов, С. Весь мир как суперкомпьютер [Текст] / С. Попов // Троицкий вариант - Наука. - Троицк: Тровант, 2012. - №16(110).
39. BOINC combined - Detailed stats // BOINC Stats. - 2015. -(http: //boincstats .com/en/stats/-1 /proj ect/detail).
40. Research and Infrastructure Development for Public-Resource Scientific Computing // The National Science Foundation. - 2004. - (http://www.nsf.gov/ awardsearch/showAward.do?AwardNumber=0221529).
41. SCI: NMI Development for Public-Resource Computing and Storage // The National Science Foundation. - 2005. - (http://www.nsf.gov/awardsearch/ showAward.do?AwardNumber=043 8443).
42. SDCI NMI Improvement: Middleware for Volunteer Computing // The National Science Foundation. - 2005. - (http://www.nsf.gov/awardsearch/ showAward.do?AwardNumber=0721124).
43. GPU About // GPU Wiki. - 2007. - (http://www.gpu-grid.net/wiki/ index.php?title=GPU: About).
44. Соловьев, Б.А. Компоненты системы безопасности [Текст] / Б.А. Соловьев, В.Т. Калайда, А.И. Елизаров // Доклады ТУСУРа. - 2009. -№1(19). - С. 193-200.
45. Кузнецов, С.Н. Методика тестирования каналов связи Ethernet [Текст] / С.Н. Кузнецов, С.Ю. Поляков // Технологии и средства связи. - 2005. -№4.
46. Ватаманюк, А.И. Апгрейд, ремонт и обслуживание компьютера [Текст] / А.И. Ватаманюк. - СПб.:Питер, 2008.
47. Understanding measures of supercomputer performance and storage system capacity // Indiana University Knowledge Base. - 2014. - (https://kb.iu.edu/d/ apeq).
48. System Engineering Fundamentals // Department of defense. Systems management college. - Defense acquisition university press. - 2001. -(http://ocw.mit.edu/courses/aeronautics-and-astronautics/16-885j-aircraft-systems-engineering-fall-2005/readings/sefguide_01_01.pdf).
49. Методология функционального моделирования IDEF0 [Текст]: руководящий документ // Госстандарт России. - 2000.
50. Калянов, Г.Н. CASE структурный системный анализ (автоматизация и применение) [Текст] / Г.Н. Калянов. - М.: Издательство «ЛОРИ». - 1996. - 242 с.
51. Bell, D. UML basics: The sequence diagram / D. Bell // IBM developerWorks. - IBM Corportaion. - 2004. - (http://www.ibm.com/ developerworks/rational/library/3101 .html).
52. Объектно-ориентированный анализ и проектирование с примерами приложений [Текст] / Г. Буч [и др.] - М.: Вильямс, 2010. - 720 с.
53. Буч, Г. UML. Руководство пользователя [Текст] / Г. Буч, Д. Рамбо, А. Якобсон. - М.: ДМК пресс, 2001. - 432 с.
54. Singleton Design Pattern - An introspection and best practices // IdioTechie. -2013. - (http://idiotechie.com/singleton-design-pattern-an-introspection-and-best-practices/).
55. Кузнецов, Н. Шаблон проектирования Producer-Consumer / Н. Кузнецов // Intel Developer Zone. - 2011. - (https://software.intel.com/ru-ru/articles/ producer-consumer).
56. Cohen, T. Better Construction with Factories / T. Cohen, J. Gil // Journal of Object Technology. - 2002. - (http://tal.forum2.org/static/cv/Factories.pdf).
57. Кудрявцев, Е.М. GPSS World. Основы имитационного моделирования различных систем [Текст] / Е.М. Кудрявцев. - М.: ДМК пресс, 2004 - 318 с.
58. Intel® Core™ i5-2500K Processor (6M Cache, up to 3.70 GHz) // Intel ARK. - 2013. - (http://ark.intel.com/ru/products/52210).
59. Active Directory Architecture // Microsoft TechNet. - 2015. -(https://technet.microsoft.com/ru-ru/library/bb727030.aspx).
60. Haugdahl, J.S. Inside NetBIOS [Текст] / J.S. Haugdahl. - Architecture Technology Corp, 1990.
61. Использование команды NET VIEW для просмотра общих ресурсов // Microsoft Support. - 2007. - (https://support.microsoft.com/ru-ru/kb/141229).
62. Plummer, D.C. An Ethernet Address Resolution Protocol: RFC826 / D.C. Plummer. - Network Working Group, 1982. - (https://tools.ietf.org/html/ rfc826).
63. View the Address Resolution Protocol (ARP) cache // Microsoft Technet. -2005. - (https://technet.microsoft.com/en-us/library/cc786759%28WS.10%29 .aspx)
64. About Messages and Message Queues // Microsoft Developer Network. -2015. - (https://msdn.microsoft.com/en-us/library/ms644927(VS.85).aspx).
65. Named Pipes // Microsoft Developer Network. - 2015. -(https://msdn.microsoft.com/en-us/library/aa365590.aspx).
66. Marshal, D. IPC: Shared Memory / D. Marshal // Cardiff School of Computer Science & Informatics. - 1999. - (http://www.cs.cf.ac.uk/Dave/C/ node27.html).
67. Turkanis, J. Memory-Mapped Files / J. Turkanis // Boost. - CodeRage. - 2008. - (http://www.boost.org/doc/libs/1_40_0/libs/iostreams/doc/classes/ mapped_file.html).
68. Varieties of Ethernet // Networkguruz. - 2008. -(http://www.networkguruz.com/ethernet/varieties-of-ethernet/).
69. Alchemi - Plug & Play Desktop Grid Computing // Alchemi .NET Grid Computing Framework Homepage. - 2006. -(http: //www.cloudbus .org/~alchemi/).
70. Что такое Microsoft Azure? // Microsoft Azure. - 2015. -(http://azure.microsoft.com/m-ru/overview/what-is-azure/).
71. Каханер, Д. Численные методы и программное обеспечение [Текст] / Д. Каханер, К. Моулер, С. Нэш - М.: Мир, 2001. - 575 с.
72. Metropolis, N. The Monte Carlo Method [Текст] / N. Metropolis, S. Ulam // Journal of the American Statistical Association. - 1949. - №247. - С. 335-341.
73. Бусленко, Н.П. Метод статистического моделирования [Текст] / Н.П. Бусленко. - М.: Статистика. - 1970 г. - 133 с.
74. Прэтт, У. Цифровая обработка изображений [Текст] / У. Прэтт. -М.: Мир, 1982. - Кн. 2. - 480 с.
Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.