УДК 004.383.3
МАТЕМАТИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ОЦЕНКИ ПРОИЗВОДИТЕЛЬНОСТИ СИСТЕМ НЕЙРОКОМПЬЮТЕРНОЙ
ОБРАБОТКИ ИНФОРМАЦИИ
В. А. Романчук
Предложены критерии и аналитические выражения для оценки производительности вычислительной системы на базе концептуально нового поколения вычислительной техники - нейропроцессоров. Аналитические выражения для оценки производительности приведены для конвейерной, векторной, векторно-конвейерной, конвей-ерно-векторной и произвольной структуры нейрокомпьютерных систем.
Ключевые слова: вычислительная система, оценка производительности, аналитические выражения, нейропроцессор, нейрокомпьютер.
Нейрокомпьютинг - это научное направление, занимающееся разработкой вычислительных систем шестого поколения - нейрокомпьютеров, которые состоят из большого числа параллельно работающих простых вычислительных элементов (нейронов). Элементы связаны между собой, образуя нейронную сеть. Они выполняют единообразные вычислительные действия и не требуют внешнего управления. Большое число параллельно работающих вычислительных элементов обеспечивают высокое быстродействие [1].
В настоящее время разработка нейрокомпьютеров ведется в большинстве промышленно развитых стран. Нейрокомпьютеры позволяют с высокой эффективностью решать целый ряд интеллектуальных задач. Это задачи распознавания образов, адаптивного управления, прогнозирования, диагностики и т.д [2].
Перспективным направлением является разработка математического, алгоритмического и программного обеспечения организации вычислительных систем на базе нейрокомпьютеров (НПВС).
Целью работы является разработка математического аппарата оценки производительности параллельных, распределенных и облачных вычислительных систем на базе нейропроцессоров различной структуры.
Используемые в настоящее время критерии эффективности вычислительных структур отражают два основных методологических подхода, сложившихся в теории эффективности при оценке качества системы.
В первом случае исследуемая система рассматривается как элемент надсистемы, в рамках которой реализуется ее функциональное назначение. Этот подход предполагает анализ функционирования надсистемы, исследование ее функциональных связей и системы. Критериями эффективно-
сти в этом случае являются, как правило, временные показатели взаимодействия пользователя с системой, например, время обращения к ресурсам, время выполнения, время простоя и др.
При втором подходе рассматриваются параметры исследуемой системы. Критерии эффективности в этом случае отражают "внутреннее качество" системы. При этом характеристики связей системы с надсистемой выступают лишь в виде ограничений. Примером критериев эффективности такого рода могут служить такие характеристики, как быстродействие, коэффициент готовности, коэффициент загруженности и т.д. Однако они имеют одинаковый смысл и могут служить мерой сравнения лишь в системах, имеющих одинаковую архитектуру, логику, внутренний язык и т.п. Их применение обосновано при оценке системы с базовой архитектурой, при любом варьировании параметров системы эти критерии могут потерять смысл.
При исследовании сложных структур, какими являются НПВС, целесообразно использовать критерии, выбранные на основе первого подхода к оценке эффективности системы.
Одним из самых важных критериев эффективности является производительность систем и устройств. Такая характеристика, как тактовая частота, позволяет оценить производительность достаточно неоднозначно, поэтому исходя из поставленных целей исследования, из всего множества критериев эффективности с целью анализа быстродействия были выбраны следующие критерии [3]:
время реализации алгоритма Т0 - время, в течение которого обрабатывается некоторая программа на НПВС некоторой архитектуры;
время простоев Тпр - суммарное для всех нейропроцессоров
(НПВМ) время, в течение которого модуль простаивает в ожидании данных.
Вспомогательными критериями для оценки производительности НПВС могут быть:
время проигрыша Тп - время, равное разности времени выполнения программы на НПВС и времени выполнения программы на одном НПВМ;
время выигрыша Тв - время, показывающее выигрыш по времени, получаемый за счет обработки параллельных потоков данных за время обработки текущего потока данных;
время обработки Тр - суммарное время, равное времени, в течение
которого НПВМ обрабатывает данные.
Пусть выполнение некоторой подпрограммы занимает вполне
определенное время ТО1 , тогда
Я Я
Тп = То - IТО1 , Тв = Тр - X ТО1 . /=1 /=1 Критерии времени обработки и времени простоев являются отражением критерия коэффициента использования аппаратуры Т^ как отношения одновременно работающих элементов системы к общему числу этих элементов:
Т Т
Т - Тр - Тр
к Т + Т Я * Т 1пр р Ч 1o
Рассмотрим основные временные соотношения НПВС конвейерного типа [4-10]. Цикл Т() конвейерной структуры определяется как продолжительность максимального во времени этапа обработки, т.е.
т(->) = maxleLTO¡j\ "/ = 1Ь. Первый результат обработки информации при реализации алгоритма A(^), будет получен на выходе конвейера через время t(^) = Т^) * я . Эта величина и является временем выполнения программы РЯ():
ТО^ = тах/е L Т0(j) * я, "/ = . Каждый последующий результат обработки будет получаться на т( j)
выходе через 1С , тогда рассчитать время получения последующих результатов обработки можно следующим образом:
т(]) = max/е L то\->) * я + (N - Г^тах^ Т0(^,"/ = 1Ь,
где N - порядковый номер необходимого результата обработки.
Тогда проигрышем по времени будет разность времени выполнения ТО() и суммарного времени выполнения всех подпрограмм:
Я Я
тР = t(]) - I То(]) = Я *шах/е ьТО^ - I ТОр,"/ = ТХ. /=1 /=1
С другой стороны, при обработке каждого последующего слова получается выигрыш по времени относительно однопроцессорного варианта
Я
системы Т(^) = I ТО(^). Тогда время выигрыша будет равно разности /=1
суммарного времени работы всех НПВМ и суммарного времени выполнения всех подпрограмм:
Т^) = X (к * ТО^+1) - ) = X ((к -1)* ТО^к+1). к=1 /=1 к=1
Время простоев можно оценить как сумму разностей Т^7) - ТО() для каждой 1-й подпрограммы каждого НПВМ:
q-1 _
тр = X (к *(ТЯ - ю<£к+1)),"/=й, к=1
q-1 _
= X (к*(шах/е1ТОР -ТоО?к+1)),"/ = . к=1
Время обработки определяется как суммарное время выполнения
всех q подпрограмм на всех НПВМ:
q
тР7) = X (к *ТО7+1). к=1
Коэффициент использования аппаратуры
><■
q
(Л i (k * +1) _
T,(j) =--, V/ = 1, L.
maxle L TOy) *(q 2 + (N -1)* q)
Рассмотрим основные временные соотношения НПВС векторного
типа [4-10]. Время выполнения программы Т^ j) для векторной структуры определяется как продолжительность максимального по времени этапа обработки, т.е.
Tj = maxleLT0(j\ v/ = \L. Время проигрыша будет отрицательное и его можно оценить как
разность времени выполнения T^) и суммарного времени работы всех q подпрограмм:
q q
т( j) = tO j) - i To(j) = max le L To(j) - i To(j), vl = 1L. l=1 l=1
А время выигрыша будет равно нулю, так как за время обработки текущего потока не будет обработано никаких других потоков данных:
т(j) = iTo\j) - qTo(j) = о. i=1 i=1
Выигрыш по времени в данном случае будет за счет сокращения времени работы программы T().
Время простоев будет равно суммарному времени разностей максимального по времени этапа обработки и времени работы 1-й подпрограммы:
Я Я
Тпр = I (Т0]) - ТО/Я)) = Я *тах ТО(я) - I ТО(),v/ = .
/=1 /=1
Время обработки имеет величину, равную суммарному времени работы всех Я подпрограмм:
Я
Т V) = IТО^) .
/=1 /
Коэффициент использования аппаратуры
¿ТТО} Я
т( ■>) =--—,V/ = 1Ь .
Я *тах leL ТО( )
Рассмотрим основные временные соотношения НПВС конвейерно-векторного типа [4-10]. Все смежные подпрограммы, в которых информация передается последовательно, объединены в К множеств:
О/ = (яом^,...,ЯО^},v/ = 1,К. Это число К равно числу смежных
НПВМ, объединенных по векторному типу. Число подпрограмм в каждой
группе различно для каждого множества N0^. =| (О/ }|, v/ = 1,К.
Тогда время цикла равно времени цикла в конвейерно-
векторной структуре и определяется как продолжительность максимального по времени этапа обработки:
= maxleLT0¡j\ v/ = 1Ь.
Время выполнения можно определить как время максимального по времени этапа обработки, умноженное на число множеств К:
тОЯ = К * т(■>) = К *maxlG L то(, v/ = 1Ь.
Тогда время выигрыша равно суммарному по всем множествам времени обработки подпрограмм, принадлежащим / -му множеству за вычетом суммарного времени работы всех я подпрограмм множества О/ :
г л К N (Л
Т(]) = I((К -/)* IТО)])).
/=1 /=/м
Время проигрыша можно определить как разность времени выполнения и суммарного времени работы всех Я подпрограмм:
q
T(j) = K *maxleL To\j) - i To(j), v/ = 1L .
l=1
Время простоев равно суммарному по всем множествам времени, равное разности максимального по времени этапа обработки и времени работы подпрограмм, принадлежащим i -му множеству Gi :
,Л K N (Л (Л _
T(j = i ((K - /)*( i (max i^LToy) - To\j)))\ v/ = 1, L. /=1 i=lM
Тогда время обработки равно суммарному по всем множествам времени обработки подпрограмм, принадлежащим i -му множеству Gi :
гK N ( Л
тр) = i((к -/+1)* i(To}j)).
/=1 i=M
Коэффициент использования аппаратуры
к /N , Л
i((K-/ +1)* i(to\j))
T(j) = ^-i =M , v/ = 1, L.
q *( K *max ieLTo(j))
Рассмотрим основные временные соотношения НПВС векторно-конвейерного типа [4-10].
Все смежные подпрограммы, в которых информация передается последовательно, объединены в V множеств:
Gi = (Ro,M),...,Ro(j)),vi=w.
Число подпрограмм в каждой группе различно для каждого множества
NGl =l(Gi }|,vi = 1V. Цикл
Tc(j) = max/eL To(j), v/ = 1L.
Тогда время выполнения программы T() определяется как продолжительность максимального во времени этапа обработки, умноженная
на максимальную величину мощностей множеств G = (G1 ,..., Gv }, т.е.
Toj) = max/gl To/i) * maxGt eG l Gl |,i = 1V,v/ = \L.
Время выигрыша будет определяться как суммарное время выполнения конвейерных элементов множества Gi с вычитанием из него суммарного времени работы всех q подпрограмм:
i K iN ( л q (Л
t^ = Z Z (k * To\J/_k+1) - z to\j).
i=ik=iM l=1
Время проигрыша можно определить как разность времени выполнения и суммарного времени работы всех q подпрограмм:
q
ТпJ) = maxG е g | Gl | * maxIe L To\j) _ Z To\j) , i = 1V, "l = 1L.
l=1
Время простоев определяется как суммарное по всем множествам и подпрограммам время, равное разности максимального времени обработки подпрограммы (время цикла конвейера) и времени работы каждой подпрограммы:
f Л K iN , Л , Л _
= Z Z((k * (maxi^l TOjJ) _TO<N/_k+l)),"l = 1,L.
i=1k=iM
Время обработки равно суммарному времени выполнения всех параллельных конвейерных элементов:
K iN
T(J) = z z (k * TO\Nj)_k+1).
i=1k=iM
Коэффициент использования аппаратуры
K iN (Л
_ zz (k * ToN-k+1) _ _
t(j) =-i=1k=iM-,i = 1,V,"l = 1,L.
q *(maxiel To\j) *maxGieG 1 Gi |)
Рассмотрим основные временные соотношения НПВС произвольной структуры [4-10].
Эта система представляет собой структуру, не подходящую под вышеописанные структуры и имеет одну или более связей между процессорами (за исключением обратных связей).
В данном случае оценки эффективности для конвейерной системы, как и любой другой рассмотренной выше системы, не подходят.
Цикл tC j ) можно определить так же, как и в случае четких структур:
t(j) = maxleL To(J), "l = 1L .
Для того чтобы оценить время работы системы, введем оценку времени цикла подпрограммы для каждого процессора:
TpRi = maxleLTo(J), если i-й НПВМ связан с каким-либо другим НПВМ по принципу конвейера;
TpRi = To\J) в противном случае.
248
Тогда время выполнения программы To( j) определяется как сумма TpRi для всех НПВМ системы, т.е.
q
tOJ ) = i TpR/.
/=1
Время выигрыша определяется как суммарное время выигрыша за счет конвейерных элементов с вычитанием суммарного времени выполнения всех подпрограмм:
т(j = qNi To(j) - qTo(j), k=1i=1 /=1
где Nk - число обрабатываемых потоков данных процессором k. Это число зависит от связей между процессорами. В случае, если k -й процессор связан с только с одним процессором по типу конвейера, то Nk = q . В противном случае Nk рассчитывается исходя из потоков данных процессоров, с которыми он связан. Например, если какой-либо НПВМ из всех связанных в конвейер НПВМ не закончил обработку потока №2, то поток №3 не может быть обработан на следующем НПВМ конвейера и увеличивается время проигрыша на величину, равную циклу конвейера:
Tc(j) = max/eL To(j), V/ = 1L.
Время проигрыша будет равно суммарному времени всех циклов процессорных модулей с вычитанием суммарного времени выполнения всех подпрограмм:
т() = ЪРШ - qTo(j) .
/ =1 / =1
Время простоев состоит из двух составляющих. Первая - время проигрыша за счет неравномерного времени выполнения подпрограмм (оценивается как сумма разностей между временем цикла конвейера и времени выполнения подпрограммы для каждого процессора). Вторая -время проигрыша за счет простоя процессора в течение всего цикла НПВМ из-за того, что на некотором этапе данные с предыдущих процессоров еще не были обработаны (оценивается как разность суммарного времени обработки всех подпрограмм и суммарного времени цикла конвейера, умноженного на число обрабатываемых потоков данных процессором):
Ti>P = Tj + Т^> т(1 = i i (maxfeL To(j} -To(j)),V/ = й,
k=1i=1 q
Tj = q *maxl To\j) - i (Nk * maxl To\J)), V/ = JL.
k=1 249
Время обработки рассчитывается как суммарное время выигрыша за счет конвейерных элементов:
( Л 4 Нк (1 Л
Т{р]) = II тоу). к=11=1
В случае распределенных и облачных систем управление осуществляет узел-диспетчер вне зависимости от необходимой структуры.
Коэффициент использования аппаратуры
Ч Кк (. л
I I то) 1) т (1) = к=11=1 к ч '
Ч *( I Трш )
I=1
Заключение. В статье предложены критерии и аналитические выражения для оценки производительности нейрокомпьютерных систем конвейерной, векторной, векторно-конвейерной, конвейерно-векторной и произвольной структуры. Показанные аналитические выражения оценки производительности могут быть использованы с целью аппаратной оптимизации вычислительных систем на базе нейропроцессоров.
Список литературы
1. Ручкин В.Н., Романчук В.А., Фулин В.А. Когнитология и искусственный интеллект. Рязань: Узорочье, 2012. 260 с.
2. Карпов В.С., Ивутин А.Н., Суслин А.А. Подход к реализации методики оценки надежности ПО на основе комплексных метрик // Известия Тульского государственного университета. Технические науки. Тула: Изд-во ТулГУ. 2009. Вып. 4. С. 116-125.
3. Романчук В. А., Ручкин В.Н. Разработка программного комплекса для моделирования и анализа нейропроцессорных систем обработки изображений // Цифровая обработка сигналов. №1. 2010. С.53-58.
4. Романчук В. А., Ручкин В.Н. Разработка алгоритмов определения вида структуры нейропроцессорной системы на основе описания связей ее элементов // Информатика и прикладная математика: межвуз. сб. науч. тр. Вып.17. 2011. С.106-109.
5. Романчук В. А., Ручкин В.Н. Оценка результатов моделирования вычислительных систем на базе нейропроцессоров // Известия Тульского государственного университета. Технические науки. Тула: Изд-во ТулГУ. 2013. Вып. 9. Ч. 2. С. 194-203.
6. Романчук В.А. Разработка алгоритмов определения связей элементов вычислительной структуры на базе нейропроцессоров // Информатика и прикладная математика: межвуз. сб. науч. тр. 2011. Вып.17. С. 102-105.
7. Ivutin A.N., Larkin E.V. Estimation of Latency in Embedded RealTime Systems // 3rd Mediterranean Conference on Embedded Computing MECO. Budva, Montenegro. 2014. P. 236-239.
8. Романчук В. А. Оптимизация программных и аппаратных средств сложных вычислительных систем на базе нейропроцессоров [Электронный ресурс] // Моделирование, оптимизация и информационные технологии. №1(8). 2015. URL: http://moit.vivt.ru/wp-content/uploads/2015/03/ Roman-chuk 1 15 1 .pdf.
9. Романчук В. А. Разработка методологических основ программной оптимизации систем нейрокомпьютерной обработки информации // Молодой ученый. №15. 2015. С. 56-61.
10. Злобин В.К., Григоренко Д.В., Ручкин В.Н., Романчук В.А. Кластеризация и восстанавливаемость нейропроцессорных систем обработки данных // Известия Тульского государственного университета. Технические науки. Вып. 9. Ч. 2. Тула: Изд-во ТулГУ. 2013. С. 125-135.
Романчук Виталий Александрович, канд. техн. наук, доц, v.romanchukarsu.edu.ru, Россия, Рязань, Рязанский государственный университет имени С.А. Есенина
SOFTWARE PERFORMANCE EVAL UA TION SYSTEMS NEUROCOMPUTING
INFORMATION PROCESSING
V.A. Romanchuk
The criteria and analytical expressions to evaluate the performance of computer-based systems are conceptually new generation compute-art-inflammatory - neuroprocessors. Analytical expressions for the evaluation ofpro-formance given for the conveyor, vector, vector-conveyor, conveyor-vector and arbitrary structure neurocomputing systems.
Key words: computer system performance evaluation, analytical expressions neuro-processors neurocomputer.
Romanchuk Vitaliy Alexandrovich, candidate of technical science, docent, v.romanchuk arsu.edu.ru, Russia, Ryazan, Ryazan State University named after S.A. Yesenin