- •2. Решение задач кластеризации с помощью сетей Кохонена.
- •3. Язык uml
- •4. Моделирование бизнес-процессов
- •5.Обратные связи
- •6. Основные организационные структуры
- •7. Интерфейс графических устройств cdi. Кисть, карандаш, примитивы.
- •8. Понятие ресурса. Ресурс меню, курсор, пиктограмма.
- •9. Модальные и не модальные панели диалога.
- •10 Формы записи алгоритмов в визуальной среде программирования.
- •11. Этапы проектирования программной системы в визуальной среде программирования.
- •12. Визуальное объектно-ориентированное программирование. Инкапсуляция, наследование, полиморфизм.
- •Инкапсуляция
- •Наследование
- •Полиморфизм
- •13. Схема работы web-приложения и web-браузера по протоколу http: бщий вид запроса и ответа http, метод, представление, заголовки запроса, ответа и представления
- •14. Методы http get и post, понятие безопасного и идемпотентного метода, заголовки запроса http: Host, Accept, User-Agent и Referer
- •15. Файловая система procfs
- •16. Средства командной строки по управлению учетными записями пользователей в Linux
- •17. Команда man Источники справочной информации
- •Страницы интерактивного руководства man
- •18. Односторонние функции. Псевдослучайные генераторы.
- •19. Умножение на основе классов вычетов
- •20. Избыточное кодирование
- •Балансировка вычислительной нагрузки Причины возникновения несбалансированной нагрузки
- •Статическая и динамическая балансировки
- •Постановка задачи динамической балансировки
- •Методология практического решения задачи балансировки
- •Оценка загрузки
- •Инициализация балансировки загрузки
- •Принятие решений в процессе балансировки
- •Перемещение объектов
- •Архитектура подсистемы балансировки
- •23. Распределенное хранение информации. Распределенные базы данных. Правила Дейта для распределенных бд. Фрагментация. Репликация. Протокол двухфазной фиксации транзакций.
- •Фрагментация
- •Репликация
- •Схемы владения данными в распределенной бд
- •24. Волновые алгоритмы распространения информации. Требования к волновому алгоритму. Алгоритм для кольцевой структуры. Алгоритм для дерева. Алгоритм голосования.
- •Initial
- •Initial
- •25. Алгоритмы выбора сайтов (координаторов). Алгоритм смещения. Выборы с помощью алгоритма для деревьев. Алгоритмы выбора для кольцевых структур (Лелана, Чанга-Робертса).
Балансировка вычислительной нагрузки Причины возникновения несбалансированной нагрузки
Проблема балансировки вычислительной нагрузки распределённого приложения возникает по той причине, что:
структура распределенного приложения неоднородна, различные логические процессы требуют различных вычислительных мощностей;
структура вычислительного комплекса (например, кластера), также неоднородна, т.е. разные вычислительные узлы обладают разной производительностью;
структура межузлового взаимодействия неоднородна, т.к. линии связи, соединяющие узлы, могут иметь различные характеристики пропускной способности.
Статическая и динамическая балансировки
Следует различать статическую и динамическую балансировки.
Статическая балансировка выполняется до начала выполнения распределенного приложения. Очень часто при распределении логических процессов по процессорам используется опыт предыдущих выполнений, применяются генетические алгоритмы. Однако предварительное размещение логических процессов по процессорам (компьютерам) не даёт эффекта.
Это объясняется тем, что:
Может измениться вычислительная среда, в которой происходит выполнение приложения, какой либо вычислительный узел может выйти из строя.
Вычислительный узел, на котором выполняется распределенное приложение, занят ещё и другими вычислениями, доля которых со временем может возрасти.
Так или иначе, выигрыш от распределения логических процессов по компьютерам с целью выполнения параллельной обработки становится неэффективным.
Динамическая балансировка предусматривает перераспределение вычислительной нагрузки на узлы во время выполнения приложения. Программное обеспечение, реализующее динамическую балансировку, определяет:
загрузку вычислительных узлов;
пропускную способность линий связи;
частоту обменов сообщениями между логическими процессами распределенного приложения и др.
На основании собранных данных как о распределенном приложении, так и вычислительной среде) принимается решение о переносе логических процессов с одного узла на другой.
Постановка задачи динамической балансировки
Цель балансировки загрузки может быть сформулирована следующим образом:
Исходя из набора задач, включающих вычисления и передачу данных, и сети компьютеров определенной топологии, найти такое распределение задач по компьютерам, которое обеспечивает примерно равную вычислительную загрузку компьютеров и минимальные затраты на передачу данных между ними.
Представим распределенное приложение в виде графа. Пусть Gp = {V, E}, V –множество вершин (задачи распределенного приложения), E – множество дуг графа – связи между задачами распределенного приложения. Пусть TM – множество моделей распределенных приложений, Gp TM.
Задача балансировки ставится как задача отображения неизоморфных связных графов, B: TM NG, где TM – множество графов моделей, NG – множество графов – конфигураций компьютерной сети. Граф G NG , G = {C, Ed}, определяется множеством вычислительных узлов C и множеством ребер Ed, обозначающих линии связи. Можно рассматривать NG как суперграф, содержащий все возможные (допустимые) графы G в качестве подграфов.
Таким образом, множество графов задач должны быть оптимальным образом отображено на множество графов вычислительной системы.