viagra super force

+7(495) 123-XXXX  г. Москва

Выпуски журналов

  • Серия
  • Серия
  • Серия
  • Серия
  • Журнал
  • Журнал
  • Журнал
  • Журнал

А.М. Бабичев,  (Аспирант, ФГБОУ ВО «Тамбовский государственный технический университет», Тамбов)

Серия «Естественные и Технические науки» # Май  2016

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

Ключевые слова: Метрики оценки сложности, параллельные вычисления, облачные вычисления, высокоточные вычисления.

 

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

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

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

В данной работе мы используем метрики оценки сложности программы, использующих для этого граф потока управления программ (ГПУ), в частности, метрику цикломатической сложности, предложенную Томасом МакКейбом в 1976 году [2]. Метрика сложности, предложенная Маккейбом, называется цикломатической сложностью программы и может быть вычислена по формуле:

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

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

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

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

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

Метрики оценки сложности делятся на 3 основных группы:

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

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

Читать полный текст статьи …


СПИСОК ЛИТЕРАТУРЫ:
1. Толстых С. С., Подольский В. Е., Оценка сложности крупноблочных облачных вычислений, использующих арифметику повышенной точности. Труды ИСП РАН, том 26, вып. 5, 2014 г., с. 29-64.
2. McCabe T.J., A complexity measure // IEEE Transactions on Software Engineering, vol. SE-2, no. 4, 1976. – с. 308-320.
3. Толстых С.С., Подольский В.Е., Бабичев А.М., Толстых С.Г. Вычислительная сложность решения систем линейных алгебраических уравнений: этап эксперимента, Вестник научных конференций. 2015. № 1-7 (1). с. 42-51.
4. Альфс Берзтисс. Глава 3. Теория графов. 3.6. Деревья // Структуры данных – М.: Статистика, 1974. – 131 с.
5. Федотов И. Е., Некоторые приёмы параллельного программирования. Учебное пособие. М.: Изд-во МГИРЭА(ТУ), 2008. – 188 с.
6. Толстых С.С., Подольский В.Е., Бабичев А.М., Толстых С.Г. Структурно-параметрическая минимизация орграфа облачной вычислительной системы, Вестник научных конференций. 2015. № 1-7 (1). с. 51-59.
 



© 
А.М. Бабичев, Журнал "Современная наука: актуальные проблемы теории и практики".
 

 

 

 
SCROLL TO TOP

 Rambler's Top100 @Mail.ru