ПОВЫШЕНИЕ ПРОИЗВОДИТЕЛЬНОСТИ РАСПРЕДЕЛЕННЫХ ИНФОРМАЦИОННЫХ СИСТЕМ ПОСРЕДСТВОМ ДИНАМИЧЕСКОЙ БАЛАНСИРОВКИ НАГРУЗКИ В.Б. Механов [email protected], А.А. Потапов [email protected] Пензенский государственный университет Современная информационная образовательная среда фактически представляет собой совокупность распределенных гетерогенных кластерных систем, как правило. Включающих в себя совокупность взаимосвязанных серверов обработки (СО), управляемых балансировщиком нагрузки (БН) и взаимодействующих с серверами баз данных (СБД) через диспетчер заданий (ДЗ) с целью удовлетворения запросов пользователей (рис. 1). Структуру на рис. 1 можно рассматривать как модель информационной сети отдельного образовательного учреждения, так и информационной образовательной сети более высокого уровня. Рис.1 – Структура кластерной системы Основой производительности любой распределенной вычислительной системы является степень оптимальности загрузки подсистем обработки данных при различных стохастических потоках запросов пользователей. При этом определяющим моментом для построения динамических алгоритмов балансировки нагрузки в вычислительном кластере является статистический характер потока запросов пользователей. В [1] показано, что при работе с информационно-справочными и поисковыми WEB-серверами потоки запросов подчиняются распределению Зипфа, описываемого в общем виде 1 ks f ( k ; s, N ) N формулой: , 1 n s n 1 где s 0 , N 1,2,3,..., k 0,1,2,...N . Алгоритмы балансировки нагрузки для таких входных потоков существуют и учитывают загруженность процессора, памяти и дисковой подсистемы [2]. Однако вышеупомянутый метод не учитывает время простоя узлов вычислительного кластера, вызванное обращениями к кластеру базы данных. В то же время, специфика информационных образовательных сетей заключается в том, что помимо стандартных информационно-поисковых операций на эти системы возлагаются и функции, связанные с автоматизацией управления. Это накладывает дополнительные ограничения на работу вычислительных кластеров и предъявляет дополнительные требования к алгоритмам динамической балансировки нагрузки. Поэтому, был разработан новый метод динамической балансировки нагрузки, позволяющий распределять поступающие в систему запросы с учетом динамически изменяющейся производительности вычислительных узлов, реализующих обращения к кластеру баз данных. В основу метода положена оценка весовых коэффициентов памяти, диска и процессора: Wi m em , Wi disk , Wi CPU , которые определяют степени гетерогенности согласно следующим формулам: n HM (Wavgmem Wi mem ) 2 i 1 n n ; HD (Wavgdisk Wi disk ) 2 i 1 n n ; HC (W i 1 CPU avg Wi CPU ) 2 n , disk CPU m em где Wavg , Wavg , Wavg - среднеарифметические величины весовых коэффициентов памяти, диска и процессора соответственно. Весовые коэффициенты производительности Wi m em , Wi disk , Wi CPU определяются как соотношение характеристики производительности i-го устройства (памяти/диска/процессора) и производительности самого быстрого соответствующего устройства. На примере диска имеем: Di , Wi disk max nj1 D j где Di – характеристика производительности накопителя на жестком магнитном диске определяемая как: 1 , Di d S i Ri disk Bi где Bidisk – пропускная способность диска, S i – среднее время поиска данных, Ri – среднее время вращения диска. Проведенный анализ потоков запросов в интегрированной автоматизированной информационной системе вуза показал, что статистическое распределение этих запросов также подчиняется распределению Зипфа. Поэтому для проверки степени эффективности предложенного метода было проведено аналитическое моделирование, при котором в качестве входного был использован указанный поток заявок, как наиболее соответствующий специфике запросов, посылаемых клиентами ИС. Результаты моделирования подтвердили эффективность предложенного метода балансировки нагрузки и позволили оптимизировать структуру кластерной системы. 1. Якоб Нильсен. Кривые Зипфа и популярность Web-сайтов. http://www.webmascon.com/topics/adv/7a.asp, 1997. 2. Xiao Qin, Hong Jiang, Yifeng Zhu, David R. Swanson «Dynamic Load Balancing for I/O-Intensive Tasks on Heterogeneous Clusters», The proceedings of the 2003 International Conference on High Performance Computing (HiPC03).