УДК 519.86
Е.О. Косоруков1, М.Г. Фуругян2
НЕКОТОРЫЕ АЛГОРИТМЫ РАСПРЕДЕЛЕНИЯ РЕСУРСОВ В МНОГОПРОЦЕССОРНЫХ СИСТЕМАХ*
В статье рассмотрена задача составления допустимого расписания с прерываниями в многопроцессорной системе в случае, когда заданы директивные интервалы, а длительности выполнения работ линейно зависят от количества выделенного им ресурса. Разработан псевдополиномиальный алгоритм, основанный на сведении исходной задачи к задаче о потоке минимальной стоимости.
Ключевые слова: расписание с прерываниями, распределение ресурсов, поток минимальной стоимости.
1. Постановка задачи. Рассматривается вычислительная система, состоящая из т идентичных процессоров. Имеется множество работ N = {1, 2,..., п}. Предполагается, что в каждый момент времени каждый процессор может выполнять не более одной работы, а каждая работа выполняется не более чем одним процессором. При выполнении работ допускаются прерывания и переключения с одного процессора на другой. Предполагается, что прерывания и переключения не сопряжены с временными затратами. Для работы г € N установлен директивный интервал (Ь^/г] (т.е. работа г может выполняться только в этом интервале). Помимо процессоров в системе имеется дополнительный ресурс невозобновляемого типа. Суммарное количество этого ресурса составляет К. Если работе г выделено г^ единиц дополнительного ресурса, то ее длительность составляет ^ = е^ — щг^ где
аг, г7 — заданные величины, щ > 0, с^ > 0, 0 ^ г7 < й^/щ. Таким образом, ti € [с^ — щг^, (¿¿], причем ^ — щЩ > 0. Требуется найти такое распределение ресурсов (г®, г®, • • •, при котором существует допустимое расписание (т. е. такое расписание, при котором каждая работа выполняется в своем директивном интервале), или установить, что такого распределения ресурсов не существует. При этом распределение ресурсов (г^Гд,... ,г°) должно удовлетворять ограничениям (1), (2). Кроме того, требуется найти минимальную величину Д дополнительного ресурса, при которой допустимое расписание существует.
Подобная задача для случая, когда дополнительный ресурс отсутствует, рассматривалась в [1] и была сведена к задаче о максимальном потоке в сети специального вида. Задача с произвольными процессорами и произвольными директивными интервалами рассматривалась в [2], а задача с произвольными процессорами и одинаковыми директивными интервалами — в [3]. В обеих этих работах дополнительный ресурс не рассматривался. Задача минимизации времени выполнения сетевого комплекса работ, когда длительности выполнения работ являются функциями от вектора распределения ресурсов, рассматривалась в [4] и была сведена к задаче нелинейного программирования.
2. Задача с одинаковыми директивными интервалами. В этом разделе предполагается, что директивные интервалы всех работ совпадают. Без ограничения общности можно считать, что ^ = О, /г = .Р, г € N. Как следует из [1], необходимым и достаточным условием существования допустимого расписания в этом случае является выполнение неравенства ^ ^ ^ т^, или ^ (с^ — щг^) ^ т^,
1 Факультет ВМиК МГУ, студ., e-mail: zkosorukovQgmail.com.
2 gjj- зав> сектором, к.ф.-м.н., e-mail: rtsQccas.ru.
* Работа выполнена при частичной финансовой поддержке гранта Президента РФ по поддержке ведущих научных школ НШ-693.2008.1.
ГЧ€[0,ГЧ], г =1,2,. ..,п,
(1) (2)
аггг ^ ^г ~ шР. Пусть ^ ^ — = В. Тогда задача заключается в поиске такого распределен ieN ieN
ления ресурсов (гх, Г2,... , гп), которое удовлетворяет системе ограничений
аггг > В1
геи геи
Гг е [ог = 1,2,... , га.
Таким образом, допустимое расписание существует тогда и только тогда, когда задача линейного программирования (3) имеет решение. Если задача (3) имеет решение (г^, г®,... , г^), то, определив ^ = (¡г — сцг®, г Е Л/", и применив алгоритм упаковки [1], найдем допустимое расписание. Вычислительная сложность алгоритма Кармаркара для решения задачи линейного программирования 0(п4'5 (пТ)), а алгоритма упаковки 0(п).
Определим минимальное количество Яш[п дополнительного ресурса, при котором допустимое расписание существует. Рассмотрим задачу линейного программирования
Я тт,
а{т{ ^ Б,
гедг
£ г, < д, (4)
гедг
Гг е [0,г~], г = 1,2,... ,71, Д ^ 0.
Задача (4)
имеет решение. Каждому ее решению {(г^, 7*2,...,г^), .Дтт} соответствует допустимое расписание, а — минимально допустимое количество дополнительного ресурса.
3. Задача с произвольными директивными интервалами. Теперь будем предполагать, что директивные интервалы (Ь^, /¿] произвольные. Покажем, что в этом случае исходная задача может быть сведена к задаче о потоке минимальной стоимости. По аналогии с тем, как это сделано в [1], построим потоковую сеть (7 = (V, А) (см. рисунок) с источником 5 и стоком I (V — множество узлов сети, А — множество дуг).
Потоковая сеть
Пусть у о < г/1 < ... < Ур-) р < 2 п, — все различные по величине значения /¿, г Е N. Определим V = и {Л, 12, • • • и • • • 5 ^п}? ГДе узел соответствует интервалу ^ = 1, 2,... а узел г^ — работе i Е N. Множество дуг А сети О определим следующим образом: (з,/?), ^ = 1,2,...,]?; г е N; в случае, если (у^-х, С (Ь^/г] (отметим, что для любых 1 ^ ] ^ и г Е ^ интервал либо не пересекается с интервалом (Ь^/г]? либо целиком лежит в нем); определим также возвратную дугу (£,$). Пусть Aj = ^ — — длина интервала Для каждой дуги определим три параметра: Ь, £7, С, где Ь — нижняя граница потока по дуге, и — верхняя граница потока по дуге, С — стоимость единицы потока по дуге. Параметры дуг сети (7 указаны в таблице.
Параметры дуг сети С
Дуга Ь и С
0 т А] 0
0 0
(wi,t) (¿г СЦ^Ч -1/о»
(*, в) 0 Е й 0
Теорема. Для существования допустимого расписания необходимо и достаточно существование в сети О циркуляции д, стоимость которой
ФКд-^йМ. (5)
гелг
Доказательство. 1. Необходимость. Пусть в рассматриваемой задаче существует допустимое расписание и пусть — величина дополнительного ресурса, выделенного работе г, а ^ = с^ — щг^ — длительность работы г. Тогда = (й — ^/щ, г € Nа суммарная величина дополнительного ресурса, необходимая для выполнения всего комплекса работ Ж, равна ^ (с^ — и)/щ ^ откуда следует
гелг
неравенство
(6)
г£ЛГ г£Аг
По аналогии с тем, как это сделано в [1], можно показать, что в сети О существует такая циркуляция д (т. е. поток, для которого условие сохранения выполнено в каждом узле сети С?, включая ИСТОЧНИК .3 и сток что
9и = и (7)
(да — величина потока по дуге (ыг^)). Стоимость с(д) этой циркуляции равна с(д) = ^ (~9а/щ)-
гелг
Из (6), (7) следует, что с(д) = ^ (—¿г/«г) ^ & — X) ^¿/«г; т-е. выполнено неравенство (5).
г^ i£N
2. Достаточность. Пусть в сети О существует циркуляция д, для которой выполнено неравенство (5). Тогда по аналогии с тем, как это сделано в [1], можно показать, что существует допустимое расписание, в котором длительность каждой работы г € N удовлетворяет равенству (7). Параметры дуг определены таким образом, что ^ € [с^ — щг^, (¿¿], а стоимость циркуляции д равна
Ф) = (-¿гМ). Из (5) следует, ЧТО (—"¿¿/«г) < -К - ((¿г/«г) И (¿г ~ ¿г)М < -й- ПОСКОЛЬКУ
г£ЛГ г£Аг г£Лг ге^
((¿г — ¿¿)/«г — эт0 величина дополнительного ресурса, выделяемого работе г, то из последнего неравенства следует, что суммарное количество дополнительного ресурса, требуемое для реализации допустимого расписания, не превосходит К. Теорема доказана.
Опишем алгоритм решения поставленной задачи, основанный на доказанной теореме. Шаг 1. Построить потоковую сеть О.
Шаг 2. Найти циркуляцию д минимальной стоимости в сети О (для этого можно применить, например, алгоритм дефекта [5]). Пусть с(д) — ее стоимость, а дц — величина потока по дуге (го^). Шаг 3. Если с(д) > К — ^ ^¿/«г; то допустимого расписания не существует. Если с(д) ^ К —
— д'г/щ-, то допустимое расписание существует. При этом величина дц потока по дуге го*) равна
гелг
величине процессорного времени, выделяемого работе г в интервале г € -/V; ] = 1, 2,... ,р. Для построения расписания в интервале 1:1 следует применить алгоритм упаковки, а для построения искомого расписания следует совместить расписания, построенные для всех интервалов у = 1, 2,... ,р.
Определим вычислительную сложность отдельных этапов и всего алгоритма. Сложность построения потоковой сети О составляет 0(п2), нахождения циркуляции минимальной стоимости с помощью
алгоритма дефекта 01 п4 ^ с^ ). Сложность построения расписания в интервале 1 ^ ] ^ 2п — 1,
V ¿елг /
равна 0(п). Таким образом, вычислительная сложность алгоритма есть 01 п4 с^
\ геИ
СПИСОК ЛИТЕРАТУРЫ
1. Танаев B.C., Гордон B.C., Шафранекий Я.М. Теория расписаний. Одностадийные системы. М.: Наука, 1984.
2. Federgruen A., Groenevel Н. Preemptive scheduling of uniform machines by ordinary network flow technique // Management Science. 1986. 32. N 3. P. 341-349.
3. Gonzales Т., Sahni S. Preemptive scheduling of uniform processor systems // J. Ass. Comput. Mach. 1978. 25. N 1. P. 92-101.
4. Давыдов Э.Г. Исследование операций. M.: Высшая школа, 1990.
5. Филлипс Д., Гарсиа-Диас А. Методы анализа сетей. М.: Мир, 1984.
Поступила в редакцию 14.01.09
УДК 517.518.85
В.А. Лапшин1
ОПРЕДЕЛЕНИЕ СРОЧНОЙ СТРУКТУРЫ ПРОЦЕНТНЫХ СТАВОК
Срочная структура процентных ставок, описываемая бескупонной кривой доходности, в развитых странах рассматривается как главный индикатор состояния финансового рынка, один из важнейших макроэкономических параметров и эталон для оценки ценных бумаг в других секторах рынка инструментов фиксированной доходности. В настоящей работе предлагается новый численный метод построения срочной структуры процентных ставок по котировкам группы облигаций однородного кредитного качества и ликвидности.
Ключевые слова: кривая доходности, экспоненциально-синусоидальные сплайны, разрывная замена времени, принцип максимума Понтрягина.
1. Введение. Срочная структура процентных ставок (бескупонная кривая доходности), лежащая в основе теории оценки активов с фиксированным доходом и являющаяся одним из наиболее дискуссионных вопросов проведения эффективной долговой и денежной политики, составляет предмет интенсивных зарубежных исследований уже более 30 лет. В России широко используется модифицированная кривая доходности к погашению, где вместо срока до погашения используют дюрацию, отвечающую плоской срочной структуре процентных ставок, а общепризнанной в мире модели построения кривой бескупонной доходности до сих пор не существует [1]. Тем не менее для ряда приложений необходима именно бескупонная кривая доходности. Например, ее необходимо использовать для оценки инвестиционных проектов, для оценки приведенной стоимости потока платежей, для задач ценообразования некоторых финансовых инструментов, таких, как облигации, векселя, процентные свопы и др.
Под облигацией будет пониматься долговое обязательство, расписание платежей по которому заранее известно (т. е. мы рассматриваем облигации с фиксированным купоном), обращающееся на вторичном рынке. В настоящей работе анализируются кривые, построенные по группе облигаций, имеющих равную степень рискованности (кредитный риск, связанный с неисполнением эмитентом своих обязательств) и ликвидности. В качестве упрощающих, но общепринятых предположений рассмотрим "идеальный" рынок, на котором торгуются облигации со всеми возможными номиналами и временами до погашения той же степени рискованности и ликвидности, что и данные.
Рассмотрим бескупонную облигацию с единовременной выплатой основного долга со временем до погашения Т и номиналом 1. Обозначим ее цену в текущий момент времени d(T). Эта зависимость называется функцией дисконтирования.
Задача определения срочной структуры процентных ставок непосредственно связана с задачей нахождения функции дисконтирования. Предполагается, что стоимость любой купонной облигации равна стоимости портфеля бескупонных облигаций с соответствующими сроками погашения. Тогда зависимость цены Р облигации от сроков г = 0,..., п, и объемов выплат Fj, г = 0,..., п, имеет вид
1 Факультет ВМиК МГУ, асп., e-mail: victor.lapshinQgmail.com.