Управление распределенными вычислениями на основе оценки сложности задач тема диссертации и автореферата по ВАК РФ 05.13.01, кандидат наук Бабичев, Антон Михайлович
- Специальность ВАК РФ05.13.01
- Количество страниц 163
Оглавление диссертации кандидат наук Бабичев, Антон Михайлович
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ
1 ОБЗОР СУЩЕСТВУЮЩИХ МЕТОДОВ ОЦЕНКИ ПРОГРАММ И ВОЗМОЖНОСТЕЙ ИХ УЛУЧШЕНИЯ
1.1 Организация высокоточных вычислений
1.2 Метрики оценки сложности программ
1.3 Метрики размера программ, или количественные метрики
1.3.1 SLOC-метрика
1.3.2 Метрики Холстеда
1.3.3 ABC метрика
1.4 Метрики сложности потока управления программы
1.4.1 Метрика цикломатической сложности программы
1.4.2 Метрика Майерса
1.4.3 Метрика Хансена
1.4.4 Топологическая метрика Чена
1.4.5 Метрики Харрисона, Мейджела
1.4.6 Метрика Пивоварского
1.4.7 Метрика Джилба
1.4.8 Метрика граничных значений
1.5 Метрики сложности потока данных программ
1.5.1 Метрика Чепина
1.5.2 Метрика спена
1.5.3 Метрика обращения к глобальным переменным
1.6 Гибридные метрики
1.6.1 Метрика Кокола
1.6.2 Метрика Зольновского, Симмонса, Тейера
1.7 Сети Петри
1.7.1 Задача о взаимном исключении
1.7.2 Задача о производителе/потребителе
1.7.3 Задача о чтении/записи
1.7.4 Р - и V - операции над семафорами
1.7.5 Формализованное описание и характеристики сетей Петри
1. 8 Выводы по первой главе
2 МЕТОД ОЦЕНКИ СЛОЖНОСТИ РАСПРЕДЕЛЕННЫХ ВЫЧИСЛЕНИЙ С ПОВЫШЕННОЙ ТОЧНОСТЬЮ
2.1 Деревья формул
2.2 Оценка модифицированной цикломатической сложности
2.3 Оценка сложности программы, работающей в последовательном режиме
2.4 Метод распараллеливания программы для оценки ее с помощью модифицированной метрики цикломатической сложности
2.5 Оценка сложности программы, работающей в параллельном режиме
2.6 Выводы по второй главе
3 ПОЛУЧЕНИЕ ЭКСПЕРИМЕНТАЛЬНЫХ ЗАВИСИМОСТЕЙ ВРЕМЕНИ РАСЧЕТА ОТ ТОЧНОСТИ ВЫЧИСЛЕНИЙ ДЛЯ ОПРЕДЕЛЕНИЯ СЛОЖНОСТИ ПРОГРАММ
3.1 Исследуемые функции класса ИЯеа1
3.2 Приложение для получения экспериментальных данных и их аппроксимации
3.3 Получение экспериментальных значений на эталонной системе
3.3.1 Метод четвертых разностей
3.3.2 Аппроксимация экспериментальных данных
3.4 Получение экспериментальных значений на тестовой системе для проверки адекватности эталонных значений
3.5 Выводы по третьей главе
4 ЭКСПЕРИМЕНТАЛЬНАЯ ПРОВЕРКА ВЫВЕДЕННОГО МЕТОДА
4.1 Выводы по четвертой главе
ЗАКЛЮЧЕНИЕ
СПИСОК СОКРАЩЕНИЙ И УСЛОВНЫХ ОБОЗНАЧЕНИЙ
СПИСОК ЛИТЕРАТУРЫ
ПРИЛОЖЕНИЕ А
ПРИЛОЖЕНИЕ Б
ПРИЛОЖЕНИЕ В
ПРИЛОЖЕНИЕ Г
ПРИЛОЖЕНИЕ Д
ПРИЛОЖЕНИЕ Е
ПРИЛОЖЕНИЕ Ж
Рекомендованный список диссертаций по специальности «Системный анализ, управление и обработка информации (по отраслям)», 05.13.01 шифр ВАК
Высокоточные вычисления с динамической длиной операндов в многопроцессорных системах1999 год, кандидат технических наук Морозов, Виталий Александрович
Расширение диапазона данных для вертикальной потоковой обработки применительно к сортировке со слиянием и параллельному поиску2013 год, кандидат наук Иванова, Анна Сергеевна
Алгоритмы оптимизации временной сложности кусочно-полиномиальной аппроксимации функций в применении к быстрому преобразованию Фурье на основе параллельного вычисления элементов базиса2004 год, кандидат технических наук Фирсова, Светлана Александровна
Методы и алгоритмы организации высокоточных вычислений в арифметике остаточных классов для универсальных процессорных платформ2014 год, кандидат наук Исупов, Константин Сергеевич
Алгоритмическая и структурная организация высокопроизводительных ЭВМ с использованием модели безошибочных вычислений2003 год, кандидат технических наук Оцоков, Шамиль Алиевич
Введение диссертации (часть автореферата) на тему «Управление распределенными вычислениями на основе оценки сложности задач»
ВВЕДЕНИЕ
Актуальность работы. Существует множество областей науки и производства, требующих очень высокоточных вычислений. Малейшие неточности в таких отраслях могут привести к крайне негативным последствиям и, зачастую, экономическим потерям и даже вреду человеческому здоровью. Крупные задачи, критичные к точности, возникают в самых разнообразных областях: в физике и космологии, в экспериментальной математике и вычислительной геометрии, в различных сферах высокотехнологичной промышленности и т.д. [1-13]. Некоторые из них требуют двукратного увеличения точности, другие - четырехкратного, третьи же требуют сотни и более разрядов для получения численно значимых результатов. Характерной особенностью таких задач является большая размерность, в связи с чем критичным параметром становится время решения.
В настоящее время индустрия программного обеспечения (ПО) постоянно развивается. Появляется множество новых инструментов для создания ПО, существует большое разнообразие программных платформ, что непосредственно влияет на сложность и многообразие программ. Создается большое количество программ, в том числе и для научных целей, используемых для вычислений с повышенной точностью. В частности, далее речь пойдет о создании оптимальных по производительности вычислительных систем, функционирующих в облачной среде для решения задач со сложными связями между подзадачами в виде крупных блоков и временем счета, значительно превышающим время передачи информации между ними.
Из вышесказанного видно, что существует потребность в решении задач, требующих объемных вычислений. Такие задачи чаще всего решаются в режиме крупноблочных распределенных вычислений, для чего используются современные облачные технологии. Многие задачи глобальной оптимизации
приходится решать в условиях неопределенности, неизбежно возникающей при недостаточной наблюдаемости объекта исследования. Объем вычислений в таких задачах резко возрастает по сравнению с детерминированными постановками, а решение необходимо находить в многомерной области с размерностью, превышающей изначальную размерность детерминированной задачи. Для решения таких задач необходимо высокопроизводительное распараллеливание, но при повышении размерности и сложности этих задач становится все сложнее оценить точность получаемого решения [14].
При использовании компьютерных расчетов распространено такое явление, как накопление ошибки вычислений. Как правило, оно происходит при циклическом вычислении каких-либо значений, которые основываются на предыдущих. Это легко заметить, если сравнить эти вычисления с их теоретическими идеальными значениями (рис. 1). Основной причиной, влияющей на точность вычислений, является использование округлений в арифметических операциях, необходимость которых обусловлена фиксированной и относительно малой длиной операндов в современных процессорах [12, 15-21].
Рисунок 1 - Разница между идеальным графиком и графиком с накопленной
ошибкой вычисления
Для компенсации этого недостатка существуют различные способы но, в основном, они связаны с модернизацией способа округления при использовании чисел с небольшим количеством знаков после запятой, как, например, случайное
округление или чередующееся округление [22]. Однако для высокоточных вычислений такие методы не подходят, так как округление осуществляется неточным методом и, в лучшем случае, можно только немного уменьшить накопление ошибки. В таких ситуациях необходимо использование программной обработки чисел большой (превышающей длину машинного слова) разрядности, что позволит либо вообще избавиться от ошибки округления, либо свести ее к минимуму [12].
Современные компьютеры позволяют производить вычисления с числами, имеющими несколько тысяч знаков после запятой, за достаточно небольшие промежутки времени. Однако построение длинной арифметики на базе позиционных систем счисления приводит к существенному, часто неприемлемому, снижению быстродействия [12]. Например, одна операция вычисления синуса от числа с тысячью знаков после запятой даже на современном компьютере может занимать несколько минут. А что если таких операций, выполняющихся в цикле, в программе несколько тысяч? Расчет такой программы может занять несколько суток или даже недель и месяцев. И перед тем, как начинать эти расчеты, важно иметь представление об их ресурсоемкости и времязатратах.
Расчет программ, использующих типы чисел одинарной и двойной точности с плавающей запятой, такие как float или double, как правило, не нуждаются в оценках сложности, так как из-за небольшой длины этих чисел они рассчитываются практически мгновенно и часто этим временем можно пренебречь. Однако когда счет идет на минуты на одну операцию в случае высокоточных вычислений, становится необходимо иметь представление о сроках получения результатов работы такой программы.
Такая оценка описывает целесообразность и возможность исполнения программы на одном компьютере, так как часто время получения результата не вписывается в требуемые сроки. В таком случае используется распараллеливание программы и расчет ее в распределенном режиме на нескольких машинах, на
кластере или в облаке. Такой режим работы программы также должен быть подвергнут оценке, потому что работа в распределенном режиме отличается от расчета на одной машине, работает по другому алгоритму и занимает другое количество времени. Кроме того, облачные вычисления могут потребовать значительных денежных затрат, в зависимости от длительности использования предоставляемого облака [23].
Можно привести пример, когда имеется система линейных уравнений, состоящая из миллиона или более уравнений, которые вместе описывают некий сложный аппарат, а каждое уравнение представляет собой описание некоей отдельной простейшей детали или операции, совершаемой им. Если у нас в распоряжении имеется облачная вычислительная сеть (ОВС), центральное место в которой отводится облачному серверу, непосредственно связанному одновременно с несколькими вычислительными подстанциями, имеющими сильно связную структуру, и, возможно, кластерами, то в этом случае возникает задача распределения вычислений между элементами этой сети, чтобы время расчета было оптимально. Например, если блоки простых уравнений из этой системы, которые решаются практически мгновенно, рассчитывать на удаленных подстанциях, то время передачи решения по сети может оказаться больше самого времени счета, что в итоге замедлит весь вычислительный процесс, в отличие от случая, когда эти уравнения решались бы на мощном сервере вместе с более сложными уравнениями, пусть даже и в фоновом режиме [24].
В таких ситуациях не всегда возможно использование традиционных методов распараллеливания, которые подходят для структурно простых задач. Для этого требуются новые методы облачного распараллеливания, для которых нужны новые критерии оценки вычислительной сложности. Оценка вычислительной сложности должна давать оптимальный результат для выбора распараллеливания высокоточных вычислений, чтобы оптимально использовать вычислительное оборудование и время для решения таких задач.
Для получения такой оценки исходный код программы представляется в виде системы, описывающей связи между параллельными процессами вычислений и обмен данными между ними. Блоки вычислений представляются в виде структуры из минимальных взаимосвязанных элементов программы (переменных, операций и управляющих конструкций), каждому из которых можно дать оценку на основе обработки информации о времени их выполнения, а анализ системы, в которую входит их совокупность, позволяет получить оценку программы в целом. Методы представления программы в виде системы и ее анализа рассматриваются в данной диссертации.
Степень разработанности темы исследования. Проблемы анализа алгоритмов на устойчивость относительно ошибок округления описываются в работах Д. Голдберга [18], Д. Каханера [17], Дж. Х. Уилкинсона [21], М. Овертона [20], К. Моулера [17], С. Нэша [17], С. К. Годунова [16], В. В. Воеводина [1, 2, 15, 26], К. С. Исупова [12, 13] и др. Исследованию оценки сложности исходного кода программ посвящены работы В. В. Колдовского [45], А. Ю. Кулакова [47], В. В. Липаева [57, 60, 73], И. Н. Ледовских [75], А. В. Изосимова [46], А. Л. Рыжко [46] и др. В их работах уделяется большое внимание метрикам оценки сложности программного обеспечения (ПО): количественным, графа потока управления, сложности потока данных и т.д., но не уделяется внимание вопросам оценки сложности ПО, осуществляющего высокоточные распределенные вычисления. Организации параллельных вычислений посвящены работы В. Э. Малышкина[82], И. Е. Федотова[85], В. Б. Мараховского[86], Л. Я. Розенблюма[86], А. В. Яковлева[86] и др. Однако в этих работах нет акцента на высокоточных вычислениях, оценке их сложности и продолжительности выполнения. Фактически, в данных работах предлагается применять методы распараллеливания и оценки сложности к программам, осуществляющим большие по объему вычисления, но без учета точности и длительности производимых в них операций.
Таким образом, в диссертации решается проблема использования высокоточных вычислений для решения задач, все чаще возникающих в различных областях науки и производства, требующих высокой точности вычислений в условиях временных, финансовых или технических ограничений. В диссертации используется оригинальный подход к оценке сложности параллельных высокоточных вычислений с применением системного анализа, поэтому ее тема является актуальной.
Цель и задачи исследования. Целью исследования является выработка методов эффективного распараллеливания программ, осуществляющих высокоточные вычисления с использованием числового класса ИЯеа1.
Для достижения поставленной цели в работе решаются следующие задачи:
- Формализация существующих процессов в промышленности, медицине и т.д. в виде задач, требующих больших затрат машинного времени.
- Определение заранее заданной точности и количества параллельных процессов для решения таких задач.
- Построение систем на основе формализованных процессов, после анализа которых принимается решение о дальнейшей работе с программой перед тем, как решать реальную задачу.
Объект исследования - распределенные программные системы, осуществляющие высокоточные вычисления.
Предмет исследования - метрики оценки сложности ПО, работающего в распределенном режиме и разработанного с использованием класса ИЯеа1.
Научная новизна:
- Предложен метод представления исходного кода программ в виде систем, состоящих из базовых математических операций и переменных. Операции и переменные представляются в виде двоичных деревьев формул и объединяются в блоки параллельных вычислительных потоков. Параллельные потоки
описываются с применением аппарата сетей Петри к графу потока управления программ, что позволяет определить критическую линию, состоящую из максимальных по длительности параллельных потоков и переходов между ними, для оценки целесообразности дальнейшего распараллеливания программы.
- Предложена модификация метрики оценки цикломатической сложности программ, основанная на обработке информации о реальном времени выполнения базовых математических и арифметических операций, входящих в состав системы, построенной по исходному коду программы.
- Разработан новый числовой класс ИЯеа1, поддерживающий числа с теоретически неограниченным количеством знаков после запятой, позволяющий работать со всеми основными математическими и арифметическими операциями и используемый для уменьшения ошибки округления.
Теоретическая значимость исследования заключается в том, что созданная метрика оценки сложности программ, осуществляющих высокоточные вычисления, позволяет управлять процессом оптимального распределения вычислительных задач по доступным системным ресурсам для минимизации продолжительности их исполнения.
Практическая значимость исследования. Разработан метод представления программ в виде систем, состоящих из базовых математических операций и переменных (далее «системы»), и предложена метрика для оценки их сложности. Показано, что данный метод позволяет оптимизировать процесс получения результатов расчетов, ориентируясь на временные рамки, материальное обеспечение, вычислительные мощности и требования к точности искомого результата. Разработанный числовой класс ИЯеа1 применим для решения широкого перечня численных задач, критичных к ошибкам округления и скорости высокоточных расчетов.
Методология и методы исследования. При выполнении работы используются: теория графов, теория сетей Петри, методы планирования эксперимента, теория алгоритмов, а также теория параллельных вычислений.
Основные результаты исследования, выносимые на защиту:
- Метод представления исходного кода программы в виде системы на основе разложения узлов графа потока управления на деревья формул, описывающих связи между операциями и переменными.
- Метрика оценки сложности параллельных высокоточных вычислений на основе анализа элементов системы, построенной из исходного кода программы.
- Применение метрики оценки сложности параллельных высокоточных вычислений для определения сложности и продолжительности расчетов моделей реальных объектов производства и народного хозяйства.
- Числовой класс ИЯеа1, поддерживающий работу с числами высокой точности, используемый для минимизации ошибки округления.
Степень достоверности и апробация результатов исследования. Достоверность полученных результатов подтверждается корректным использованием метрик оценки сложности ПО, теории графов, теории сетей Петри, непротиворечивостью результатов экспериментальных и теоретических оценок продолжительности работы программного обеспечения, работающего в последовательном и параллельном режимах. Результаты работы подтверждены актами о внедрении в организациях ООО "КомИнформ" и ООО "Мирантис ИТ" (приложения Е, Ж), а также тремя свидетельствами о государственной регистрации программ для ЭВМ (приложения В, Г, Д).
Область исследования - содержание диссертации соответствует паспорту специальности 05.13.01 - «Системный анализ, управление и обработка информации (по отраслям)», область исследований соответствует
- п. 3 «Разработка критериев и моделей описания и оценки эффективности решения задач системного анализа, оптимизации, управления, принятия решений и обработки информации.»
- п. 4 «Разработка методов и алгоритмов решения задач системного анализа, оптимизации, управления, принятия решений и обработки информации»;
- п. 11 «Методы и алгоритмы прогнозирования и оценки эффективности, качества и надежности сложных систем».
Краткое содержание работы:
Во введении представлена актуальность работы, ее цель, задачи, научная новизна и практическая значимость.
В первой главе работы рассматриваются особенности работы класса для вычислений с регулируемой точностью, обозреваются существующие метрики оценки сложности программного обеспечения, их особенности и недостатки, анализируется возможность применениях их к оценке программ, осуществляющих высокоточные распределенные вычисления. Рассматриваются сети Петри и методы синхронизации параллельных процессов с их помощью, обсуждаются возможности использования сетей Петри для модификации метрик оценки сложности.
Во второй главе рассматриваются методы оценки сложности и времени расчета базовых арифметических и математических операций, и оценка формул в исходном коде программы на их основе, для чего применяются двоичные деревья формул. На основе оценки сложности операций в узлах графа потока управления программы выводятся формулы модифицированной оценки цикломатической сложности. Приводится метод распараллеливания с помощью сетей Петри и приводятся формулы оценки программ, работающих в параллельном режиме.
В третьей главе работы с помощью вычислительных экспериментов собираются данные о времени выполнения базовых арифметических и математических операций. Описывается процесс сглаживания и аппроксимации с
помощью полиномов полученных данных, и на основе полученных полиномов выводятся значения коэффициентов, применяемых для оценки сложности в формулах, выведенных в предыдущей главе.
В четвертой главе рассматривается тестовая программа, использующая описываемую в работе модифицированную метрику оценки сложности. Кратко описывается функционал тестовой программы на основе оценки сложности алгоритма нахождения решения системы уравнений, включающий в себя оценки сложности и времени выполнения программы, построение графа потока управления и деревьев формул, распараллеливание программы с помощью сетей Петри и ее оценка.
В приложениях приведены экспериментальные данные о времени выполнения операций, описываемые в третьей главе, свидетельства о регистрации программ ЭВМ, акты о внедрении результатов диссертационной работы.
Диссертация выполнена в рамках проекта #1346 из реестра государственных заданий высшим учебным заведениям и научным организациям в сфере научной деятельности «Разработка теории, методов и алгоритмов организации и проведения облачных вычислений для прецизионно-доверительного решения сложных задач математического моделирования», на базе научной школы НШ 01.2012.09 ТГТУ "Распределенные вычислительные системы в учебном процессе, научной работе и управлении" , основанной в 1991 году. Также я выражаю благодарность Сергею Степановичу Толстых за помощь и консультирование, оказанные во время написания данной диссертации.
1 ОБЗОР СУЩЕСТВУЮЩИХ МЕТОДОВ ОЦЕНКИ ПРОГРАММ И ВОЗМОЖНОСТЕЙ ИХ УЛУЧШЕНИЯ
Данная глава является вводной ко всей работе. Она посвящена общим принципам оценки сложности программ с использованием метрик оценки сложности. Рассматривается числовой класс, позволяющий использовать для расчетов числа высокой точности с большим количеством знаков после запятой. Рассматриваются метрики оценки сложности: количественные метрики, метрики сложности потока управления программы, метрики сложности потока данных программ, гибридные метрики. Рассматриваются сети Петри как инструмент распараллеливания программ, осуществляющих высокоточные вычисления, и их основные конструкции. В конце главы в качестве выводов сформулированы задачи дальнейших исследований и разработок.
1.1 Организация высокоточных вычислений
Высокоточные вычисления - это совокупность вычислительных методов, способов представления числовых данных и алгоритмов их обработки, а также приемов программирования, позволяющих получить результат решения численной задачи на вычислительной машине с точностью большей, чем обеспечивается спецификацией машинной арифметики с плавающей точкой стандарта 1ЕЕЕ-754.
Для типовых приложений точности машинной арифметики оказывается достаточно, однако быстро увеличивается число задач, для корректного решения которых необходима намного более высокая точность [3-6]. Некоторые из них требуют двукратного увеличения точности (в данном контексте понятие точность отождествляется с количеством представимых разрядов мантиссы), другие -
четырехкратного, а третьи требуют сотни или более десятичных цифр для получения численно значимых результатов. В данном исследовании речь пойдет о длине мантиссы I > 1000 .Такие задачи, называемые высокоточными, возникают в разнообразных областях знаний: в квантовой физике, при моделировании климата, в электромагнитной теории рассеяния, при изучении кулоновских систем, в астрофизике, в автомобильной, судостроительной и ядерной промышленности, при расчете многозвенных механизмов, в строительной механике, в вычислительной гидродинамике и т.д. Классификация высокоточных задач науки и техники представлена в таблице 1 [12].
Также, по классификации Ш. А. Оцокова [25], в список задач, требующих высокоточных вычислений, входят задача моделирования погоды (климата) [26, с. 17-20; 27], исследование орбитальной эволюции небесных тел [4], экспериментальная математика [4; 5; 28], изучение постоянной тонкой структуры (постоянной Зоммерфельда), исследование электромагнитного рассеяния, изучение п-тельных кулоновских атомных систем, моделирование атмосферы сверхновых звезд и т.д. Проведенный обзор приложений, требующих высокоточных вычислений, позволяет сделать вывод, что обеспечение высокой точности становится не менее важным требованием при разработке программного обеспечения, чем математическая корректность алгоритма и информационных структур. И при использовании высокоточных расчетов с одной стороны важна уверенность в получении корректных результатов, адекватных природе исследуемого явления, а с другой - необходимо обеспечить достаточное быстродействие, для получения решения за приемлемое время [12].
Если рассмотреть любой производственный процесс, включающий в себя использование большого количества различных устройств, станков, и любых других технологических аппаратов, то выяснится, что работу каждого из этих аппаратов нужно рассмотреть и смоделировать, чтобы представлять себе весь производственный процесс, иначе при его запуске могут произойти различные крайне неприятные и зачастую необратимые последствия.
Таблица 1 задач
- Классификация высокоточных (критичных к ошибкам округления)
Причина, приводящая к необходимости использования высокоточных вычислений Прикладные задачи науки и техники
Решение плохо обусловленных систем линейных алгебраических уравнений и сопряженных задач алгебры (спектральные задачи, задачи на собственные значения и пр.). - Задачи строительной механики. - Задачи вычислительной гидродинамики. - Задачи моделирования на неявных схемах аппроксимации. - Изучение и-тельных кулоновских атомных систем. - Исследование электромагнитного рассеяния.
Решение задач численного анализа: дифференцирование с использованием приближенных формул, решение жестких систем дифференциальных уравнений. - Задачи химической кинетики с одновременным присутствием медленно и быстро протекающих реакций. - Исследование суточных колебаний озона в атмосфере. - Уравнение Ван дер Поля. - Динамика многозвенных механизмов.
Вычисление рекуррентных формул и больших сумм. - Алгоритм Гёрцеля и рекурсивное дискретное косинусное преобразование в цифровой обработке сигналов. - Вычисление полинома Чебышева. - Интегрирование экспоненциальной функции.
Крупномасштабное моделирование. - Моделирование климата. - Моделирование атмосферы сверхновых. - Расчет дозвукового обтекания летательного аппарата. - Моделирование ядерных реакций.
Продолжительное моделирование физических процессов. - Исследование орбитальной эволюции небесных тел.
Исследование процессов и явлений микромира. - Изучение постоянной тонкой структуры (постоянной Зоммерфельда).
Поиск целочисленных соотношений в экспериментальной математике. - Задача экспериментального обоснования эффективных формул для вычисления математических констант с использованием алгоритма PSLQ.
Поэтому для каждого производственного процесса делаются математические модели (ММ) элементов, принимающих в нем участие, особенно если этот процесс существует достаточно долгое время, то такие модели уже построены для каждого его элемента и для различных режимов работы в довольно большом количестве. Как правило, исследования этих процессов производятся перед запуском производств, в рамках написания диссертаций и т.п. Результатом таких исследования являются математические модели, состоящие из систем уравнений, описывающих процесс работы исследуемого аппарата. Такие системы уравнений легко переводятся в программный код на любом современном языке программирования, либо уже существуют в качестве программного продукта, расчет которого необходимо осуществить. Если такая ММ состоит из большого количества уравнений, ее расчет может занять значительное время, что может затянуть или отсрочить работу производства, особенно если такие расчеты нужно выполнять периодически, внося некоторые изменения. В таких случаях важно знать, какова сложность производимых вычислений, и какое время в итоге займет расчет этой ММ на различном по производительности оборудовании. Эти данные нужны для оптимального распределения времени расчета, чтобы оно удовлетворяло нуждам производства и затраты на работу вычислительных устройств были приемлемыми. Зная время выполнения расчетов и их сложность, можно определить, какое оборудование лучше всего для этого использовать, причем сложность этого оборудования может значительно варьироваться - от обычного компьютера до мощного вычислительно кластера. И если компьютер сегодня есть у каждого, то более мощные вычислительные комплексы доступны не всем, или их нужно арендовать за определенную плату, но они производят вычисления значительно быстрее, что может быть решающим фактором в ситуации, когда временные рамки на произведение расчетов сильно ограничены. Однако использование таких вычислительных мощностей может быть связано со значительным денежными затратами, поэтому крайне важно иметь представление о том, какие мощности будут требоваться для требуемых расчетов. Такие
Похожие диссертационные работы по специальности «Системный анализ, управление и обработка информации (по отраслям)», 05.13.01 шифр ВАК
Разработка и исследование параллельных схем цифровой обработки сигналов на основе минимизации временной сложности вычисления функций2008 год, кандидат технических наук Аксайская, Любовь Николаевна
Структурно-алгоритмические методы организации высокоточных вычислений на основе теоретических обобщений в модулярной системе счисления2010 год, доктор технических наук Оцоков, Шамиль Алиевич
Методы создания и эквивалентных преобразований параллельных программ с учетом информационных зависимостей2014 год, кандидат наук Шичкина, Юлия Александровна
Методы и алгоритмы модулярной арифметики для массовой обработки сверхдлинных чисел на гибридных вычислительных платформах2019 год, кандидат наук Коржавина Анастасия Сергеевна
Алгоритмы анализа и синтеза управляющих графов в задачах организации параллельных вычислений2013 год, кандидат наук Попова-Коварцева, Дарья Александровна
Список литературы диссертационного исследования кандидат наук Бабичев, Антон Михайлович, 2016 год
СПИСОК ЛИТЕРАТУРЫ
1. Суперкомпьютерные технологии в науке, образовании и промышленности [Текст] / Под ред. В. А. Садовничего, Г. И. Савина, чл.-корр. РАН В. В. Воеводина. - М. : МГУ, 2009. - 232 с.
2. Суперкомпьютерные технологии в науке, образовании и промышленности [Текст] / Под ред. В. А. Садовничего, Г. И. Савина, чл.-корр. РАН В. В. Воеводина. - М. : МГУ, 2012. - 232 с.
3. Bailey, D. H. High-Precision Arithmetic: Progress and Challenges [Electronic resource] / D. H. Bailey, J. M. Borwein. - Electronic text data. - 2013. - 15 p. - Mode of access: http://www.davidhbailey.com/dhbpapers/hp-arith.pdf. - The title from the screen.
4. Bailey, D. H. High-Precision Computation: Mathematical Physics and Dynamics (preprint) [Electronic resource] / D. H. Bailey, R. Barrio, J. M. Borwein. -Electronic text data. - Berkeley, California : Lawrence Berkeley National Laboratory, 2010. - 31 p. - Mode of access: http://www.escholarship.org/uc/item/0ck4q6k8. - The title from the screen.
5. Bailey, D. H. High-Precision Computation: Mathematical Physics and Dynamics [Text] / D. H. Bailey, R. Barrio, J. M. Borwein // Applied Mathematics and Computation. - 2012. - Vol. 218, Issue 20. - P. 10106-10121.
6. Bailey, D. H. High-Precision Floating-Point Arithmetic in Scientific Computation [Text] / D. H. Bailey // Computing in Science and Engineering. - 2005. -Vol. 7, Issue 3. - P. 54-61.
7. Frolov, A. M. Highly Accurate Evaluation of the Few-Body Auxiliary Functions and Four-Body Integrals [Text] / A. M. Frolov, D. H. Bailey // Journal of Physics B: Atomic, Molecular and Optical Physics. - 2003. - Vol. 36, No. 9. - Р. 18571867.
8. Hauschildt, P. H. The Numerical Solution of the Expanding Stellar Atmosphere Problem [Electronic resource] / P. H. Hauschildt, E. Baron. - Electronic
text data. - 1998. - Mode of access: http://hobbes.hs.uni-hamburg.de/PAPERS/jcam-rev2/node18.html. - The title from the screen.
9. He, Y. Using Accurate Arithmetics to Improve Numerical Reproducibility and Stability in Parallel Applications [Text] / Y. He, C. Ding // Journal of Supercomputing. - 2001. - Vol. 18, No. 3. - Р. 259-277.
10. Lake, G. From Sir Isaac to the Sloan survey: Calculating the Structure and Chaos due to Gravity in the Universe [Text] / G. Lake, T. Quinn, D. C. Richardson // Proceedings of the 8th ACM - SIAM Symposium on Discrete Algorithms. -Philadelphia : SIAM, 1997. - 10 р.
11. Robey, R. W. In Search of Numerical Consistency in Parallel Programming [Text] / R. W. Robey, J. M. Robey, R. Aulwes // Parallel Computing. - 2011. - Vol. 37, Issue 4-5. - Р. 217-229.
12. Исупов, К. С. Методы и алгоритмы организации высокоточных вычислений в арифметике остаточных классов для универсальных процессорных платформ [Текст] : дис... кандидата технич. наук : 05.13.15 / К. С. Исупов - Киров, 2014. - 256 с.
13. Исупов, К. С. Рассмотрение вопросов точности выполнения операций в позиционном формате с плавающей точкой [Электронный ресурс] / К. С. Исупов, А. В. Логинов // Общество, наука, инновации (НТК-2012) : Сб. материалов ежегодной Всероссийской научно-технической конф. (16-27 апреля 2012 г., г. Киров). - Электрон. текстовые дан. 167 - Киров : Изд-во ВятГУ, 2012. -11 с. - 1 электрон. опт. диск (CD-ROM). - Загл. с экрана.
14. Толстых, С. С., Подольский В. Е. Оценка сложности крупноблочных облачных вычислений, использующих арифметику повышенной точности [Текст] / С. С. Толстых, В. Е. Подольский // Труды ИСП РАН, том 26. - 2014. - № 5. - C. 29-64.
15. Воеводин, В. В. Вычислительные основы линейной алгебры [Текст] / В. В. Воеводин. - М. : Главная редакция физико-математической литературы изд-ва «Наука», 1977. - 304 с.
16. Годунов, С. К. Гарантированная точность решения систем линейных уравнений в евклидовых пространствах [Текст] / С. К. Годунов, А. Г. Антонов, О. П. Кирилюк, В. И. Костин. - Новосибирск : Наука. Сибирское отд-ние, 1988. - 456 с.
17. Каханер, Д. Численные методы и программное обеспечение [Текст] : пер. с англ. / Д. Каханер, К. Моулер, С. Нэш. - М. : Мир, 1998. - 575 с.
18. Goldberg, D. What Every Computer Scientist Should Know About Floating-Point Arithmetic [Text] / D. Goldberg // ACM Computing Surveys. - 1991. -Vol. 23, Issue. 1. - P. 5-48.
19. Higham, N. J. Accuracy and Stability of Numerical Algorithms [Text] / N. J. Higham. - 2nd ed. - Philadelphia : SIAM, 2002. - 680 p.
20. Overton, M. L. Numerical Computing With IEEE Floating Point Arithmetic Including One Theorem, One Rule of Thumb, and One Hundred and One Exercises [Text] / M. L. Overton. - Philadelphia : Society for Industrial and Applied Mathematics, 2001. - 106 p.
21. Wilkinson, J. H. Rounding Errors in algebraic processes [Text] / J. H. Wilkinson. - New Jersey, Englewood Cliffs : Prentice-Hall, 1963. - 161 p.
22. Заварыкин, В. М. Техника вычислений и алгоритмизация: Вводный курс: Учебное пособие для студентов педагогических институтов по физико-математическим специальностям [Текст] / В. М. Заварыкин, В. Г. Житомирский, М. П. Лапчик. - М: Просвещение, 1987. - 160 с.: ил.
23. Complexity evaluation of the large-block parallel computing tasks using precision-trust arithmetics [Text] / A. M. Babichev, V. E. Podolskiy, S. S. Tolstyh, S. G. Tolstyh // Proceedings of the International Multidisciplinary Scientific GeoConferences SGEM. - Albena Resort, Bulgaria, 2016. - P. 141-148.
24. Подольский, В. Е., Оптимизация кластерных вычислений с использованием критериев структурной сложности / В.Е. Подольский, С.С. Толстых // Вторая Сибирская школа-семинар по параллельным вычислениям. -Томск: Изд-во Том. ун-та, 2004. - с. 45-50.
25. Оцоков, Ш. А. Структурно-алгоритмические методы организации высокоточных вычислений на основе теоретических обобщений в модулярной системе счисления [Текст] : дис. . . . доктора технических наук : 05.13.05, 05.13.15 / Ш. А. Оцоков. - М., 2010. - 287 с.
26. Воеводин, В. В. Вычислительная математика и структура алгоритмов [Текст] / В. В. Воеводин. - М. : Изд-во Московского ун-та, 2010. - 168 с. - (Серия «Суперкомпьютерное образование»).
27. Современные проблемы вычислительной математики и математического моделирования [Текст]. В 2 т. Т. 2. Математическое моделирование / отв. ред. В. П. Дымников. - М. : Наука, 2005. - 405 с.
28. Bailey, D. H. Experimental Mathematics: Examples, Methods and Implications [Text] / D. H. Bailey, J. M. Borwein // Notices of the AMS. - 2005. - Vol. 52. - Р. 502-514.
29. Анализ вычислительной сложности крупноблочного итерационного процесса в условиях повышенной точности арифметических операций с плавающей точкой [Текст] / С. С. Толстых, С. В.Мищенко, В. Е. Подольский, С. Г. Толстых // Научно-методический журнал "Информатизация образования и науки". - 2016. - №2(30). - С. 159-169.
30. Podolskiy, V. E. The main approaches to development of a web-based software solution for the purposes of remote monitoring and administration of software applications [Text] / V. E. Podolskiy, A. M. Babichev, N. A. Inkova // Proceedings of the ICIT-2012. - Saratov, 2012. - P. 137-143.
31. Бабичев, А. М. Основные подходы к разработке системы удаленного администрирования сетевых клиентов на основе веб-технологий [Текст] / А. М. Бабичев, В. Е. Подольский // Вопросы современной науки и практики. Университет им. В. И. Вернадского. - 2012. - № 3(41). - С. 42-47.
32. Hurwitz J. What Is Platform as a Service (PaaS) in Cloud Computing? [Text] / J. Hurwitz, M. Kaufman, F. Halper, D. Kirsh // Hybrid Cloud For Dummies, Hoboken. - NJ: John Wiley & Sons, 2012. - 360 p.
33. Thomas, E. B. Computer Concepts and Terminology: Types of Computers [Electronic resource] / E. B. Thomas. - Electronic text data. - Los Alamos : University of New Mexico, 2012. - Mode of access: http://www.unm.edu/~tbeach/terms/ types.html. - The title from the screen.
34. Howard, A. R. The Surprising Technology Economics of Mainframe vs. Distributed Servers: Understanding the Impact of Your Strategy in Real Business Terms [Electronic resource] / A. R. Howard. - Electronic text data. - US : Rubin Worldwide, 2011. - 7 p. - Mode of access: http://www-03.ibm.com/systems/es/ resources/ZSL03135USEN.pdf. - The title from the screen.
35. Антонов, А. С. Параллельное программирование с использованием технологии OpenMp: Учебное пособие [Текст] / А. С. Антонов. - М.: Изд-воМГУ, 2009. - 77 с.
36. Chapman, B. Using OpenMP: portable shared memory parallel programming Scientific and Engineering Computation [Text] / B. Chapman, G. Jost, Ruud van der Pas // Cambridge, Massachusetts: The MIT Press., 2008. - 353 pp.
37. Орлов, С. А. Технологии разработки программного обеспечения: учебник [Текст] / С. А. Орлов. - СПб.: Питер, 2002. - 464 с.
38. Характеристики качества программного обеспечения [Текст] / Б. Боэм, Дж. Браун, X. Каспар, М. Липов, Г. Мак-Леод, М. Мерит ; пер. с англ. - М.: Мир, 1981. - 208 с.
39. Пышкин, Е. В. Структурное проектирование: основание и развитие методов. С примерами на языке C++: Учеб. Пособие. [Текст] / Е. В. Пышкин. -СПб.: Политехнический университет, 2005. - 324 с.
40. Марков, А. С. Методы оценки несоответствия средств защиты информации [Текст] / А. С. Марков, В. Л. Цирлов, А. В. Барабанов ; под ред. А. С.Маркова. - М.: Радио и связь, 2012. - 192 с.
41. Брукс, П. Метрики для управления ИТ-услугами [Текст] / П. Брукс -М.: Альпина Бизнес Брукс, 2008. - 25-31, 49-58, 99-115 с.
42. Ларионцева, Е. А. Использование метрических характеристик программ при проведении сертификационных испытаний [Текст] / Е. А.
Ларионцева // "Наука и образование" Россия, МГТУ им. Н.Э. Баумана. - 2012. -№ 05. - 15 с.
43. Рыжков, Е. А. Программный код и его метрики [Электронный ресурс] / Е. А. Рыжков. - 2010. - Режим доступа: https://habrahabr.ru/company/intel/blog/ 106082/. - Загл. с экрана.
44. Богданов, Д. В. Стандартизация жизненного цикла и качества программных средств: Учебное пособие [Текст] / Д. В. Богданов, В. В. Фильчаков. - СПб.: ГУАП, 2000. - 210 с.
45. Колдовский, В. Разработка ПО: оценка результата [Электронный ресурс] / В. Колдовский. - Компьютерное обозрение №34 (553). - 2006. - Режим доступа: http://ko.com.ua/razrabotka_po_ocenka_rezultata_25631. - Загл. с экрана.
46. Изосимов, A. B. Метрическая оценка качества программ [Текст] / A. B. Изосимов, А. Л. Рыжко. - М.: Изд. МАИ, 1989. - 96 с.
47. Кулаков, А. Ю. Оценка качества программ ЭВМ [Текст] / А. Ю. Кулаков. - Киев: Техшка, 1984. - 167с.
48. Холстед, М. Х. Начало науки о программах [Текст] / М. Х. Холстед. -М.: Финансы и Статистика, 1981. - 128 с.
49. Маевский, Д. А. Оценка количества дефектов программного обеспечения на основе метрик сложности [Текст] / Д. А. Маевский, С. А. Яремчук // Електротехшчш та комп'ютерш системи. - 2012. - № 7. - С. 113-120.
50. Stroud, J. M. The fine structure of psychological time [Text] / J. M. Stroud // Annals of the New York Academy of Sciences. - 1967. - № 138, Interdisciplinary Perspectives of Time. - P 623-631.
51. Ayman, M. On the Improvement of Cyclomatic Complexity Metric [Text] / M. Ayman, K. Z. Oussama, K. Seifedine // International Journal of Software Engineering and Its Applications. - 2013. - Vol.7, No 2. - P. 67-82.
52. Fitzpatrick, J. Applying the ABC Metric to C, C++, and Java [Text] / J. Fitzpatrick // C++ Report. - 1997. - P. 245-264.
53. Legard, H. F. A genealogy of control structures [Text] / H. F. Legard , M. Marcotty // Communications of the ACM. - 1975. - Vol. 18, No. 11. - P. 629-639.
54. Sommerville, I. Software Engineering [Text] / I. Sommerville. - Addison Wesley Longman, 1996. - 742 p.
55. McCabe, T. J. A complexity measure [Text] / T. J. McCabe // IEEE Transactions on Software Engineering. - 1976. - Vol. SE-2, No. 4. - P. 308-320.
56. Афанасьев, С. В. Метрики для объектно-ориентированного проектирования сложных систем [Текст] / С. В. Афанасьев, В. И. Воробьев // Вестник гражданских инженеров. - 2005. - № 4. - С. 118-123.
57. Липаев, В. В. Методы обеспечения качества крупномасштабных программных средств [Текст] / В. В. Липаев. - М.: Синтег, 2003. - 520 с.
58. Arthur, H. W. Structured Testing: A Testing Methodology Using the Cyclomatic Complexity Metric [Text] / H. W. Arthur, T. J. McCabe. - NIST Special Publication 500-235, 1996. - 123 p.
59. Hassan, R. B. Automatic Measurement of Source Code Complexity [Text] / R. B. Hassan. - MASTER'S THESIS, 2010. - p. 184.
60. Липаев, В. В. Выбор и оценивание характеристик качества программных средств: Методы и стандарты [Текст] / В. В. Липаев. - М.: Синтег, 2001. -224 с.
61. Myers, G. An Extension to the Cyclomatic Measure of Program Complexity [Text] / G. Myers // ACM SIGPLAN Notices. - 1977. - Vol. 12, № 10. -P. 61-64.
62. Майерс, Г. Надежность программного обеспечения [Текст] / Г. Майерс ; пер. с англ.; под ред. В.Ш. Кауфмана. - М.: Мир, 1980. - 360 с.
63. Hansen, W. J. Measurement of program complexity by the pair (cyclomatic number, operator count) [Text] / W. J. Hansen // ACM SIGPLAN Notices. - 1978. -Vol. 13, № 3. - P. 61-64.
64. Черноножкин, С. К. Методы и инструменты метрической поддержки разработки качественных программ: автореф. дис. канд. физ.-мат. наук: 05.13.11 [Текст] / С. К. Черноножкин ; Новос. гос. ун-т. - Новосибирск, 1998. - С. 6-7.
65. Chen, J. Y. A new metric for object-oriented design [Text] / J. Y. Chen, J. F. Lu // Information & Software Technology. - 1993. - №35(4). - P. 232-240.
66. Radice, R. Software Inspections. Software Technology Transition [Text] / R. Radice // Methods and Tools. - 2009. - No 3. - P. 7-20.
67. Harrison, W. A complexity measure based on nesting level [Text] / W. Harrison, K. Magel // ACM SIGPLAN Notices. - 1981. - Vol. 16, №3. - P. 63-74.
68. Pan, K. Bug Classification Using Program Slicing Metrics [Text] / K. Pan, S. Kim, J. E. Whitehead // Sixth IEEE International Workshop on Source Code Analysis and Manipulation. - Philadelphia, PA, 2006. - P. 77-86.
69. Abran, A. Software Metrics and Software Metrology Hoboken [Text] / A. Abran. - NJ.: Wiley-IEEE Computer Society Publ., 2010. - 348 p.
70. Вареница, В. В. Проблемы вычисления метрик сложности программного обеспечения при проведении аудита безопасности кода методом ручного рецензирования [Текст] / В. В. Вареница // Вестник МГТУ им. Н.Э. Баумана. Сер. «Приборостроение». - 2011. - № SPEC. - P. 79-84.
71. Fenton, N. E. Software Metrics: A Rigorous and Practical Approach [Text] / N. E. Fenton, S. L. Pfleeger // International Thomson Computer Press, 2nd ed. PWS Publishing, 1996. - P. 36-39.
72. Гасов, В. М. Надежность, эргономика и качество АСОИУ: Учебное пособие [Текст] / В. М. Гасов, А. М. Цыганенко. - М. : МГУП, 2006. - 302 с.
73. Липаев, В. В. Обеспечение качества программных средств. Методы и стандарты [Текст] / В. В. Липаев. - М.: Синтег, 2001. - 380 с.
74. Марков, А. С. Оценка динамической сложности программного обеспечения на ПЭВМ [Текст] / А. С. Марков // Методы и средства совершенствования сложных управляющих систем и комплексов. - СПб.: БГТУ им. Д.Ф. Устинова (Военмех), 1992. - С. 14-27.
75. Ледовских, И. Н. Метрики сложности кода: технический отчет [Текст] / И. Н. Ледовских. - М.: Институт системного программирования РАН, 2012. - 22 с.
76. Lorenz, M. Object-Oriented Software Metrics: A Practical Approach [Text] / M. Lorenz, J. Kidd - PrenticeHall, 1994. - 154 p.
77. Иыуду, К.А. Надежность, контроль и диагностика вычислительных машин и систем [Текст] / К. А. Иыуду. - М.: Высшая школа, 1989. - 216 с.
78. Basili, V. Iterative Enhancement: A Practical Technique for Software Development [Text] / V. Basili, A. Turner. // IEEE Transactions on Software Engineering. - 1975. - Vol. 1(4). - P. 390-396.
79. Oviedo, E. I. Control flow, data flow and program complexity [Text] / E. I. Oviedo // Proc. IEEE COMPSAC. - 1980. -Chicago, IL. - P. 146-152.
80. Milutin, A., Software code metrics [Electronic resource] / A. Milutin. -Electronic text data. - 2009. - Mode of access: http://www.viva64.com/en/aZ0045/. -The title from the screen.
81. Chidamber, Sh. R. K. A Metrics Suite for Object Oriented Design / Sh. R. Chidamber , Ch. F. Kemerer [Text] // IEEE Transactions on Software Engineering. -1994. - Vol. 20, No. 6. - P. 476-493.
82. Малышкин, В. Э. Основы параллельных вычислений [Текст] / В. Э. Малышкин. - Новосибирск: Изд-во НГТУ, 1998. - 60 с. .
83. Котов, В. Е., Сети Петри [Текст] / В. Е. Котов - М.: Наука, 1984. - 160
с.
84. Питерсон, Дж. Теория сетей Петри и моделирование систем [Текст] / Дж. Питерсон ; пер. с англ. - М.: Мир, 1984. - 264 с.
85. Федотов, И. Е. Некоторые приёмы параллельного программирования. Учебное пособие [Текст] / И. Е. Федотов. - М.: Изд-во МГИРЭА(ТУ), 2008. - 188 с.
86. Мараховский, В. Б. Моделирование параллельных процессов. Сети Петри. Курс для системных архитекторов, программистов, системных аналитиков, проектировщиков сложных систем управления [Текст] / В. Б. Мараховский, Л. Я. Розенблюм, А. В. Яковлев. - СПб.: Профессиональная литература, 2014. - 395 с.
87. Мальков, М. В. Сети Петри и моделирование [Текст] / М. В. Мальков, С. Н. Малыгина // Труды Кольского научного центра РАН. - 2010. - № 3. - С. 3540.
88. Мурата, Т. Сети Петри: свойства, анализ и приложения [Текст] / Т. Мурата ; пер. с англ. // Тр. ТИИИЭР. - 1989. - Т. 77. No 4. - С. 41-79.
89. ISO/IEC 42010:2011. System and software engineering - Architecture description [Text]. - First edition 2011-12-01. - Switzerland, 2011. - 37 p.
90. Трутнев, Д. Р. Архитектуры информационных систем. Основы проектирования: Учебное пособие [Текст] / Д. Р. Трутнев. - СПб.: НИУ ИТМО, 2012. - 66 с.
91. Фаулер, М. Архитектура корпоративных программных приложений [Текст] / М. Фаулер ; пер. с англ. - М.: Издательский дом «Вильямс», 2006. - 544 с.
92. Systems Engineering Principles and Practice - 2-nd ed. [Text] / A. Kossiakoff , W. N. Sweet , S. J. Seymour , S. M. Biemer. - New Jersey: A John Wiley & Sons, 2011. - 599 с.
93. Емеличев, В. А. Лекции по теории графов [Текст] / В. А. Емеличев, О. И. Мельников, В. И. Сарванов, Р. И. Тышкевич. - М.: Наука, Физматлит, 1990. -384 с.
94. Берзтисс, А. Структуры данных [Текст] / А. Берзтисс. - М.: Статистика, 1974. - 408 c.
95. Евстигнеев, В. А. Теория графов: алгоритмы обработки деревьев [Текст] / В. А. Евстигнеев, В. Н. Касьянов. - Новосибирск: Наука, 1994. - 360 c.
96. Кнут, Д. Э. Искусство программирования для ЭВМ. Т. 3. Сортировка и поиск [Текст] / Д. Э. Кнут. - М.: Мир, 1978. - 848 с.
97. Евстигнеев, В. А. Применение теории графов в программировании [Текст] / В. А. Евстигнеев. - М.: Наука, 1985. - 352 c.
98. Волчкова, Г. П. Сборник задач по «Теории алгоритмов» [Текст] / Г. П. Волчкова, В. М. Котов, Е. П. Соболевская. - Мн. : БГУ, 2005. - 59 с.
99. Бабичев, А. М. Метод улучшения метрики цикломатической сложности для оценки высокоточных распределенных вычислений [Текст] / А. М. Бабичев // Современная наука: актуальные проблемы теории и практики. Серия «Естественные и технические науки». - № 5. - 2016. - С. 27-30.
100. Evaluation of complexity of the large-block cloud computing using arithmetics with enhanced accuracy [Text] / V. E. Podolskiy, S. S. Tolstyh, A. M. Babichev, S. G. Tolstyh // Journal of Theoretical and Applied Information Technology.
- 2015. - Vol.82, № 1. - P. 13-36.
101. Исследование динамических характеристик потока задач суперкомпьютерной системы [Текст] / А. С. Антонов, С. А. Жуматий, Д. А. Никитенко, К. С. Стефанов, А. М. Теплов, П. А. Швец // Выч. мет. программирование. - 2013. - Том 14, выпуск 4. - c. 104-108.
102. MacNeil, T. Don't Be Misled By MIPS [Electronic resource] / T. MacNeil.
- Electronic text data. - IBM magazine, 2004. - Mode of access: http://www.ibmsystemsmag.com/mainframe/tipstechniques/systemsmanagement/Don-t-Be-Misled-By-MIPS/. - The title from the screen.
103. Костомаров, Д. П. Вводные лекции по численным методам [Текст] / Д. П. Костомаров, А. П. Фаворский. - М.:МГУ, 2004. - 184 с.
104. Бахвалов, Н. С. Численные методы [Текст] / Н. С. Бахвалов, Н. П. Жидков, Г. М. Кобельков. - М: БИНОМ, Лаборатория знаний, 2006. - 636 с.
105. Ильин, В. А. Основы математического анализа. Часть 1 [Текст] / В. А. Ильин, Э. Г. Поздняк. - М.: Физматлит, 2008. - 648 с.
106. Структурно-параметрическая минимизация орграфа облачной вычислительной системы [Текст] / С. С. Толстых, А. М. Бабичев, В. Е. Подольский, С. Г. Толстых // Вестник научных конференций. - 2015. - № 1-7 (1).
- С. 51-59.
107. Вычислительная сложность решения систем линейных алгебраических уравнений: этап эксперимента [Текст] / С. С. Толстых, А. М. Бабичев, В. Е. Подольский, С. Г. Толстых // Вестник научных конференций. -2015. - № 1-7 (1). - С. 42-51.
108. Прата, С. Язык программирования C++. Лекции и упражнения [Текст] / С. Прата. - Вильяму 2012 . - 645 c.
109. Построение математических моделей химико-технологических объектов [Текст] / Е. Г. Дудников, В. С. Балакирев, В. Н. Кривсунов, А. М. Цирлин Ленинград: Изд. «Химия», 1970. - 313 с.
110. Improvement of the programs complexity evaluation metrics, based on the analysis of control flow graph [Text] / A. M. Babichev, V. E. Podolskiy, S. S. Tolstyh, S. G. Tolstyh, A. N. Gribkov // Вестник ТГТУ. - № 2. - 2016. - С. 208-216.
111. Борздова, Т. В. Основы статистического анализа и обработка данных с применением Мicrosoft Ехсе! : учеб. пособие [Текст] / Т. В. Борздова. - Минск : ГИУСТ БГУ, 2011. - 75 c.
112. Воробьев, А. В. Аппроксимация в Excel [Электронный ресурс] / А. В. Воробьев. - 2014. - Режим доступа: http://al-vo.ru/spravochnik-excel/approksimaciya-v-excel.html. - Загл. с экрана.
113. Weicker, R. P. Dhrystone: A Synthetic Systems Programming Benchmark [Text] / R. P. Weicker // Communications of the ACM. -1984. - Vol. 27, Issue 10. - P. 1013-1030.
114. Бабичев, А. М. Метод оценки сложности высокоточных вычислений в распределенном режиме [Текст] / А. М. Бабичев, С. Г. Толстых, В. Е. Подольский // Международная научно-практическая конференция Ассоциации «Объединенный университет имени В.И.Вернадского». - Тамбов, 2016. - С. 306310.
115. Ильин, В. А. Линейная алгебра: Учебник для вузов. - 6-е изд., стер. [Текст] / В. А. Ильин, Э. Г. Позняк. - М.: ФИЗМАТЛИТ, 2004. - 280 с.
116. Кирьянов, Д. В. Вычислительная физика [Текст] / Д. В. Кирьянов, Е. Н. Кирьянова - М.: Полибук Мультимедиа, 2006. - 352 с.
117. Эпоксидные смолы [Текст] / А. Воробьев // Компоненты и Технологии. - 2003. - №8. - С. 170-173.
118. Еселев, А. Д. Эпоксидные смолы и отвердители для производства лакокрасочных материалов [Текст] / А. Д. Еселев, В. А. Бобылев // Лакокрасочные материалы и их применение. - 2005. - № 10. - С. 16-26.
119. Абдукодиров, А. А. Алгоритм распараллеливания на основе метода Гаусса для решения систем линейных алгебраических уравнений высокого порядка [Текст] / А. А. Абдукодиров // VIII Всероссийская конференция "Современные методы математического моделирования природных и антропогенных катастроф". - Кемерово, 2005. - С. 32-39.
Экспериментально полученное среднее время расчета основных математических и арифметических операций для эталонного компьютера
Таблица А.1 - Среднее время счета для арифметических операций в зависимости от длины мантиссы
г для операции г для операции г для операции г для операции
р сложения вычитания умножения деления
54 0,000296 0,000322 0,00156 0,015288
72 0,000319 0,00031 0,0025 0,01669
90 0,000381 0,00047 0,0036 0,028424
108 0,00042 0,00042 0,004997 0,036312
126 0,00031 0,00047 0,00688 0,03673
144 0,000461 0,000504 0,00844 0,043775
162 0,000528 0,00055 0,010947 0,067183
180 0,000616 0,000588 0,013165 0,075364
198 0,000593 0,00062 0,015986 0,0853
216 0,000652 0,00062 0,01906 0,09625
234 0,00078 0,000692 0,02214 0,10235
252 0,00078 0,000724 0,025627 0,1133
270 0,00078 0,00078 0,029384 0,129433
288 0,000808 0,000761 0,033566 0,1433
306 0,00078 0,000827 0,03782 0,167025
324 0,000843 0,000857 0,042195 0,178125
342 0,000937 0,00094 0,046971 0,189275
360 0,000954 0,000926 0,051955 0,200212
г для операции г для операции г для операции г для операции
р сложения вычитания умножения деления
378 0,000959 0,000965 0,0575 0,253925
396 0,001014 0,000994 0,06282 0,273075
414 0,001056 0,00109 0,06845 0,293388
432 0,001094 0,00109 0,07469 0,2996544
450 0,001118 0,001125 0,080875 0,3059208
468 0,00109 0,001147 0,089437 0,3121872
486 0,00125 0,001206 0,096384 0,3184536
504 0,001202 0,00122 0,10376 0,32472
522 0,001276 0,00125 0,111153 0,43935
540 0,00123 0,00141 0,11877 0,46175
558 0,00133 0,001336 0,12658 0,507075
576 0,001408 0,001406 0,13437 0,5150125
594 0,00141 0,001417 0,14314 0,52295
612 0,00156 0,001406 0,151727 0,5308875
630 0,001458 0,001448 0,16096 0,538825
648 0,001491 0,001504 0,17009 0,5467625
666 0,00156 0,00156 0,179493 0,5547
684 0,001554 0,001571 0,188967 0,5735
702 0,001602 0,00172 0,198867 0,59275
720 0,001644 0,001637 0,2096 0,6131
738 0,001718 0,001704 0,21992 0,731325
756 0,00172 0,001874 0,23065 0,7545
Таблица А.2 - Среднее время счета для тригонометрических функций в зависимости от длины мантиссы
р г для 8Ш г для ео8 г для tg г для агс8т г для агссо8 г для аг^
54 1,7587 1,770889 1,7895 0,719333 1 0,119186
72 1,88765 1,910857 3,797333 1,214429 1,7465 0,188
90 4,9534 5,000389 9,888 1,696824 2,468 0,291212
108 6,90135 7,036458 13,80917 2,532 3,741143 0,446683
126 7,66015 7,6765 15,20675 3,73075 5,563 0,656
144 9,5165 9,5748 18,9907 5,2132 7,781 0,937333
15,08277
162 15,00215 8 30,092 7,063 10,5508 1,308286
19,38366
180 19,208 7 38,47233 8,837556 13,158 1,656
198 28,3604 28,4245 56,39383 11,37 17,033 2,187
36,99155
216 36,6555 6 73,4685 14,44343 21,58533 2,791778
234 41,7958 42,0875 83,27225 17,971 26,91 3,595
48,09576 48,21433
252 7 3 95,77767 22,101 33,097 4,385667
55,90283
270 55,6831 3 110,651 25,8336 38,629 5,167333
62,88083
288 62,79995 3 124,392 31,0776 46,519 6,25
75,60616
306 75,32645 7 149,8701 37,41 55,739 7,633
82,26533
324 81,5629 3 162,7348 43,981 65,86067 9,094667
p t для sin t для cos t для tg t для arcsin t для arccos t для arctg
342 88,1185 88,8195 175,762 51,3864 76,89267 10,6415
360 93,88195 94,7565 187,0185 57,8488 86,968 12,063
120,5313
378 119,8617 33 238,404 66,85 100,025 14,10889
137,0121
396 136,5302 67 272,0868 76,43467 114,463 16,52733
175,9962 176,9996
414 5 67 351,0675 86,95533 130,622 19,103
193,8767 194,8093
432 625 893 386,8344 98,49733 147,747 21,377
211,7572 212,6191
450 75 115 422,6014 108,5613 162,874 23,651
229,6377 230,4288
468 875 338 458,3683 123,214 184,625 26,82533
248,2385
486 247,5183 56 494,1353 137,652 206,362 32,65369
504 269,0247 270,2285 536,878 153,184 229,753 33,28385
371,2870 372,2231
522 5 67 739,2853 170,006 255,1373 36,799
395,8233
540 394,8454 33 785,666 184,595 276,65 40,112
440,8578 441,3883
558 5 33 876,0908 203,4793 305,011 44,3625
452,0962 452,6552
576 083 775 896,6587 223,5707 335,39 48,791
463,3345 463,9222
594 667 22 917,2266 244,636 367,589 53,492
612 474,5729 475,1891 937,7945 267,462 401,848 58,62467
p t для sin t для cos t для tg t для arcsin t для arccos t для arctg
25 665
485,8112 486,4561
б30 833 11 958,3625 286,588 431,116 63,099
49Т,0496 491,1230
б48 411 555 918,9304 311,984 469,558 68,6004
ббб 508,288 508,99 999,4983 338,95 509,219 14,68233
б84 529,611 531,049 1041,893 366,884 552,362 80,9105
553,3056
l02 550,114 61 1016,855 396,561 596,505 81,80133
514,1561
l20 569,053 18 1111,915 421,806 635,004 93,352
692,9441
l38 691,969 61 1351,205 454,215 684,5853 100,892
119,3813
156 120,939 33 1415,225 488,825 135,642 108,542
Таблица А.3 - Среднее время счета для логарифмических функций в зависимости от длины мантиссы
р г для натурального логарифма г для десятичного логарифма г для двоичного логарифма
54 0,536444 0,553353 1,081905
72 0,682222 0,712211 1,370571
90 1,156 1,198 2,336
108 1,567429 1,626 3,126
126 1,710533 1,75 3,407
144 2 2,031 3,937
162 3,35 3,437 6,719
180 3,73125 3,844 7,438
198 4,282 4,375667 8,565
216 4,739667 4,830571 9,469
234 5,5564 5,646667 11,095
252 6,056444 6,136 12,033
270 6,938 7,0504 13,813
288 7,477 7,625 14,907
306 9,523143 9,563333 18,99133
324 9,8915 10,002 20,066
342 11,48 11,563 22,898
360 11,91233 12,02133 23,742
378 15,20933 15,283 30,43933
396 15,866 16,002 31,721
414 17,43029 17,512 34,815
р г для натурального логарифма г для десятичного логарифма г для двоичного логарифма
432 18,10723 18,2288 36,112
450 18,78417 18,9456 37,409
468 19,46111 19,6624 38,706
486 20,13806 20,3792 40,003
504 20,815 21,096 41,3
522 27,56875 27,752 55,24333
540 28,44 28,74267 57,1108
558 31,21257 31,472 62,536
576 31,73026 32,0124 63,5896
594 32,24794 32,5528 64,6432
612 32,76563 33,0932 65,6968
630 33,28331 33,6336 66,7504
648 33,801 34,174 67,804
666 35,7455 36,081 71,615
684 38,478 38,893 77,132
702 40,549 40,927 81,305
720 41,21033 41,738 82,539
738 50,61725 50,879 101,602
756 51,26533 51,506 102,744
Таблица А.4 - Среднее время счета для прочих операций в зависимости от длины мантиссы
г для г для г для г для г для
вычисления модуля остатка от квадратного возведения в
р ех числа деления корня степень
54 2,188 0,000074 0,01366 0,021838 2,7655
72 1,812 0,000082 0,016405 0,024027 2,515875
90 4,643429 0,00008 0,017983 0,043276 5,865333
108 5,845 0,00008 0,019533 0,055298 7,516
126 4,532 0,000081 0,019464 0,055747 6,277333
144 5,063 0,000083 0,019533 0,065747 7,0945
162 12,80267 0,00008 0,019533 0,109 16,256667
180 13,908 0,000082 0,01955 0,119411 17,7445
198 15,554 0,000086 0,019439 0,134821 19,955
216 16,909 0,000081 0,019533 0,151707 21,7685
234 16,91533 0,000088 0,019681 0,158692 19,8375
252 16,92167 0,000084 0,019533 0,172 21,2835
270 16,928 0,000085 0,019537 0,197926 23,9475
288 18,032 0,000085 0,01985 0,217643 25,588
306 35,393 0,000093 0,019828 0,270976 45,067
324 36,565 0,000093 0,019707 0,287596 46,7315
342 41,347 0,00009 0,019903 0,303489 53,028
360 42,551 0,000083 0,019844 0,319851 54,6445
378 52,177 0,000095 0,019868 0,406 67,6295
396 54,18067 0,000088 0,019983 0,437333 70,428
414 58,677 0,000089 0,020192 0,469 70,81491667
г для г для г для г для г для
вычисления модуля остатка от квадратного возведения в
р ех числа деления корня степень
432 59,75533 0,000093 0,020054 0,476813 71,20183333
450 60,83367 0,000096 0,0201 0,484626 71,58875
468 61,912 0,000093 0,0203 0,492439 71,97566667
486 62,99033 0,000094 0,02031 0,500252 72,36258333
504 64,06867 0,000092 0,020317 0,508065 72,7495
522 65,147 0,000098 0,020317 0,688 92,775
540 66,895 0,000103 0,0203 0,718667 95,4935
558 72,351 0,0001 0,020425 0,781 103,6185
576 74,196 0,000103 0,0204 0,794452 106,62
594 116,622 0,000105 0,0203 0,807905 147,9505
612 118,059 0,000111 0,020313 0,821357 150,23
630 123,32 0,000109 0,020502 0,834809 156,968
648 125,102 0,000111 0,020552 0,848262 159,394
666 130,964 0,000109 0,020317 0,861714 167,109
684 139,092 0,000106 0,0206 0,888429 178,126
702 145,217 0,000108 0,0205 0,918444 186,232
720 147,108 0,000118 0,0211 0,9438 188,7995
738 174,25 0,000109 0,020749 1,162182 225,6625
756 176,172 0,000107 0,0211 1,196077 228,1155
Экспериментально полученное среднее время расчета основных математических и арифметических операций для тестового компьютера
Таблица Б.1 - Среднее время счета для арифметических операций в зависимости от длины мантиссы
г для операции г для операции г для операции г для операции
р сложения вычитания умножения деления
54 0,00056 0,000559 0,003133 0,030211
72 0,000641 0,000654 0,004917 0,032653
90 0,000746 0,00078 0,007237 0,05599
108 0,000793 0,000785 0,010411 0,072917
126 0,00089 0,000935 0,013533 0,074467
144 0,000941 0,000991 0,018233 0,088767
162 0,000954 0,001041 0,022389 0,136475
180 0,001054 0,001085 0,0276 0,153967
198 0,001155 0,001262 0,033417 0,174311
216 0,00125 0,001278 0,039467 0,197392
234 0,00132 0,001352 0,046164 0,210417
252 0,001355 0,001394 0,05365 0,232989
270 0,00124 0,00156 0,06104 0,266844
288 0,001706 0,001631 0,069124 0,295308
306 0,001718 0,001581 0,07865 0,345317
324 0,001689 0,00172 0,086983 0,36615
342 0,001735 0,001798 0,097607 0,390811
360 0,00188 0,00172 0,108333 0,417738
г для операции г для операции г для операции г для операции
р сложения вычитания умножения деления
378 0,001887 0,00203 0,119142 0,52501
396 0,001959 0,002033 0,130733 0,560667
414 0,002034 0,002057 0,14292 0,607817
432 0,002041 0,002177 0,155217 0,6162795
450 0,002186 0,002196 0,16875 0,624742
468 0,002248 0,002301 0,182978 0,6332045
486 0,002325 0,00228 0,197393 0,641667
504 0,002366 0,002387 0,212678 0,6711
522 0,002502 0,002419 0,227956 0,903844
540 0,002526 0,00248 0,243225 0,95324
558 0,002582 0,002525 0,259544 1,047667
576 0,0026 0,002612 0,276744 1,063511333
594 0,002727 0,002813 0,295027 1,079355667
612 0,002783 0,002759 0,31315 1,0952
630 0,002896 0,002961 0,331944 1,111044333
648 0,002867 0,003019 0,348967 1,126888667
666 0,002986 0,002981 0,368756 1,142733
684 0,003074 0,003126 0,3889 1,184133
702 0,003125 0,003124 0,409367 1,222933
720 0,003168 0,003232 0,430378 1,263017
738 0,003167 0,003437 0,452789 1,510433
756 0,003272 0,00328 0,481277 1,557844
Таблица Б.2 - Среднее время счета для тригонометрических функций в зависимости от длины мантиссы
р г для 8Ш г для ео8 г для tg г для агс8т г для агссо8 г для аг^
54 3,562 4,114583 7,115217 1,483619 2,047719 0,240341
72 3,812 4,568333 7,707778 2,479815 3,541667 0,416667
90 10,052 10,22859 19,80889 3,489167 5,062667 0,602667
108 14,125 14,136 27,91667 5,260667 7,730952 0,921574
15,57333
126 15,594 3 30,64333 7,83875 11,51083 1,353333
19,61466
144 7 19,74 38,71556 11,080833 16,26333 1,926667
162 30,938 30,99 61,485 14,834 21,97833 2,708889
180 40,032 40,0525 79,50667 18,541905 27,41333 3,436667
198 58,376 57,735 114,3517 24,028889 35,46833 4,509444
77,42333
216 77,251 3 153,1475 30,486667 45,01778 5,833333
88,02333
234 88,063 3 173,6283 37,916667 56,225 7,291667
100,6788
252 100,783 9 198,1783 46,632222 69,09 9,0625
116,5013
270 116,658 3 228,91 54,964615 80,79889 10,73
Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.