Научная статья на тему 'Оценка сходимости алгоритма имитации отжига для задачи построения многопроцессорных расписаний'

Оценка сходимости алгоритма имитации отжига для задачи построения многопроцессорных расписаний Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
268
37
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОПТИМИЗАЦИЯ / OPTIMIZATION / ПОСТРОЕНИЕ РАСПИСАНИЙ / ВСТРОЕННЫЕ СИСТЕМЫ / EMBEDDED SYSTEMS / МЕТОД ИМИТАЦИИ ОТЖИГА / SIMULATED ANNEALING / СТРУКТУРНЫЙ СИНТЕЗ / МНОГОПРОЦЕССОРНЫЕ СИСТЕМЫ / MULTIPROCESSOR SYSTEMS / SCHEDULING / CO-DESIGN

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Зорин Д. А.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Зорин Д. А.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Оценка сходимости алгоритма имитации отжига для задачи построения многопроцессорных расписаний»

УДК 519.612:632.4 Д. А.Зорин1

ОЦЕНКА СХОДИМОСТИ АЛГОРИТМА ИМИТАЦИИ ОТЖИГА

ДЛЯ ЗАДАЧИ ПОСТРОЕНИЯ МНОГОПРОЦЕССОРНЫХ РАСПИСАНИЙ

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

Ключевые слова: оптимизация, построение расписаний, встроенные системы, метод имитации отжига, структурный синтез, многопроцессорные системы.

1. Введение. В работе рассматривается задача построения вычислительных систем (ВС), использующих наименьшее возможное число аппаратных ресурсов для выполнения прикладной программы за время, не превышающее заданного. Задачи такого типа возникают при проектировании систем реального времени (РВ), где есть ограничения на время выполнения программы, из-за которых появляется необходимость запуска программы параллельно на нескольких процессорах [1]. В условиях ограниченности физических ресурсов целесообразно минимизировать число используемых в системе процессоров. Эта задача может возникнуть на ранних стадиях проектирования до создания каких бы то ни было экспериментальных образцов системы, так как многие встроенные системы создаются для решения ограниченного и заранее известного круга вычислительных задач. Примером может служить опыт проектирования систем для гидроакустики и радиолокации [2], которые решают задачу определения координат источника сигнала. Данная задача может быть сформулирована и проанализирована в терминологии работы [3].

Предполагается, что программа допускает распараллеливание, т. е. в ней есть фрагменты, не зависящие друг от друга по данным. Эти фрагменты можно выполнять одновременно и по завершении передавать результат фрагментам, использующим эти данные. Распределение таких фрагментов (далее называемых "заданиями") на несколько процессоров с указанием очередности выполнения называется расписанием.

Системы жесткого РВ — это такие системы, в которых накладывается ограничение на время выполнения программы, и завершение программы не позже директивного срока является обязательным требованием к расписанию.

Надежностью называют свойство системы работать без ошибок. В дальнейшем под надежностью ВС будем подразумевать вероятность того, что начиная с некоторого момента времени вычислительная система будет работать по спецификации в течение заданного времени. Вычислительные системы с высокой надежностью применяются в тех областях, где безотказная работа особенно важна, — авиакосмической промышленности, ядерной энергетике, медицинской промышленности. Под отказоустойчивостью понимают свойство системы (или ее компонента) сохранять работоспособность в случае возникновения отказов.

В данной задаче заранее определены требования к работе в режиме жесткого РВ и требования по надежности: она должна быть не ниже определенной величины. Повышать надежность системы можно с помощью введения резервных элементов — как процессоров, так и копий программы. Доступны такие методы, как аппаратное резервирование и N-версионное программирование.

В работе предложен алгоритм решения этой задачи. Алгоритм допускает настройку на решение частных задач (заданы ограничения на возможные значения входных данных задачи) путем задания соответствующих значений параметров алгоритма. Также алгоритм допускает использование различных методик расчета надежности ВС РВ и имитационных моделей ВС РВ с различным уровнем детализации для оценки времени выполнения расписания. Это позволяет использовать алгоритм на различных этапах проектирования ВС РВ и в различных инструментальных средствах проектирования и отладки программного обеспечения ВС РВ.

1 Факультет ВМК МГУ, асп., e-mail: juanQlvk.cs.msu.su

2. Постановка задачи

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

Формально в модель системы входят следующие объекты:

• М — множество доступных процессоров. Для удобства будем считать его счетным, что на практике означает, что в процессе построения системы можно использовать любое необходимое число процессоров;

• О = {V, Е} — граф потока данных программы, ориентированный граф без циклов;

• V — множество вершин, соответствующих заданиям;

• Е — множество ребер. В графе есть ребро (г>1, г^), если задание г>2 принимает на вход результаты работы задания

• Е : Е ^ Ж — функция, задающая объем передаваемых данных для каждой взаимодействующей пары заданий.

2.2. Модель надежности. В данной работе будут рассмотрены два метода повышения отказоустойчивости — резервирование для процессоров и многоверсионное программирование.

Резервирование процессоров заключается в том, что к заданному процессору добавляется дублирующий, на котором выполняются те же самые задания. В этом случае система отказывает, только если отказывают оба процессора. Дублирующий процессор работает в режиме горячего резерва, т. е. принимает все те же данные и выполняет те же вычисления, что и основной, но передает данные только в случае отказа основного. Устройство коммутатора таково, что введение резервного процессора не вызывает никаких задержек в работе системы.

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

Для задания модели надежности системы необходимо, чтобы были известны величины: P(m,i) — надежность отдельного процессора; Vers(wj) — множество доступных версий каждого из заданий; P(vi) — надежность отдельного задания с учетом количества версий. Формулы для вычисления P(vi) при различных конфигурациях версий приведены в [4], а общая надежность определяется как произведение надежностей отдельных компонентов.

2.3. Модель расписания. Будем считать, что для программы задано расписание, если для каждого из заданий определена привязка — однозначно определено, на каком процессоре оно выполняется, — и задан порядок — для каждого процессора известно, в какой очередности выполняются задания.

Если используется многоверсионное программирование, то помимо указания задания необходимо указывать номер его версии, т. е. привязка и порядок задаются не для задания, а для пары "задание-версия" .

Формально расписание (для системы с резервированием и многоверсионным программированием) определяется как пара (5, D), где S — множество четверок (г>, к, т, п), где v G V, к G Vers(v), т G Л/. п G N, такое, что

Vv € V, к G Vers(v) : 3!s = ki, raj, щ) G S : Vi = v, ki = k, VSi = (vi, ki, тг,щ) G S, Sj = (Vj, kj,mj,rij) G S : (vi = Vj A ki = k:j) ^ Si = Sj, V Si = (vi, ki, тг,щ) G S, Sj = (Vj, kj,mj,rij) G S : (sj ф Sj Ami = mj) Щ ф rij;

D — мультимножество, состоящее из элементов множества процессоров М. Количество резервов процессора т равно количеству его копий в мультимножестве D. Содержательно шип задают соответственно привязку к процессору и порядок выполнения для каждой версии каждого задания. Мультимножество D задает резервируемые процессоры.

Расписание можно представить в виде графа. Вершинами этого графа являются элементы множества Б. Если между соответствующими заданиями есть дуга в графе О, то она добавляется в граф расписания, также в граф расписания добавляются дуги между вершинами, назначенными на один процессор и имеющими соседние номера.

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

Определение. Будем говорить, что расписание Б является корректным, если его граф является ациклическим.

В дальнейшем будем рассматривать только корректные расписания. Множество всех корректных расписаний для заданного графа программы будем обозначать Б.

Для каждого корректного расписания определены функции: 1(Б) — время выполнения расписания, К(Б) — надежность системы при заданном расписании и М(Б) = |1)| — количество процессоров, требуемых для работы по данному расписанию. Конкретный вид функций £ и Д определяется исходя из особенностей системы, для которой решается задача. Они могут быть реализованы в том числе в виде "черного ящика", вычисляющего оценки времени и надежности с помощью имитационного моделирования [5].

2.4. Постановка оптимизационной задачи. Пусть заданы программа С, срок, к ко-

торому программа должна быть выполнена, и г — надежность, которой должна обладать система. Необходимо построить расписание Б, для которого требуется минимальное число процессоров, но при этом выполняются ограничения на время выполнения и надежность:

ттМ(Б), < Д(5) ^ Д<цг.

яея

3. Алгоритм построения расписания

3.1. Общая схема алгоритма. Для решения сформулированной задачи предлагается алгоритм, основанный на схеме имитации отжига [6]. Общая схема работы одной итерации алгоритма следующая.

Шаг 1. Анализируется текущее приближение расписания и выбирается операция для выполнения.

Шаг 2. Выбираются параметры операции, и она выполняется.

Шаг 3. Если после выполнения операции новое расписание оказывается лучше предыдущего, делается переход к новому расписанию: оно берется в качестве следующего приближения. Если новое расписание хуже, то переход делается с некоторой вероятностью.

Шаг 4. Если достигнут критерий останова, алгоритм завершает работу.

Для преобразования расписаний введены следующие операции.

Операция добавления резервного процессора. В исходном расписании (5, I)) к мультимножеству I) добавляется новый элемент.

Операция удаления резервного процессора. В исходном расписании (Б, Б) из мультимножества I) удаляется элемент т, у которого есть хотя бы один резерв.

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

Операция добавления версий. Версии можно добавлять только парами в силу принципа работы МУР. Версии добавляются на отдельный процессор.

Операция удаления версий. Версии удаляются также парами. Из расписания удаляются два элемента, соответствующие удаляемым версиям.

Теорема 1. Замкнутость системы операций. Если (Б, Б) — корректное расписание, то после применения любой из операций также получается корректное расписание [4].

Теорема 2. Полнота системы операций. Если (Б 1,1)1), (52,1)2) — корректные расписания, то существует последовательность операций, приводящая (Б 1,1)1) к (52,1)2), такая, что все промежуточные расписания корректны [4].

3.2. Стратегии применения операций. Наиболее важным элементом алгоритма является используемая в нем стратегия применения операций над расписанием. Стратегия для заданного текущего приближения определяет, какую операцию следует применить и какие для этой операции следует выбрать параметры, т. е. задает поведение алгоритма на шагах 1 и 2 в вышеописанной схеме. Стратегия выбора операции на текущем шаге проста: если не выполняются ограничения на надежность, то выполняется либо добавление процессора, либо добавление версии (с равными вероятностями). В противном случае выполняется либо удаление версий и процессоров (если такая операция вообще возможна, т.е. хотя бы какие-то резервные процессоры или версии используются), либо перенос заданий. Далее описана процедура выбора параметров для каждой операции.

Добавление/удаление версии. Случайно выбирается задание, версии которого добавляются/удаляются (среди заданий, для которых имеется нужное количество доступных версий). Чем больше версий уже добавлено для конкретного задания, тем больше вероятность удаления версий и меньше вероятность добавления версий.

Добавление/удаление резервного процессора. Аналогично добавлению версии задания процессоры с меньшим числом резервов имеют большую вероятность добавления и меньшую вероятность удаления.

Перенос задания. Если £ < то следует пытаться уменьшить число процессоров. Происходит следующая операция: выбирается процессор, на котором меньше всего заданий, и все задания с него переносят на другие процессоры. Если £ > то необходимо улучшить время выполнения расписания. Это можно сделать либо перенеся часть заданий на пустой процессор, либо поменяв порядок или привязку на уже использующихся. Предлагаются три стратегии выбора параметров для этой операции.

Стратегия уменьшения задержек (сокращенно стратегия 81). Эта стратегия основана на следующем утверждении. Если время начала выполнения каждого задания равно длине критического пути в графе О от истоков до задания, то расписание будет оптимальным. Длина критического пути является минимально возможным временем начала выполнения задания и равна сумме значений времени выполнения заданий, соответствующих вершинам критического пути.

Для каждого элемента я можно определить минимально возможное время, когда я может начать выполняться, т. е. все задания, из которых исходят ребра, входящие в вершину завершены. Разница между этим временем и временем, когда задание в начало выполняться в расписании, является задержкой задания я.

Для переноса выбирается задание, стоящее перед заданием с максимальной задержкой. Если операция не принимается, то на следующей итерации рассматривается задание со второй по величине задержкой и так далее. Если все задания с ненулевой задержкой исчерпаны, задание выбирается случайно. Далее выбирается позиция (пара (т,п) из четверки, задающей элемент расписания), куда можно перенести выбранное задание. Это задание переносится на случайно выбранную позицию, в которую перенос возможен без нарушения условий корректности.

Стратегия заполнения простоев (стратегия Э2). Эта стратегия основана на эмпирической гипотезе: чем меньше времени в сумме простаивают процессоры, тем лучше расписание. Для каждой позиции (т,п) можно определить время простоя. Если п = 1, то простой — это время от начала работы до начала выполнения задания на позиции (т, 1). Если позиция (т, п) обозначает место после завершения последнего задания на процессоре т, то простой — время от конца работы последнего задания на т до конца выполнения всего расписания. Иначе, простой позиции (т, п) — это время между завершением работы задания в (т,п — 1) и началом работы задания в (т,п).

Из всех позиций выбирается позиция с максимальным простоем. Если операция не принимается, то на следующей итерации рассматривается позиция со вторым по величине простоем и так далее. Если все позиции ненулевой длины исчерпаны, то позиция выбирается случайно. Задание для переноса выбирается случайно с учетом соблюдения условий корректности.

Смешанная стратегия (стратегия ЭЗ). Смешанная стратегия объединяет две предыдущие. На каждой итерации случайным образом применяется либо одна стратегия, либо другая. Таким образом, в этой стратегии ищутся области в расписании, когда один из процессоров бездействует в ожидании завершения работ на других процессорах, при этом делается попытка поставить задание с большой задержкой как можно раньше, чтобы уменьшить время задержки. Эта стратегия позволяет использовать преимущества двух предыдущих стратегий, но требует большего числа итераций для нахождения решения.

После применения выбранной операции получается новое расписание, для которого можно рассчитать время выполнения, надежность и число процессоров. В зависимости от отношений характеристик нового и предыдущего расписаний новое расписание может стать текущим приближением на следующей итерации алгоритма. Как и в стандартном алгоритме имитации отжига, присутствует параметр, моделирующий температуру, значение которого в ходе работы алгоритма уменьшается в соответствии с законом Больцмана: Т = Т0/ 1п(1 + х), где х соответствует номеру итерации.

4. Асимптотическая сходимость. Схему работы алгоритма имитации отжига можно рассматривать как цепь Маркова, где состояния — это все возможные расписания. По построению алгоритма вероятность выполнить ту или иную операцию зависит только от текущего расписания.

В силу полноты системы операций над расписаниями вероятность перейти из любого решения в любое больше нуля, следовательно, цепь Маркова неразложима. Из этого также очевидно следует ее ацикличность [7]. Для такой цепи Маркова верно, что стационарное распределение существует и определяется из уравнений детального баланса [7]: qi ■ Pij = qj ■ Рц Vi,j-

Если температура не меняется, то эти вероятности всегда одинаковые, т. е. цепь Маркова стационарна. Если вероятность генерации любого из решений в окрестности текущего одинакова, а вероятность принятия нового решения определяется стандартными формулами, то вероятности перехода в цепи Маркова при заданной температуре определяются следующей формулой: Pij(t) =

= jj • min(l,e t ), где N — размер окрестности решения, f(i) — значение целевой функции на решении i.

При фиксированном значении температуры стационарное распределение для заданной таким образом цепи Маркова будет иметь следующий вид, определяемый из уравнений детального баланса [8]: gi(t) = ехр(-^)/£ехр(-^).

з

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

На практике такое доказательство не согласуется с реальным применением алгоритма имитации отжига: делается два предельных перехода. Это означает, что нужно при каждом значении температуры осуществлять бесконечное число итераций и затем переходить к пределу по значениям температуры. В реальности число итераций с фиксированным значением температуры сильно ограниченно, поэтому используется неоднородная модель, т. е. модель, где матрица вероятностей перехода в цепи Маркова зависит от номера итерации. Для рассматриваемого в данной работе алгоритма имитации от-

г> п \ 1 ■ (л 'ni)--nj)\

жига значения элементов матрицы переходов имеют следующий вид: Р^ (tn) = • mm I 1, е I,

где e(i) — окрестность текущего решения, определяемая используемой в алгоритме стратегией.

Для неоднородных цепей Маркова существование стационарного распределения называется сильной эргодичностью. Дальнейшие рассуждения опираются на следующие две теоремы, которые вместе дают достаточные условия существования стационарного распределения [9].

сю

Теорема 3. Цепь Маркова слабо эргодична, если ряд ^ (l — Ti(P(k)Nk)) расходится для не-

к=1

которых значений {Л^}, где коэффициент эргодичности

\i\

П(Р) = 1 — min N тт(Рц, Рц). i.jei —'

Теорема 4. Цепь Маркова сильно эргодична, если 1) она слабо эргодична; 2) на каждой итерации у матрицы Р(к)Т есть собственное значение, равное 1, и собственный вектор q(k); 3) для этих собственных векторов сходится числовой ряд

сю fc=i

Сформулируем основную теорему об асимптотической сходимости алгоритма имитации отжига.

Теорема 5. Пусть значения температуры таковы, umotk ^ i0g(fc+fc0)' Г > 0, > 2. Тогда цепь Маркова, соответствующая алгоритму имитации отжига, сходится к стационарному распределению вида qi = щХз(г), где 3 — множество оптимальных решений, а хз — функция-индикатор этого множества.

Доказательство. Сначала докажем сильную эргодичность цепи Маркова. Как несложно видеть, условие 2 из теоремы означает существование собственного вектора q, удовлетворяющего уравнению Р(к) ■ q = q, или построчно g¿ = ^ q:¡ ■ l'j,. что равносильно уравнениям детального баланса.

jes

Проверим, что значения qi, где

\Ф)\

Qi =

, . (1 f(i)-fU)

Aij = mm I 1, e

удовлетворяют этим уравнениям. Заметим, что верно тождество Ац ■ А^ = Ац.. Запишем уравнение детального баланса для q и проверим, что они выполняются:

К01 г. . №)1

1

fí ■ • А ■ ■ —

ч %з —

а ■■ • А ■■

Зг 3%i

А

■31

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

i

i 4 " J"/ к Получили тождество. Проверим выполнение условия 3:

оо оо

Е - + ^iii = Е Е м*) - + !)i =

fc=i

fc=l i

ЕЕ

fc=l г

к(01

Ш

£ т\■ Ыщ/А^щ Е ш I • Аф +1 )/Ац{к +1)

£

«с'-ЕЕ

fc=l г

£ ЫЩ/А^Ь) £ Аф + 1 )/Ац{к + 1)

Учитывая условие теоремы, последнее слагаемое имеет тот же порядок, что и 1 /к, следовательно, сходится к 0 [9].

Для проверки условия 1 воспользуемся достаточным условием слабой эргодичности. Нужно дока°° 1V

зать, что ряд X) (1 — Ti(P (к) к)) расходится. Оценим Р(к) снизу: fc=i

Р(к) > (minоЛ Ш^Ш\=С1е-с><*>,

^(l-rJpikf"))^^

,-C2Nk/tk

к=1

fc=l

Учитывая, что % ^ \0^(к+к0)' полУчаем РЯД вида С • ^ который расходится.

к=1

Осталось определить предел вектора д при стремлении температуры к нулю. Для этого рассмотрим предел

Если решение г оптимальное, то знаменатель дроби всегда будет равен 1. Числитель будет равен 1, если ] — тоже оптимальное решение, т.е. /(г) = /(,]), если же /(г) < /(,?), то е —> 0. Получается, что слагаемое в сумме стремится к 1, если оно соответствует оптимальному решению, и к 0 в противном случае, т. е. весь предел равен |3| и соответственно = щ - Если решение г неоптимальное, то в знаменателе одной из дробей — /(г) > 0, т.е. последовательность е ( ''п ( ' —> оо, а соответствующее д^ —> 0.

Объединяя все значения д^, получаем ^ = щХз(г), что и требовалось доказать.

Что касается скорости сходимости, то она в общем случае достаточно низкая. Хотя асимптотическая сходимость гарантирует сколь угодно высокую точность результата алгоритма, для достижения такой точности требуется количество итераций, пропорциональное квадрату от размера пространства поиска [8].

5. Заключение. В рамках данной работы была сформулирована задача синтеза архитектуры вычислительной системы реального времени с учетом требований к надежности как задача комбинаторной оптимизации. Был предложен итерационный алгоритм решения сформулированной задачи и теоретически обоснованы его основные свойства. Дано доказательство асимптотической сходимости предложенного алгоритма.

1. Калашников A.B., Коетенко В. А. Параллельный алгоритм имитации отжига для построения многопроцессорных расписаний // Известия РАН. Теория и системы управления. 2008. № 3. С. 101-110.

2. Kostenko V. A. Design of computer systems for digital signal processing based on the concept of "open" architecture // Automation and Remote Control. 1994. 55. N 12. P. 1830-1838.

3. Zorin D.A. Scheduling signal processing tasks for antenna arrays with simulated annealing // Proc. of the 7th Spring/Summer Young Researchers' Colloquium on Software Engineering (SYRCoSE). Kazan: Kazan National Research Technical University, 2013. P. 122-127.

4. Zorin D. A., Kostenko V. A. Algorithm for synthesis of real-time systems under reliability constraints // J. Comput. and Systems Sei. Intern. 2012. 51. N 3. P. 410-417.

5. Antonenko V. A., Chemeritsky E.V., Glonina A.B. et al. DYANA: an integrated development environment for simulation and verification of real-time avionics systems // Europ. Conf. for Aeronautics and Space Sei. (EUCASS). Munich, Germany: Technische Universität München, 2013.

6. Kirkpatrick S., Vecchi M. P. Optimization by simmulated annealing // Science. 1983. 220. N 4598.

7. Lundy M., Mees A. Convergence of an annealing algorithm // Mathematical Programming. 1986. 34. N 1. P. 111-124.

8. Van Laarhoven P. J., Aarts E.H., Lenstra J. K. Job shop scheduling by simulated annealing // Operations Research. 1992. N 40(1). P. 113-125.

9. Aarts E., Korst J., Michiels W. Simulated annealing // Search Methodologies. N.Y.: Springer, 2005.

3

СПИСОК ЛИТЕРАТУРЫ

P. 671-680.

P. 187-210.

Поступила в редакцию 20.11.13

CONVERGENCE OF SIMULATED ANNEALING ALGORITHM FOR SCHEDULING ON MULTIPROCESSORS

Zorin D. A.

This paper describes a method of designing a computational system with the minimal number of processors. Strict execution deadlines apply, as well as restrictions on the reliability of the system that imply the tolerance of the system to both hardware and software faults. The problem is formulated mathematically, an algorithm of solution based on simulated annealing is described, and the asymptotical convergence of the algorithm is proved.

Keywords: optimization, scheduling, embedded systems, simulated annealing, co-design, multiprocessor systems.

i Надоели баннеры? Вы всегда можете отключить рекламу.