Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Синтез и анализ оптимальных бинарных последовательностей Потехин Егор Николаевич

Синтез и анализ оптимальных бинарных последовательностей
<
Синтез и анализ оптимальных бинарных последовательностей Синтез и анализ оптимальных бинарных последовательностей Синтез и анализ оптимальных бинарных последовательностей Синтез и анализ оптимальных бинарных последовательностей Синтез и анализ оптимальных бинарных последовательностей Синтез и анализ оптимальных бинарных последовательностей Синтез и анализ оптимальных бинарных последовательностей Синтез и анализ оптимальных бинарных последовательностей Синтез и анализ оптимальных бинарных последовательностей Синтез и анализ оптимальных бинарных последовательностей Синтез и анализ оптимальных бинарных последовательностей Синтез и анализ оптимальных бинарных последовательностей Синтез и анализ оптимальных бинарных последовательностей Синтез и анализ оптимальных бинарных последовательностей Синтез и анализ оптимальных бинарных последовательностей
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Потехин Егор Николаевич. Синтез и анализ оптимальных бинарных последовательностей: диссертация ... кандидата физико-математических наук: 05.13.17 / Потехин Егор Николаевич;[Место защиты: Федеральное государственное автономное образовательное учреждение высшего образования "Самарский государственный аэрокосмический университет имени академика С.П. Королева (национальный исследовательский университет)"].- Самара, 2014.- 184 с.

Содержание к диссертации

Введение

1. Обзор проблемы построения бинарных оптимальныхпоследовательностей 23

1.1. Основные определения 23

1.2. Классификация бинарных последовательностей по виду периодической автокорреляционной функции 26

1.3 Классификация бинарных последовательностей по виду апериодической

автокорреляционной функции 30

1.3.1. Граничные оценки для значения максимального уровня боковых лепестков случайных бинарных последовательностей 31

1.3.2. Граничные оценки для значения максимального уровня боковых лепестков некоторых регулярных бинарных последовательностей 32

1.3.3. Теоретическая оценка для минимального значения максимального уровня боковых лепестков бинарных последовательностей 33

1.3.4. Алгоритмы глобального поиска 34

1.3.5. Алгоритмы локального поиска 34

1.3.6. Оптимальные минимаксные бинарные последовательности 35

1.3.7. Оптимальные по критерию минимума энергии боковых лепестков бинарные последовательности 41

1.4. Конструкции известных разностных множеств 43

1.4.1. Случай N = 0 (mod 4) 43

1.4.2. Случай N = 1 (mod 4) 44

1.4.3. Случай N = 2 (mod 4) 44

1.4.4. Случай N = 3 (mod 4) 45

1.5. Конструкции известных почти разностных множеств 52

1.5.1. Случай N = 0 (mod 4) 52

1.5.2. Случай N = 1 (mod 4) 54

1.5.4. Случай N = 3 (mod 4) 59

1.6. He оптимальные конструкции почти разностных множеств 59

1.6.1. Конструкция Ding для циклотомических классов четвертого порядка 60

1.6.2. Конструкция Ding, Helleseth, Lam циклотомических классов четвертого порядка 60

1.6.3. Конструкция Ding для циклотомических классов восьмого порядка

1.7. Другие способы построения почти разностных множеств 61

1.7.1. Первый метод конструкции Davis 61

1.7.2. Второй метод конструкции Davis 61

1.7.3. Конструкция, основанная на совершенных нелинейных функциях

1.7.4. Конструкция, основанная на вычитании одного элемента из разностного множества 62

1.7.5. Конструкция, основанная на добавлении одного элемента к разностному множеству 63

1.8. Бинарные последовательности с тремя уровнями боковых лепестков ПАКФ 63

1.8.1. Конструкция Yu, Gong с использованием М-последовательности63

1.8.2. Конструкция Tang, Gong на основе GMW-последовательностей 64

1.8.3. Конструкция Tang, Gong на основе последовательностей Якоби. 64

1.8.4. Конструкция Tang, Gong на основе последовательностей Лежандра 64

1.9. Выводы по главе 64

2. Модифицированный алгоритм исчерпывающего поиска бинарных оптимальных последовательностей 66

2.1. Алгоритм исчерпывающего поиска "brunch and bound" 66

2.1.1. Общие сведения 66

2.1.2. Исключение поддеревьев за счет эквивалентных преобразований 69

2.2. Модификация алгоритма brunch and bound 71

2.2.1. Оптимизация вычисления боковых лепестков ААКФ 71

2.2.2. Оптимизация вычисления реверсной функции 77

2.2.3. Параллелизм 78

2.2.4. Вычисления на графических процессорах с технологией NVidia CUDA 81

2.2.5. Пакетный режим поиска 84

2.2.6. Исключение невалидных веток дерева обхода 85

2.3. Выводы по главе 87

3. Анализ эффективности бинарных оптимальных последовательностей и модифицированного алгоритма исчерпывающего поиска 88

3.1. Корреляционные характеристики 88

3.1.1. Исследование апериодических взаимно-корреляционных свойств последовательностей 88

3.1.2. Исследование апериодических автокорреляционных свойств последовательностей при влиянии на них частоты Доплера 92

3.1.3. Построение ансамблей последовательностей 97

3.1.4. Исследование периодических корреляционных свойств последовательностей 101

3.1.5. Сравнение с существующими аналитическими и численными решениями 104

3.2. Оценка критерия мерит фактор найденных последовательностей 108

3.3. Криптографические характеристики ПО

3.3.1. Линейная сложность последовательностей 111

3.3.2. Балансные свойства последовательностей 113

3.4. Оценка эффективности модифицированного алгоритма исчерпывающего поиска 116

3.5. Выводы по главе 117

4. Алгоритм распределенного исчерпывающего поиска бинарных оптимальных последовательностей и программное обеспечение 119

4.1. Алгоритм исчерпывающего поиска для распределенных систем 119

4.2. Программное обеспечение для поддержки распределенного

исчерпывающего поиска бинарных последовательностей 124

4.2.1. Серверная часть 127

4.2.2. Клиентская часть 129

4.2.3. Административная часть 131

4.2.4. Часть обработки и анализа 135

4.3. Выводы по главе 137

Заключение 138

Список использованной литературы

Граничные оценки для значения максимального уровня боковых лепестков случайных бинарных последовательностей

В 1953 году в работе [2] Баркер синтезировал оптимальные бинарные последовательности с PSL = \ для длин Л/" = 2,3,4,5,7,11,13, а в 1968 году Турин в работе [3] построил бинарные последовательности с PSL = 2 для каждой длины 7V 21, кроме тех длин, для которых найдены бинарные последовательности Баркера.

В 1975 году Линднер в работе [25], используя метод полного перебора, нашел все оптимальные по минимаксному критерию бинарные последовательности до длины N 40. При построении он использовал специально разработанный для этой цели миникомпьютер. Поиск оптимальных бинарных последовательностей в данном диапазоне проводился в течение примерно 50 дней.

В 1986 году Кердок с соавторами, используя локальный метод поиска последовательностей, исследовали последовательности длин N = 51,69,88 [64]. При этом на длине N = 5\ ими была построена последовательность со значением PSL = 3. Авторы работы [64] предположили, что найденная ими последовательность является оптимальной и, что не существует последовательностей со значением PSL = 3 большей длины. На сегодняшний день в ходе экспериментальных проверок их предположение опровергнуть не удалось. Также авторы работы [64] попытались найти последовательности наибольших длин с PSL = 4 и PSL = 5. Им удалось построить бинарную последовательность с PSL = 4 длины N = 69 и бинарную последовательность с PSL = 5 длины 7V = 88. Однако в дальнейшем были найдены бинарные последовательности больших длин с PSL = 4 и PSL = 5. Как и Линднер, для поиска последовательностей они использовали специально разработанное аппаратное обеспечение.

В 1990 году Кохен с соавторами [26] выполнили поиск всех оптимальных минимаксных последовательностей длин JV = [41;48]. Они использовали концепцию исключения эквивалентных импульсных последовательностей, а также разработали новый рекурсивный алгоритм поиска, что позволило сократить общее число перебираемых комбинаций, не искажая процедуру глобального поиска. В результате они расширили границу для оптимальных минимаксных последовательностей вслед за Линднером до длин N 4&. Также они завершили усилия авторов работы [64], показав, что не существует бинарных последовательностей с PSL 3 для длин N = 49,50. В 1997 году в работе [65], используя различные алгоритмы глобального и локального поиска, авторы нашли примеры минимаксных бинарных последовательностей длин 7V = [49;61] (N 5\) с PSL = 4, а для длины TV = 51 последовательность с PSL = 3, ранее найденную Кердоком. Для поиска авторами использовалась одна рабочая станция UltraSparc. Elders-Boll с соавторами в работе [65] 1997 года сообщили, что выполнили исчерпывающий поиск оптимальных минимаксных бинарных последовательностей до длины 61. Однако в работе [65] не была представлена таблица с количеством найденных последовательностей для каждой длины, авторы привели по одному примеру бинарных последовательностей с наименьшим уровнем боковых лепестков для каждой длины в диапазоне 7V = [49;61].

В 2001 году Коксон с соавторами [66] разработали алгоритм глобального поиска минимаксных последовательностей, вытекающий из алгоритма Кохена. Они объединили таблицы Линднера и Кохена и представили новую версию, подсчитав количество всех оптимальных минимаксных бинарных последовательностей длин 7V 48, исключив все эквивалентные последовательности. Также в соответствии с предположением Кердока авторы работы [66] попытались найти примеры бинарных последовательностей для каждой длины между 49 и 69. Однако, найденные ими примеры, оказались правильными только для значений длин N = [49;60]. Подчеркнем, что в работе [66] не осуществлялся поиск всех оптимальных минимаксных бинарных последовательностей в диапазоне длин N = [49;60]. Целью работы был лишь поиск примеров бинарных последовательностей со значениями PSL = 4. Похоже, что авторы работы [66] не были знакомы с результатами работы [65]

В 2004 году Коксон и Руссо [27] разработали новый эффективный глобальный алгоритм исчерпывающего поиска оптимальных минимаксных последовательностей с исключением эквивалентных решений, а также быстрым методом расчета апериодической автокорреляционной функции. Они продемонстрировали применение своего алгоритма, построив примеры бинарных последовательностей с PSL = 4 для каждой длины из диапазона JV = [61;70]. Отметим также, что поиск всех оптимальных бинарных последовательностей в диапазоне длин 7V = [61;70] ими также не проводился. Лишь для одной длины N = 64 они выполнили поиск всех оптимальных минимаксных последовательностей, подсчитав общее количество неэквивалентных бинарных последовательностей с PSL = 4. Поиск последовательностей проводился на 4-х 750 MHz Sun UltraSPARC-Ill workstations с использованием полного 64-битного режима работы.

В монографии 2004 года [67] Леванон и Мозесон привели таблицу примеров оптимальных минимаксных бинарных последовательностей и минимаксных бинарных последовательностей с наименьшим известным на сегодняшний день значением PSL для каждой длины N 70.

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

Например, в 2006 году Феррара [68] представил метод целочисленного программирования для синтеза бинарных последовательностей произвольной длины с малым значением боковых лепестков импульсной автокорреляции. Он провел сравнительный анализ бинарных последовательностей с хорошими значениями PSL и MF, построенных на основе разработанного им метода с наилучшими известными на тот момент бинарными последовательностями длин iV = [71;100] и скомпилировал таблицу, в которой представил бинарные последовательности длин iV = [71;100] с наименьшими известными на тот момент значениями PSL. Причем в диапазоне длин JV = [71;82] Феррара привел бинарные последовательности с PSL = 4, а в диапазоне длин N = [83;100], представленные им последовательности имели значения PSL = 5,6,7. Отметим, что Феррара для длин iV = [83;100] брал последовательности из работ [64], [69], [70], [29].

Исключение поддеревьев за счет эквивалентных преобразований

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

Для исчерпывающего поиска последовательностей на длинах, близких к предельно существующим при уровне бокового лепестка PSL 4 в качестве оптимального количества известных бит в левом и правом полукодах было выбрано т = 13. Это позволяет при достаточно большом количестве известных бит 2т = 26 получить разумное количество начальных непересекающихся классов с(т) с относительно небольшим временем обхода каждого класса.

Для получения всего множества непересекающихся классов при начальном известном количестве дибит т = 13 был осуществлен исчерпывающий поиск последовательностей с упрощенной системой проверки уровня боковых лепестков. Поиск для четных и нечетных длин последовательностей ./V несколько различается.

Для четных длин, т.е. при jVmod2 = 0, осуществлялся упрощенный исчерпывающий поиск последовательностей длины N = 26 с уровнем боковых лепестков ААКФ PSL 4. Поскольку для четных длин N исключение поддеревьев, порождающих эквивалентные решения порождает множество непересекающихся поддеревьев, то данное множество начальных узлов поддеревьев или непересекающихся классов после их обхода гарантированно даст неэквивалентные последовательности. В результате такого обхода для четных длин при известном количестве дибит т = \Ъ удалось получить ceven(13) = 2122026 непересекающихся поддерева.

Для нечетных длин, т.е. при 7Vmod2 = l, также осуществлялся упрощенный исчерпывающий поиск последовательностей длины N = 21 с уровнем боковых лепестков ААКФ PSL 4. Хотя и использовался поиск последовательностей нечетной длины, однако средний бит последовательности не использовался для проверки уровня бокового лепестка с его участием. В случае с нечетной длиной исчерпывающий поиск последовательностей не порождает полностью неэквивалентные решения. В данном случае при известном количестве дибит т = 13 удалось получить c odd(13) = 2926269начальных узла дерева, которые можно использовать как начальные условия для осуществления исчерпывающего поиска бинарных оптимальных последовательностей. Однако среди этих начальных условий встречаются те, которые порождают эквивалентные решения. Поэтому для исключения таких решений было осуществлено исключение начальных значений, порождающих заведомо эквивалентные решения. Для этого был использован следующий алгоритм:

Из 2926269 начальных условия, которые представляют собой последовательности длины N = 21 с неопределенным средним битом были получены все эквивалентные решения

Затем из всего множества эквивалентных решений Aodd (13) были выбраны лишь те, которые не пересекаются со всеми остальными сгенерированными. В итоге удалось получить с0 (13) = 2122256начальных условия для последующего поиска. Для поиска начальных условий можно использовать тот же самый алгоритм ичерпывающего поиска, где конечной последовательностью является часть последовательности, успешно сформированная на / -ом ярусе дерева обхода. Ясно, что такие последовательности будут иметь лишь по і известных бит слева и справа, однако именно это и необходимо для получения начальных условий.

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

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

Как было отмечено выше, поиск последовательностей длины iV осуществляется путем обхода дерева в глубину в общем случае до яруса N/2 для четных длин и (AT —1)/2 - для нечетных. Чем большее количество ярусов имеет дерево поиска Т, тем большее количество времени требуется для достижения всех его листьев. Однако для поиска последовательностей длины N = N + 2 необходимо осуществить обход дерева, аналогичного дереву поиска для последовательностей длины N, а также новый ярус дерева N/2 +1 - для четных длин и (Л7"+ 1)/2 - для нечетных. Легко заметить, что львиная доля обхода повторяется, поэтому имеет смысл рассматривать последовательности как последовательности с полностью определенными битами не только, когда алгоритм доходит до яруса листьев, но и на ярусах, находящихся выше него. В этом случае львиная часть обхода графа выполняется один раз для всех заданных для поиска длин.

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

Вычисления на графических процессорах с технологией NVidia CUDA

Как было отмечено в главе 1, существует 2 критерия оптимальности импульсных бинарных оптимальных последовательностей: минимаксный критерий и мерит фактор.

Оптимальными последовательностями по критерию PSL будут последовательности, у которых максимальный боковой лепесток ААКФ является минимальным, т.е. PSL(A) = min(max( апап+г)), т = 1,2,...,N-I. (3.6) Такой критерий называют еще минимаксным. Однако, при таком подходе не учитывается энергия боковых лепестков, для минимизации которой служит критерий merit-factor:

Чем больше значение MF(A), тем данная последовательность ближе к оптимальной по критерию мерит фактора. В системах криптографии и защиты информации активно используются двоичные последовательности. В частности, такие последовательности используются в системах поточных шифров. Однако не все последовательности могут быть использованы в системах шифрования. Согласно [115], можно выделить две группы подходов к анализу шифрующих последовательностей.

В первую группу входят методы, связанные с поиском закономерностей, которые позволяют воспроизвести последовательность, используемую для шифрования, по небольшому фрагменту. Чем больше минимальный фрагмент, позволяющий восстановить всю последовательность, тем данная последовательность более приемлемая. Характеристикой, показывающей такой минимальный размер для последовательности длины N, является линейная сложность.

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

Для применения бинарных последовательностей в задачах криптографии одной из важных характеристик является линейная сложность последовательности (L(A)), которой называется длина самого короткого линейного рекуррентного соотношения, способного породить данную последовательность при некотором начальном состоянии. Наиболее эффективным алгоритмом определения линейной сложности конечных двоичных последовательностей является алгоритм Берлекемпа-Месси. Найдем линейную сложность, где рекуррентное соотношение позволит породить бесконечную последовательность. Для этого будем искать сложность последовательности, сформированной из 2 периодов. Таблица 3.8 иллюстрирует значения основных характеристик, описанных в данном подразделе, со следующими значениями столбцов:

Одной из первых формулировок правил, которые определяют статистические свойства псевдослучайных последовательностей, были представлены Соломоном Голомбом в работе [14]. Позже данные правила приобрели широкую известность в мире криптографии под названием постулатов Голомба. Постулаты, выдвинутые Голомбом, также не являются достаточным условием высокого качества псевдослучайной последовательности, а являются больше необходимыми.

Отсчеты ПАКФ последовательности должны принимать лишь два возможных значения. Проведем анализ найденных последовательностей и найдем количество балансных последовательностей на каждой длине (Таблица 3.9).

Для оценки эффективности модифицированного алгоритма исчерпывающего поиска был проведен практический эксперимент, в котором осуществлялся подсчет количества операций вычисления боковых лепестков ААКФ при обходе всего дерева поиска для заданной длины N. Затем, путем аппроксимации полученных значений методом наименьших квадратов, были получены приближенные значения сложности алгоритма для уровней PSL от 2 до 5. Для большей наглядности графики количественных значений и аппроксимационные кривые построены на логарифмической шкале (Рисунок 3.2). Таблица 3.10 отображает данные значений сложности алгоритма исчерпывающего поиска бинарных оптимальных MPS последовательностей для разных уровней PSL.

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

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

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

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

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

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

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

Сравнение с существующими аналитическими и численными решениями

Серверная часть - это главный управляющий и координирующий элемент всей системы. В нее входят два основных компонента - это сам сервер и хранилище базы данных. Вот краткое описание основных компонентов серверной части системы MarGrid:

База данных (Database). В качестве базы данных может использоваться любая реляционная база данных. В конкретной реализации была выбрана база данных MSSQL (Рисунок 4.2).

Модуль доступа к данным (Data Access Object). DAO предназначен для непосредственной работы с базой данных. Данный модуль позволяет изолировать логику работы с БД от серверной части, что позволяет, во-первых, централизовать работу с БД в одном месте, во-вторых, при необходимости заменить используемую БД на другую без внесения изменений в исходные коды всего проекта, затронув лишь модуль DAO.

Общие типы (Common Types) - содержит модели общих типов данных, используемых в проекте.

Вспомогательный модуль (Helper) - содержит вспомогательные процедуры и функции, необходимые для работы серверной части системы.

WCF модуль (WCF Module) - отвечает за реализацию контрактов кода. Данный модуль также является промежуточным звеном между модулем доступа к данным и серверной службой, который отвечает за взаимодействие сервера с удаленными службами.

Серверная служба (Server Service) - служба Windows, реализующая основные задачи сервера. Данная служба инициализирует конечные точки сервера для взаимодействия с клиентами, а также координирует работу остальных серверных модулей.

Для повышения стабильности и производительности системы серверная часть физически располагается на двух серверах с процессором Intel Хеоп Е5405, Блок-схема клиентской службы приведена ниже (Рисунок 4.3):

Блок-схема клиентской службы системы MarGrid Client Service представляет собой службу Windows, которая стартует при запуске компьютера и завершает свою работу при выключении компьютера. При старте службы происходит проверка доступности сервера, если он доступен, то проверяется наличие новой версии клиента. Данная процедура позволяет дорабатывать функционал системы и осуществлять удаленное обновление без ручной переустановки клиентских служб.

После завершения процедуры обновление управление передается клиенту (Client Worker): private bool ReStartableRun() После этого служба фактически не выполняет никаких действий, за всю остальную работу отвечает Client Worker. Client Worker создает рабочий процесс GridClientConsole, который первым делом определяет количество потоков компьютера и задает их количество для использования. Затем для каждого потока создается своя директория, в которую размещается задача для расчетов, получаемая с сервера:

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

В случае, если задача завершается, управляющий поток посылает сигнал Client Worker, который запускает новую задачу с новым управляющим потоком.

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

Клиентская часть доступна на web-портале системы распределенных вычислений MarGrid [116] в разделе «Скачать». Клиент распространяется в виде удобного пакета установки как в формате «.ехе», так и в виде пакета «.msi». Клиент является кроссплатформенным, существуют версии для систем Windows и UNLX-подобных. Для корректной работы необходимо наличие в системе Windows .NET Framework 4.0 и выше, для системы Linux - среда исполнения Mono Runtime.

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

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

Административное приложение позволяет выполнять следующие функции: Файлы о Добавить файл. Позволяет добавить новый файл, который будет использовать для решения задач. Файлом может быть как сам исполняемый файл задачи, так и необходимые дополнительные библиотеки. Все файлы должны быть включены в группу файлов, т.к. задача - это всегда группа файлов, даже если группа состоит из 1 файла. о Показать все файлы. Позволяет просмотреть все загруженные файлы. о Создать новую группу файлов. Позволяет добавить новую группу файлов. Группа файлов является полноценной задачей, которую можно запустить для расчетов на компьютерах-клиентах. В окне создания новой группы файлов необходимо задать ее имя, осуществить выбор файлов, которые необходимы для расчетов (исполняемый файл, динамические библиотеки и др.), а также задать требования к архитектуре процессора и особенностям ОС (поддержка инструкций popcnt SSE4.2, 64-х разрядная ОС и др.). В зависимости от установленных требований в процессе работы для данной задачи будет осуществлен поиск подходящего клиента. о Показать группы файлов. Позволяет просмотреть уже созданные группы файлов.

Похожие диссертации на Синтез и анализ оптимальных бинарных последовательностей