Современные  информационные технологии/1. Компьютерная инженерия

Жуаспаев Т.А., старший преподаватель

 

Костанайский государственный университет имени А.Байтурсынова, Республика  Казахстан

 

Проблема распределения нагрузки в информационно-телекоммуникационной сети

 

Основной задачей создания первых территориально распределенных сетей ЭВМ было предоставление удаленного доступа к вычислительным ресурсам. При создании и эксплуатации сети вычислительных машин имеет место проблема распределения нагрузки по вычислительным серверам. Эта проблема описана в ряде работ [1, 2, 3].

Но принятые методы, в частности [3], ориентируются на принцип распределения задач наиболее близким (с географической точки зрения) вычислительным узлам. В случае использования неоднородной сети на основе протоколов TCP/IP должны применяться иные подходы.

Пусть сеть базовых вычислительных серверов (в дальнейшем – серверов) имеет множество компьютеров А и множество задач X, которые предполагается выполнить в сети, и пусть А состоит из n серверов, а Х – из m независимых друг от друга задач.

Для каждого сервера aiΠА задана доступная мощность, измеряемая в вычислительных операциях в сутки. В соответствии с множеством А имеется вектор p=(p1,...pn) доступных вычислительных ресурсов всей сети. Известно, что стоимость единицы ресурса одинакова по всем серверам множества А (всем серверам сети) и что каж­дые два сервера ai и aj могут обмениваться между собой по одному кратчайшему маршруту длиной rij. В качестве меры длины маршрута будет определяться не физическое расстояние по каналам связи, а среднее время передачи пакета данных между узлами i и j. Два удаленных на тысячи километров узла могут быть связаны оптоволоконной линией, а связь с соседним сервером может проходить через телефонный канал с высокой степенью загрузки.

Время передачи rij берется в секундах. В соответствии с множеством А существует квадратная матрица R=||rij|| ранга времен передачи пакетов между узлами. Каждая задача хiÎ Х характеризуется требуемым ресурсом zi для ее выполнения в течение суток. По всем задачам множества Х существует вектор Z = (z1,...,zm) требуемых ресурсов.

По каждой задаче хiÎ Х дан вектор vi = (vi1,..., vin), определяющий интенсивность обмена (байт/сут) задачи xi с каждым сервером множества А. По всей совокупности задач имеем прямоугольную матрицу V размера m x n, составленную из векторов vi, 1£ i£ m. Каждую задачу множества Х можно выполнять на любом одном сервере множества, т. е. распараллеливание задач недопустимо.

Проблема состоит в распределении задач Х по серверам множества в соответствии с заданным функционалом и ограничениями на допустимые ресурсы сервера. Ниже приводится постановка  данной задачи  с учетом  специфики сетей TCP/IP.

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

Принимаем, что с точки зрения времени выполнения задачи все серверы множества А имеют одинаковые характеристики.

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

Очевидно, что  сеть ЭВМ, для которой время передачи данных минимально, требует при заданном р минимальной суммарной пропускной способности всех трактов (каналов связи) сети передачи данных.

При изложенных допущениях задача распределения математически формулируется следующим образом.

Даны множества А и X, представленные соответственно кортежами:

<А, р, R>   и   <Х, Z, V>,

где: р –вектор доступных вычислительных ресурсов,

Rматрица времен передачи данных между серверами;

Z вектор требуемых ресурсов задач;

V      матрица интенсивности обмена задач с серверами.

Требуется найти такое отображение b:Х ® А, чтобы средневзвешенное время передачи данных L(b) между задачами и абонентами принимало минимальное значение, т.е.: , где: ,

 определяет, закреплена ли задача хk за сервером аi,

 , при условии  для всех aΠ A.

Очевидно, что такая постановка также позволяет минимизировать средневзвешенное время передачи пакета данных между серверами.

Приведем одну из возможных числовых интерпретаций такой постановки.

Представим вектор Z в виде m-мерного вектор-столбца:

 , где zi - объем вычислений для задачи хi. Тогда функцию b можно представить характеристической функцией (характеристической матрицей) Н ее трафика, т. е. Н = ||hij||, i=1,...,m; j=1 ,..., n.

Пусть aj - номер некоторого сервера. Двоичный m-мерный вектор-столбец Нj, содержащий единицу в местах с номерами составляющих его задач, назовем характеристическим столбцом аj-го сервера. Скалярное произведение векторов  равно используемому объему ресурса сервера аj, а произведение HjZ (матричное) представляет собой вектор sj = (sj1,...,sjn), i-й компонент которого равен интенсивности обмена между серверами аi и аj. Определим в векторе sj sij=0 при i = j. Квадратную матрицу ранга n значений sij обозначим S.

Суммарный поток между серверами есть функция распределения b, определяемая выражением: , где vj – вектор-столбец матрицы V, а суммарный поток между задачами и абонентами не зависит от распределения b: . Тогда функционал

или

Основой определения h(b) служит штраф cij, за назначение задачи xi на сервер ajΠA. Если по ряду причин недопустимо назначение задачи хi на сервер аj, в частности zi > pj, то величина cij принимается равной заданной большой величине m. Совокупность значений cij составляет прямоугольную матрицу С штрафов за назначение задач Х на серверы А.

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

 

Литература:

1. Лозовский В. С. Семантические сети. – М.: ВИНИТИ, 1986.

2. Митин А. И., Пасхин Е. Н. Программно-методи­ческое обеспечение подготовки учебного материала для АОС. – М.: Высшая школа, 1988.

3. Наумов Б. Н. Системы и средства информатики. – М.: Наука, 1989.