Управление распределенными вычислениями на основе оценки сложности задач тема диссертации и автореферата по ВАК РФ 05.13.01, кандидат наук Бабичев, Антон Михайлович

  • Бабичев, Антон Михайлович
  • кандидат науккандидат наук
  • 2016, Тамбов
  • Специальность ВАК РФ05.13.01
  • Количество страниц 163
Бабичев, Антон Михайлович. Управление распределенными вычислениями на основе оценки сложности задач: дис. кандидат наук: 05.13.01 - Системный анализ, управление и обработка информации (по отраслям). Тамбов. 2016. 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 шифр ВАК

Введение диссертации (часть автореферата) на тему «Управление распределенными вычислениями на основе оценки сложности задач»

ВВЕДЕНИЕ

Актуальность работы. Существует множество областей науки и производства, требующих очень высокоточных вычислений. Малейшие неточности в таких отраслях могут привести к крайне негативным последствиям и, зачастую, экономическим потерям и даже вреду человеческому здоровью. Крупные задачи, критичные к точности, возникают в самых разнообразных областях: в физике и космологии, в экспериментальной математике и вычислительной геометрии, в различных сферах высокотехнологичной промышленности и т.д. [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 шифр ВАК

Список литературы диссертационного исследования кандидат наук Бабичев, Антон Михайлович, 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 файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.