fix introduction
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
\anonsection{Введение}
|
||||
\label{sec:0_vvedenie} \index{0_vvedenie}
|
||||
|
||||
\hspace{0.47cm}
|
||||
В вычислительных системах с ограниченным количеством некоторого
|
||||
ресурса (например, оперативной памяти) при построении расписания
|
||||
вычислений важным критерием является пиковое (максимальное по всему
|
||||
расписанию) использование ресурса. В данной работе рассматривается
|
||||
задача построения однопроцессорного расписания с минимизацией
|
||||
этого критерия. Результат решения задачи может использоваться для
|
||||
оценки объема оперативной памяти, необходимого в проектируемой системе
|
||||
для выполнения заданного набора работ.
|
||||
|
||||
Входными данными задачи является ориентированный ациклический граф
|
||||
без петель и кратных ребер, в котором вершины задают работы, а ребра –
|
||||
зависимости между ними. Таким образом, входной граф задает условия
|
||||
частичного порядка на множестве работ. Каждой вершине в графе
|
||||
сопоставлено неотрицательное число – количество занимаемого
|
||||
соответствующей работой ресурса. При этом каждая работа занимает ресурс
|
||||
в момент начала своего выполнения и освобождает его в момент, когда
|
||||
последний из ее непосредственных потомков завершит выполнение.
|
||||
|
||||
Для входного графа необходимо построить расписание, минимизирующее пиковое использование ресурса в системе. Поскольку директивные сроки выполнения работ не заданы, и оптимизируемым критерием является пиковое использование ресурса, время выполнения работ не учитывается. В связи с этим расписание можно рассматривать как набор шагов, на каждом из которых выполняется одна работа.
|
||||
|
||||
На рис. \ref{fig:example} приведен граф и два возможных расписания для него. На вершинах графа указаны номера работ и количество занимаемого ресурса. В расписании под горизонтальной осью подписаны работы, которые выполняются на соответствующих шагах расписания, а вертикальной оси соответствует количество занимаемого ресурса в системе. Красные стрелки вверх в расписании обозначают занятие ресурса, а зеленые стрелки вниз -- освобождение.
|
||||
|
||||
Для нахождения значения целевой функции на каждом шаге вычисляется общее использование ресурса в системе, затем выбирается максимальное по всему расписанию -- пиковое значение. В расписании фигурными скобками обозначены и пронумерованы в порядке следования моменты подсчета используемого ресурса. Видно, что пиковое значение достигается после занятия ресурса работой, но до освобождения ей ресурса из-под работ предков.
|
||||
|
||||
На примере (рис. \ref{fig:example}), видно, что для одного и того же графа работ могут быть построены разные расписания. Так, в расписании 1 целевая функция равна 9 и достигается в момент выполнения работы $V_2$. В расписании 2 пиковое использование ресурса достигает 11 во время выполнения работ $V_3$ и $V_4$. Таким образом, в расписании 1 целевая функция меньше, чем в расписании 2.
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=\textwidth]{pictures/example.png}
|
||||
\caption{Граф работ и возможные расписания для него}
|
||||
\label{fig:example}
|
||||
\end{figure}
|
||||
|
||||
В работе \cite{SHUTKOV} для данной задачи предложен детерминированный алгоритм,
|
||||
строящий близкие к оптимальным расписания в случае, если входной граф
|
||||
является последовательно-параллельным. По мере добавления в граф ребер,
|
||||
нарушающих его последовательно-параллельную структуру, получаемые
|
||||
алгоритмом расписания по качеству (т.е. значению целевой функции)
|
||||
приближаются к результатам жадного алгоритма, что указывает на рост
|
||||
отклонения от оптимума.
|
||||
|
||||
В работе \cite{BALASHOV} для данной задачи предложен муравьиный алгоритм,
|
||||
превосходящий по качеству решения жадный алгоритм, однако в силу
|
||||
рандомизированности не гарантирующий качество решения даже на уровне
|
||||
верхней оценки отклонения от оптимума.
|
||||
|
||||
Актуальна разработка метода построения оптимального расписания, который
|
||||
не был бы ограничен конкретным классом структуры входного графа. В данной работе
|
||||
предложена схема сведения
|
||||
рассматриваемой задачи к задаче целочисленного линейного
|
||||
программирования (ЦЛП) \cite{SHEV}, реализована с
|
||||
использованием свободно доступного решателя ЦЛП и исследована по
|
||||
критерию масштабируемости.
|
||||
Reference in New Issue
Block a user