EVALUATION OF THE ALGORITHM THE MONTE CARLO ON PRESENT GRAPHICS
ACCELERATORS
A.N. Ivutin, I.A. Strahov
The experimental verification of the dependence the performance Monte Carlo algorithm for different configurations of the computational kernel graphics processor. Analyzed the influence offlow and scalar processors for the duration the algorithm.
Key words: GPGPU, GPU, CUDA, NVidia, method Monte-Carlo, calculation core, GRID, configuration.
Ivutin Alexey Nicolaevich, candidate of technical science, docent, alexey. ivutin@,gmail. com, Russia, Tula, Tula State University,
Strahov Ilia Andreevich, undergraduate, iastrahov@,gmail. com, Russia, Tula, Tula State University
УДК 004.04
ДИНАМИЧЕСКАЯ УНИФИКАЦИЯ КАК СПОСОБ ПОВЫШЕНИЯ
КАЧЕСТВА И ЭФФЕКТИВНОСТИ СОПРОВОЖДЕНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ В КОРПОРАТИВНОЙ СЕТИ ТРАНСПОРТНО-ПРОИЗВОДСТВЕННОЙ СИСТЕМЫ
В.Н. Изотов
Рассмотрена постановка задачи динамической унификации программного обеспечения. Приведена технологическая схема решения двухуровневой задачи унификации. Сформулирована математическая модель двухуровневой динамической задачи унификации. Разработан алгоритм решения двухуровневой динамической задачи унификации.
Ключевые слова: программное обеспечение, технология унификации, динамическая унификация.
В транспортно-производственных системах (ТПС) [1] необходимость решения динамической задачи унификации как системного, так и прикладного программного обеспечения (ПО) корпоративной компьютерной сети ТПС обусловлено периодическим появлением новых прикладных задач и технологий их решения. В свою очередь, связанное с этим увеличение числа разнотипных программных средств и систем приводит к снижению качества функционирования ПО в целом (надёжности, быстродействия), а также к снижению эффективности его сопровождения в составе ТПС (увеличению суммарных затрат на внедрение, сопровождение, эксплуатацию).
В связи с вышеизложенным становится актуальным решение такой задачи унификации программного обеспечения, которая позволит спланировать обоснованное сокращение номенклатуры программных средств в различные периоды функционирования компьютерной сети (КС), характеризуемые прогнозируемым появлением нового ПО, нового компьютерного оборудования и новых технологий их применения.
Динамические задачи унификации изделий различного назначения рассматривались в [2]. Среди них особый интерес для нашего случая представляет динамическая многоуровневая задача, поскольку программное обеспечение компьютерной сети транспортно-производственной системы имеет сложную многоуровневую структуру.
Особенности постановки одноуровневой динамической задачи применительно к унификации программного обеспечения корпоративных компьютерных сетей рассмотрены в [3].
Аналогично с учётом модульного принципа построения ПО можно сформулировать многоуровневую задачу. В этом случае цель унификации по экономическому критерию заключается в следующем - обеспечить функционирование прикладных программных систем (ППС) различного назначения (зачастую разработанных различными фирмами-разработчиками и входящих в состав ПО корпоративной компьютерной сети) с использованием минимального набора разнотипных операционных систем (ОС), комплектуемых минимальным набором разнотипных программных модулей (ПМ).
Технологическая схема решения такой задачи представлена на рисунке.
1 : 2 ; з : ] 1>
Номенклатура программных модулей
- Результаты унификации (типы ПМ по еле унификации)
- Результаты унификации (типы ОС по еле унификации)
Технологическая схема решения двухуровневой задачи унификации системного ПО КС
48
В связи с этим предлагается математическая постановка двухуровневой динамической задачи в следующем виде.
Рассмотрим процесс выбора оптимальных типоразмерных рядов системного ПО с учетом прогнозируемой перестройки ряда, связанной с периодическим изменением в будущем функции спроса и эксплуатационных затрат на программное обеспечение.
Имеются два непересекающихся множества: множество А - совокупность ОС и множество В - совокупность ПМ, которые могут входить в состав ОС. Кроме того, ОС и ПМ связаны дополнительными условиями их совместимости, которые состоят в том, что ряд ПМ должен удовлетворять по параметрам ряду ОС.
Известно, что:
а) множество А состоит из подмножеств Аа (а = 1, 2, ..., |А|) видов
ОС. Любое подмножество Аа содержит т параметрических рядов, предназначенных для удовлетворения потребностей в операционных систем 1-х типов в интервале времени Т, состоящем из ? промежутков времени, в которых возможны замены ОС:
Аа с А, Аа = хи , ¡=1, т; t=1, п; а = 1, 2, ..., А , где хи - количество ОС ¡-го типа, используемых в промежутке времени Величина хи >0, если в промежутке времени ? используются ОС ¡-го типа, и хы =0 - в противном случае;
б) множество В состоит из подмножеств Вр (в = 1, 2, ..., |в|) видов ПМ. Любое подмножество В^ содержит г параметрических рядов, предназначенных для удовлетворения потребностей в ПМ р-х типов в интервале времени Т, состоящем из т промежутков времени, в которых возможны замены ПМ:
в в с В, В в =
У
рт
, р=1, г; т = 1, п; в = 1, 2, ... , |В|,
где У рТ - количество ПМ р-го типа, используемых в промежутке времени т. Величина УрТ >0, если в промежутке времени т используются ПМ р-го
типа, и УрТ =0 - в противном случае.
Требуется найти такой порядок замены ОС и ПМ, принадлежащих множествам А и В, который минимизирует суммарные затраты, связанные с выбором динамического многоуровневого параметрического ряда, при условии полного удовлетворения потребностей в ОС и ПМ в интервале времени Т. При этом полагается, что:
для любого Аа операционная система ¡-го типа из ¡-го промежутка времени может быть использована для удовлетворения потребностей в
49
операционных системах 1, 2, ... , i-го типов в t, t+1, ... , n-м промежутках времени;
для любого Bß ПМ p-го типа из промежутка времени t может быть использован для удовлетворения потребностей в ПМ 1, 2, ... , p-го типов в промежутках времени t t+1, ... , n.
Математически задачу можно записать в виде
m n r n о / \
C = min X X X ca (xit)+X X X cp [ypr)
a i=1t=1 ß p=1 t=1
где a = 1, ,2, ... , \ä\; xit e Aa; ß = 1, 2, ... , |B|; ypT e Bß
(1)
при ограничениях
__m n
X xu > XX bf a 1, 2, ... , |A|;
i=1 t=1
xite Aa
X YStdp, > X bt, y£t' * 0;
dpT ePk* bit elk
t (p )> t (i) при p=i и p (t )> i (t) при t=t, т.е. IkP* = 0, k= ГГ;
CaX) = С + Cax« при xit > 0
(2) (3)
при X. = 0 , представляют собой затраты, связан-
ные с разработкой, вводом в действие, производством и эксплуатацией i-го
i0« ^ г^0а г^а ^ Ca) •
типа ОС в промежутке времени t (c, Cß, )= C't + Cß,y„ при y„ > 0,
pt V pt )
0a a i, t+1 < Cit , Ci, t+1 <
представляют собой затраты,
pts pt Г У p,
0 при ypT = 0
связанные с разработкой, вводом в действие, производством и эксплуата-
цией p-го типа ПМ в промежутке времени т
(C
0ß p, t+1
< C 0ß, Cß
pt
'p,t+1
Cß )•
^pt);
С 0а !-1а 0в в -
и , си, с рт, с рт, во-первых, не убывают с ростом I и р, во-вторых, не возрастают с ростом ? и г; — потребность в ОС /-го типа в промежутке времени ^рг— потребность в ПМ р-го типа в промежут-
рг
ке времени г Уи — коэффициент совместимости ОС и ПМ;
у, если в состав одного образца ОС /-го типа, используемого в промежутке времени I, можно включить укомплектующих ПМ р-го типа из промежутка г,
0, в противном случае;
50
g pt = ' it
h = b ( = i(t), ik, i(t) = 1, h; t=th, t(i) t(i) = tk, n)} -
множество ОС, потребности в которых обеспечиваются операционными системами ik-ro типа из промежутка времени tk, причем наименьший номер типа ОС, требуемого в промежутке t, обозначен i(t), а наибольший номер промежутка, в котором требуется изделие i-го типа, - t (i);
P* = К* (p=p(tI pk* , P(t)=1 pk*;T Tk* ,T(p) T(p)=Tk* , n)} -
множество ПМ, потребности в которых обеспечиваются изделиями pk, -го типа из промежутка времени тк,, причем наименьший номер типа
ПМ, требуемого в промежутке t обозначен p(t), а наибольший номер промежутка, в котором требуется ПМ p-го типа, - t(p);
к = 1, K, к = 1, K - порядковые номера соответственно ОС и ПМ, включенных в выбранный параметрический ряд.
Ограничение (3) - условие структурной взаимосвязи параметрических рядов - характеризует порядок включения ПМ в состав ОС, который зависит от структуры исходных данных (от количества параметрических рядов и условий их совместимости). Оно должно выполняться для любой пары Aa, Bр, параметрические ряды которых связаны условиями совместимости. Ограничение (3) записано для случая, когда m=r. Если m Ф r, то подмножество, имеющее меньшее количество параметрических рядов, приводят к другому множеству этой же пары путем дополнительного включения в его состав фиктивных параметрических рядов. Место их включения и количество ОС и ПМ в них определяются условиями совместимости параметрических рядов данной пары подмножеств.
Для решения задачи (1) - (3) предлагается использовать комбинированный метод [4]. Его сущность заключается в том, что вначале (на первом этапе) для каждого из подмножеств Aa, Bр решают динамическую задачу без учета условия структурной взаимосвязи параметрических рядов. Полученные результаты позволяют определить нижнюю границу решения задачи (1) - (3). Затем (на втором этапе) с учетом ограничения (3) задачу решают методом ветвей и границ. В результате получают оптимальный параметрический ряд изделий.
На первом этапе задача (1) - (3) сводится к наиболее исследованному классу задач, для которых разработаны эффективные методы решения. Предварительно динамическая задача формулируется для любого из подмножеств Aa, Bр как задача выбора оптимального двухпараметрического ряда.
Рассмотрим постановку такой задачи на примере подмножества Aa. Каждое изделие этого подмножества характеризуется двумя параметрами:
51
и1, ( = 1, т; у=1, п), для которых выполняются условия:
и1 < и2 < ... <иг < ... <ит; (4)
гх > хг > ... >гз > ... >гп. (5)
Параметр и1 является основным параметром изделия и характеризует возможности его использования. Поэтому в дальнейшем под изделием с параметром и1 будем понимать изделие ¿-го типа. Здесь и далее для удобства описания алгоритма под словом «изделие» понимается программное изделие (ОС или ПМ), для которого выбирается параметрический ряд.
Параметр ^ характеризует начало момента выпуска изделий данного типа. Величина ^ определяется выражением
О = Т (п - 1),
п
где Т- интервал времени, состоящий из 1, 2, ... , п промежутков, для которого рассчитывается параметрический ряд.
Началу каждого промежутка времени поставлен в соответствие параметр ^ следующим образом: 0 = гп, 1=<п -1, ... , 1=<1, ... , п-1=<1. Таким образом, параметр ^ соответствует номеру промежутка времени, и в дальнейшем под изделием с параметром ^ будем понимать изделие, выпуск которого начался в промежутке времени 1
Заданы:
матрица Ъ1} потребностей в изделиях с параметрами и, 1
матрица С° постоянных затрат на разработку и ввод в действие изделий с параметрами и¿, //■;
матрица Сг/ затрат, необходимых на производство и эксплуатацию
единицы образца изделия с параметрами и, г/;
функция затрат на производство и эксплуатацию изделий с параметрами и, г/.
В зависимости от количества выпускаемых изделий х/■
С X )=С + Сх при ^ >0,
V У П при х/
11Х"11' 10 при х1■ = 0.
Требуется найти ряд изделий к = 1, К (К £ т X п) с параметрами
* =К ¿Л К, г/2), ... , к, /), -. , к, /
которые полностью обеспечивает заданные потребности при минимальных суммарных затратах и выполнении условия: изделие с параметрами
и1 £ ик и <1 - г/к (1 £ 1 £ ■к).
Математически задача формулируется следующим образом: требуется определить параметрический ряд изделий, который минимизирует
функцию вида
СИ=X (СОл + СиЛк) (6)
к=1
при ограничении
X,-
- X Ьр> 1 £ £ к
кк~ ¿аиР l-lk>J^Jk , (7)
где 1к - множество изделий, потребности в которых обеспечиваются изделиями с параметрами и^ , .
Приведенные рассуждения справедливы для любого подмножества Вр. Комплектующие изделия из этого подмножества имеют параметры
ир> Тд (р=1> г'> У=1> п), которые подчиняются условиям (4), (5). Величина определяется выражением
^ = Т (п - д).
п
Задачу (6) - (7) будем решать путем сведения ее к задаче определения кратчайшего пути в ориентированном сетевом графе. Для этого все возможные варианты обеспечения заданных потребностей представим в
виде сетевого графа с множеством вершин 2 = 1, 2 . Каждой вершине графа соответствует множество потребностей, которые обеспечиваются множеством изделий Ж2 при минимальных затратах С2 и выполнении условий (4), (5). Переход из вершины г в вершину g возможен в том случае,
когда имеется изделие с параметрами > , которое может полностью обеспечить множество потребностей
Szg = Sg \ Sz .
Таким образом, если выполняется условие
^ \ =1,
то вершина г соединена с вершиной g дугой (г, g), длина которой определяется выражением
С = С. + С. . х. .
^ гкРк гкРк гкРк
где л1крк
= X ьр .
by-eSzg
Обозначим множество дуг, входящих в вершину g, У* . Тогда изделие, которое обеспечивает выполнения условия
С = + сzg ) с2=, = О,
включается в множество
Следовательно, задача определения оптимального параметрического ряда сводится к задаче нахождения кратчайшего пути в ориентированном сетевом графе. Множество Wz определяет оптимальный динамический параметрический ряд с минимальными затратами, а элементы этого множества показывают процесс замены изделий, т.е. изменение структуры динамического ряда во времени.
Пусть множество потребностей S в изделиях с параметрами
и1> (.=1> т; 3=1, п), для которых выполняются условия (4), (5), задано в виде матрицы ||ьр ||. Чтобы оценить все возможные варианты обеспечения
заданных потребностей и выбрать из них наилучший (в смысле минимума затрат), построим ориентированный сетевой граф. С этой целью множество S представим в виде совокупности множеств Sz> 2=1, 2 :
S = ^ и s2 и ... иsz и ... и sz,
сформированных из элементов матрицы Ьр следующим образом. Положим S1 = 0, S2 ={Ь11}, а множество Sz+1 получаем из множества Sz (2 = 2, 7-1) за счет включения в него элемента Ьр с индексами: Ь+1, 1, если множество Sz содержит элементы Ьзх (( = 1, ¡; X = п), множество
Sz+1 будет состоять из элементов ЬдХ (( = 1, +1; X = 1);
Ь., ]+1, если множество Sz содержит элементы Ьх (( = 1, /-1; X X ),
Ьзх (( = 1, т; X = 3<п), множество Sz+1 будет состоять из элементов
Ьх ((5 = 1, .; X = 1, 3+1) и остальных элементов Ьзх (( = 1 +1, т; X < п), которые
совпадают с соответствующими элементами множества Sz. В результате имеем
^ =0, S2 ={ЬП }, S3{ьп, ьп} ... ,
^+1 ={ь11, Ь12, ... , Ь1 р ... , Ь1п }
S п+2 = {Ь21, Ь11 }
Sn+3 = {Ь21, Ь11, Ь12 }
Sn+4 = {Ь21, Ь11, Ь12, Ь13 } ... ,
S2п+1 ={Ь21, Ь11, ... , Ь1Р ... , Ь1п }
S2п+2 ={Ь22, Ь21, Ь11, Ь12 },
S2п+3 =(Ь22, Ь21, Ь11, Ь12, Ь13 ) ... .
Sz ={Ьр } =1, т;3=1, п Общее количество вершин в графе 2 зависит от числа множеств Sz,
а следовательно, от размерности матрицы Ъ1} . Поэтому число вершин в сетевом графе обозначим Zmn. Фиктивным матрицам размерностью 0 х 0, m х n' (m=0; n =0, n) и m'y. n (m'=0, m; n=o) соответствует лишь одно множество S1 =0, следовательно, Z00 = Zm0 = Z0n = 1. Учитывая это, общее число вершин в сетевом графе можно определить с помощью рекуррентного выражения
n
Z = У Z
mn m—1, e ,
e=0
при этом
Z = Z + Z = 1 + 1 = 2 Z = Z + Z + Z = 1 + 1 + 1 = 3
12 ^00 ~ ^01 ~ ^02 i T i "Г i J,
Zm = Z 00 + Z01 + ... +Z0n = 1 + 1 + ... +1=n+1, Z 21 = Z10 + Z11 = 1 + 2 = 3,
ri
Z = У Z
mn m—1,
1, V
£=0
Используя матричный способ решения, для каждого подмножества Аа, Вр можно найти параметрические ряды, определяющие нижнюю границу решения задачи (1) - (3). Если при этом выполняется условие (3), то задача решена. В противном случае переходим ко второму этапу решения.
Предварительно идентифицируем структуры множеств £ всех пар Аа, Вр, параметрические ряды которых связаны условиями совместимости. В результате выявляются множества идентичные по своей структуре, т.е. такие множества, для которых условие (3) выполняется в виде равенства.
На втором этапе задача решается методом ветвей и границ. При использовании этого метода необходимо определить порядок построения дерева вариантов и способ оценки нижней границы решения.
Введем обозначения:
а) для графа ОС вида а = 1, 2, ..., |А|:
и^ - множество дуг, соединяющих вершину Z с вершиной г и допускающих выполнение условия (3);
Еа& - множество дуг (г, &), соединяющих вершину г с вершиной &
- множество дуг (г, £), соединяющих вершину г с вершиной
введение которых во множество и 2 приводит к нарушению условия (3) или к неоптимальному решению;
я; = е; \ - множество дуг (г, соединяющих вершину г с
" Т тех
вершиной g, введение которых во множество и2 возможно;
б) для графа ПМ вида в = 1, 2, ... , :
V^ - множество дуг, соединяющих вершину Ь с вершиной I и допускающих выполнение условия (3);
Е^ - множество дуг (I, И), соединяющих вершину I с вершиной И; - множество дуг (I, И), соединяющих вершину I с вершиной И,
введение которых во множество Vь приводит к нарушению условия (3) или к неоптимальному решению;
ЯЬ = Еь \ Г/ - множество дуг (I, И), соединяющих вершину I с
вершиной И, введение которых во множество возможно;
в) для дерева возможных вариантов:
Qv =(и1 и и2 и ... и иж)и (VI1 и VI2 и ... и У1р) - множество дуг ветви дерева вариантов из начальной нулевой вершины в ую вершину а = 1, 2, ... , А ; в = 1, 2, ... , |Я| ;
=2-1 - затраты, связанные с обеспечением заданных по-
zgU
требностей ^Szg в ОС;
zgeU^
с ь = V с ь
^ ¡ь и - затраты, связанные с обеспечением заданных по-
1и<еу[
требностей ^ ^^¡и в ПМ.
¡ИеуЬ
Пусть у-й вершине дерева вариантов соответствуют множества и2 и V ь. Определим условия для формирования множеств Е; , , Е^, Г/, исходя из ограничения (3).
Рассмотрим два случая: г > I, г <1.
В первом случае выбирается дуга для включения во множество и 2,
а во втором - во множество V . Для первого случая при
z = ¡: г; =0, ^ g)е Яа ^-1 > g > 1);
z > ¡: ^ g)е Г; (¡-1 > g > 1), (z> g)е Я; ^-1 > g > I)
Для второго случая при
z < l: (l, h)e Fhß (l-l > h > z+l), (l, h)e Rßh (z > h > l)
выбор дуги для включения во множество Ua, Vlb производится исходя из условий
min в Г С% + C°g + CZZ } (8)
' С в + св + С вЛ
min lheRi
V
h lh li
(9)
Дуга (г, &), для которой выполняется условие (8), вводится во множество иа, дуга (I, И), для которой выполняется условие (9), - во множество Vр.
Ветвь дерева вариантов, соединяющая начальную нулевую вершину Q0 = 0 с ср-й вершиной, состоит из дуг (г, g)е иа и (1, Ъ)е Vlр . Выбирая последовательно с помощью условий (8), (9) дуги (г, и (I, И), формируем ветвь дерева вариантов. Процесс заканчивается, когда &=1. Н=1 для всех а и р. В этом случае величина
С = £ Си + X С!ь, а 1, 2, ... , \А\; в 1, 2, ... , |В|
а в
определяет суммарные затраты, при которых выполняется ограничение (3).
Чтобы отсечь бесперспективные ветви, для каждой вершины дерева вариантов определяется нижняя граница решения:
Нр(и, V) = Н(и) + Н(V), где Н(и) = £(Са + С* ) а 1, 2, ..., А,
а
Н(V) = X(Св + С1) в 1, 2, ... , В.
в
Если выполняется неравенство
Нр(и, V)<С,,
то ветвь является перспективной и продолжается процесс ее построения, в противном случае - ветвь бесперспективная. Тогда дуга (г, или (I, И), ведущая в данную вершину, исключается из множества и'а или Vр и включается в соответствующее множество Ра или Рр для того, чтобы исключить ее повторный просмотр из предыдущей вершины. В процессе решения величина С? может последовательно уточняться, так как при И=1, &=1 и Нр(и, V)<С1 принимается новое значение С?, соответствующее этой (р-й) вершине. Вычислительный процесс заканчивается, если для началь-
ной вершины дерева вариантов имеем Rg = 0, Rf = 0, т.е. нет ни одной
ветви дерева вариантов, просмотр которых мог бы привести к уменьшению последнего допустимого решения C1. В этом случае величина C1 является
оптимальным решением, а множества U" и Vf, соответствующие данному значению C1, определяют оптимальный динамический ряд.
Таким образом, на основании вышеизложенного можно сделать вывод, что возможна практическая реализация алгоритма решения двухуровневой динамической задачи унификации ПО КС транспортно-производственной системы.
Список литературы
1. Морозова Т.В. Задача оптимизации в транспортно-производственных системах // Современные проблемы математики, механики, информатики: материалы регион. науч. студен. конф. Тула: Изд-во ТулГУ. 2012. С. 211 - 213.
2. Береснев В.Л., Гимади Э.Х., Дементьев В.Т. Экстремальные задачи стандартизации. Новосибирск: Наука. 1978. 335 с.
3. Изотов В.Н., Несмеянов В.Ф. Модель динамической задачи унификации системного программного обеспечения компьютерной сети по экономическому критерию // Концепт: электронный научный журнал. Современные научные исследования. Т. 20. Вып. 2. 2014. С. 2301 - 2305. URL: http://e-concept.ru/2014/54724/htm (дата обращения: 23.08.2014).
4. Алексеев О.Г. Комбинированный метод решения двухуровневых задач стандартизации // Экономика и математические методы. 1979. Вып.15. С. 81 - 86.
Изотов Виктор Николаевич, д-р техн. наук, проф., izotovvn-tiila a mal.ru, Россия, Тула, Тульский филиал Российской академии народного хозяйства и государственной службы при Президенте Российской Федерации
DYNAMIC UNIFICATION AS A MEANS OF IMPROVING THE QUALITY AND EFFICIENCY OF SUPPORT SOFTWARE CORPORATE NETWORK TRANSPORTATION
PROIZVODSTVENNOYSISTEMY
V.N. Izotov
We consider the formulation of the problem of the dynamic unification of software. The technological scheme for solving the two-level problem of unification. A mathematical model of two-level dynamic problem of unification. An algorithm for solving the two-level dynamic problem of unification.
Key words: software, technology alignment, dynamic unification.
Izotov Viktor Nikolaevich, doctor of technical science, professor, izotovvn-tulaamal.ru, Russia, Tula, Tula branch of the Russian Presidential Academy of national economy and public administration.