Научная статья на тему 'Кластеризация и восстанавливаемость нейропроцессорных систем обработки данных'

Кластеризация и восстанавливаемость нейропроцессорных систем обработки данных Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
306
107
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КЛАСТЕР / МЕТОДЫ КЛАСТЕРИЗАЦИИ / ТЕОРЕТИКО-МНОЖЕСТВЕННАЯ МОДЕЛЬ / КЛАССЫ ЭКВИВАЛЕНТНОСТИ / ВОССТАНАВЛИВАЕМОСТЬ / БЕЗОТКАЗНОСТЬ / ВЕРОЯТНОСТЬ / ВЕРОЯТНОСТЬ БЕЗОТКАЗНОЙ РАБОТЫ / CLUSTER / METHODS OF THE CLUSTERING / SET THEORETIC MODEL / CLASSES OF THE EQUIVALENCE / RECOVERABILITY / RELIABILITY / PROBABILITY OF RELIABLE PERFORMANCE

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Злобин Владимир Константинович, Григоренко Дмитрий Владимирович, Ручкин Владимир Николаевич, Романчук Виталий Александрович

Исследуется теоретико-множественная модель кластеризации и оценивается восстанавливаемость нейропроцессорных кластерных систем конвейерной, векторной, конвейерновекторной и векторноконвейерной структур обработки данных на базе современного отечественного микрокомплекта NM 640Х

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Злобин Владимир Константинович, Григоренко Дмитрий Владимирович, Ручкин Владимир Николаевич, Романчук Виталий Александрович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

CLUSTERING AND RECOVERABILITY NEUROPROCESSOR OF DATA PRICESSING SYSTEMS

Investigate teoretic-set model of clustering and Pricing of recoverability of neuroProcessor PiPeline systems studied, vector, PiPeline vector and vector PiPeline structures based data set of the modern domestic mikro sets NM 640X.

Текст научной работы на тему «Кластеризация и восстанавливаемость нейропроцессорных систем обработки данных»

УДК 681.142.2

КЛАСТЕРИЗАЦИЯ И ВОССТАНАВЛИВАЕМОСТЬ НЕЙРОПРОЦЕССОРНЫХ СИСТЕМ ОБРАБОТКИ ДАННЫХ

В.К. Злобин, Д.В. Григоренко, В. Н. Ручкин, В. А. Романчук

Исследуется теоретико-множественная модель кластеризации и оценивается восстанавливаемость нейропроцессорных кластерных систем конвейерной, векторной, конвейерно- векторной и векторно- конвейерной структур обработки данных на базе современного отечественного микрокомплекта NM 640Х

Ключевые слова: кластер, методы кластеризации, теоретико-множественная модель, классы эквивалентности, восстанавливаемость, безотказность, вероятность,. вероятность безотказной работы

Наращивание степени готовности предполагает подавление в определенных пределах влияния отказов и сбоев с помощью средств контроля и коррекции ошибок или аппаратную и программную избыточность реализации различных вариантов отказоустойчивых архитектур [1,2]. Главной задачей создания “систем высокой готовности” (High Availability Systems) является снижение времени простоя системы, минимизация которой требует различной стратегии и технологии [2,3]. Авторами предлагается концептуальная модель теоретико-множественной кластеризации, реализующей систему любой из возможных структур и повышающей за счет естественного резервирования восстанавливаемость кластерных нейропроцессорных систем.

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

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

125

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

X = {х1, x2,..., xm }, xi = {хЛ, xi2,..., xin }; 1 (81),I (^2 ),..., 1 (8т ),

I (8 )=(*! (.V), *2 (.V),..., х„ (.V)), (1)

где разбиением К = {К1, К 2,..., Кг} выборки на X = {Х1, Х2,..., хт} групп является произвольная совокупность непересекающихся подмножеств множества X, покрывающая все объекты выборки: Кг с X, г = 1,2,...,I

и=1 К = X, Кг п Kj = 0, г Ф } с некоторым критерием качества Р(К) разбиения К. Тогда задача кластеризации будет состоять в нахождении

*

разбиения К , доставляющего экстремум критерию ^ (К): ^ (к * )= Ке{К}^ (К). Методы кластеризации различаются критериями:

1. Сумма внутриклассовых дисперсий или сумма квадратов ошибок.

2. Анализ матриц рассеяния.

3. Метод «к -внутригрупповых средних».

4. Метод Фореля - движения гипершаров фиксированного радиуса к «сгущению» объектов.

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

Для решения задачи разбиения введем понятие равенства кластеров

СЦ и СЬк некоторой программы РЯ(-^ обработки информации: СЬ1 = СЬк, под которым далее понимается равенство длин указанных кластеров СЦ = СЬк и совпадение их с точностью до команды

Мк(к) = Мк}7), РЯ (Я = (мкг ,МК1,..., МК^, т.е.

СЬЇ = СЬк = \

\СЦ\ = \СЬк |, "Ї, к = 1, N

мк(к) = мк(1), "і=1, \СЦ | ‘ ^

Для выделения кластеров и их представления предлагается использовать теоретико-множественную модель, в основе которой лежит понятие эквивалентности [4]. При этом выражение (1) является критерием качества разбиения.

В работе показывается, что вводимая кластерная структура КБм є £

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

Действительно, любой произвольный кластер обработки СЬ1 информации, удовлетворяющий (2), выполняется параллельно сам себе, т.е. СЬ1 К8-Щ СЬ1. Таким образом, справедливо условие рефлективности любого кластера СЦ е РЯ^) обработки информации.

Если кластер обработки информации СЦ равен кластеру СЬк и, следовательно, параллелен этому кластеру, тогда кластер обработки СЬк равен кластеру обработки СЬ1 и, следовательно, одновременно во времени с ним может выполняться, т. е.

СЦ,СЬк е РЯ^:СЦ ^ СЬк ^ СЬк ^ СЦ. (3)

Другими словами выполняется условие симметричности любых двух кластеров СЦ,СЦк е РЯ^) обработки информации.

Если кластер обработки информации СЦ, равен кластеру обработки СЦк, а кластер СЦк, в свою очередь, равен CЬq, тогда кластер обработки

СЦ, равен и, следовательно, параллелен кластеру обработки CЬq, т.е.

СЦ, СЦк, СЦц е РЯ(^) БК8и,: СЦ СЦк ;СЦ К8Ч. СЦч ^ СЦ, СЦ. (4)

Таким образом, справедливо условие транзитивности двух произвольных кластеров СЦ,,СЦд е РЯ^) обработки информации.

Поэтому справедливо утверждение о том, что отношение кластерной структуры обработки К8№ есть отношение эквивалентности.

Действительно, отношение кластерной структуры KSw обработки информации указывает на то, что любые два произвольно взятых кластера СЦ, и СЦк , удовлетворяющие (1), могут выполняться одновременно на разных процессорных модулях под управлением команд, принадлежащих указанным кластерам:

СЦ,,СЦк е РЯ(j): СЦ, ^ СЦ . (5)

Таким образом введенное отношение кластерной структуры обработки информации К8М/ по определению ставит в соответствие некоторой

j -ой программе обработки информации РЯ() совокупность независимых и неравных кластеров СЦ, , число которых равно числу классов эквивалентности Ц, а кратность (СЦ )^ определяется порядком класса эквивалентности \аА:

Vj = 1, N PR(j)Sw ^ {(CL,)q } Vq = 1, |at |; Vl = 1, L

(б)

Каждый класс эквивалентности имеет своего представителя в виде подпрограммы СЦ,, имеющей число макрокоманд, равное порядку программы \СЦ . Выражение (5) является решением задачи кластерного ана-

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

1. Число классов эквивалентности равно Ц и порядок каждого класса равен единице а, = 1. Тогда j -ый алгоритм информации представляет собой кортеж из Ц кластеров:

каждый из которых является представителем своего класса эквивалентности и обеспечивает входной информацией последующий CLi+1 кластер. Взяв число процессорных модулей, равное L и назначив каждому l -му модулю соответствующий ему кластер, получим НПС реализацию конвейерного типа (рис.1) например, на базе нейропроцесссора NM 640Х [8].

Далее определяются основные параметры получаемого конвейера обработки информации: количество модулей обработки L, объем оперативной памяти (Memory) |CL|, производительность как время цикла конвейера - То, время простоя - Тпр и др.[5-7].

2. Число классов эквивалентности L равно единице и порядок класса l^i I равен q. Тогда j -му алгоритму обработки A(j) информации соот-

При этом, если выходная информация каждого кластера СЦ/, V/ = 1, д является входной для каждого последующего СЦ/+1, тогда имеем кластерную структуру конвейерного типа с числом кластеров равным д, каждый из которых функционирует по командам кластера СЦ .

Если входная информация требуется одновременно для всех кластеров, тогда, назначая д процессорных модулей на обработку информации, получаем НПС реализацию векторного или параллельного типа А(])^м ^ (СЦ) = (СЦ)(СЦ)...(СЦ), в которой все д процессорных модулей функционируют по одному и тому же кластеру СЦ, .

Далее аналогично определяются основные параметры получаемой кластерной векторной структуры обработки информации: количество модулей обработки - Ц, объем оперативной памяти - СЦ, производитель-

лиза, т. к. задает искомое разбиение исходной программы PR(j) ры.

на класте

(7)

ветствует набор q совершенно одинаковых кластеров

ность - 70 , время простоя - Тпр и др.

3. Число классов эквивалентности равно Ц и порядок р каждого / -го класса равен |а, |. Этот случай является общим и предполагает отношения не только между кластерами внутри класса, но и между кластерами различных классов.

Пусть обмен информацией между представителями классов СЦ, ,

V, = 1,Ц осуществляется последовательно. Если кластеры внутри , -го класса обмениваются последовательно, тогда, назначая число процессорных модулей N о = Ц • X,=1 |а,| получим известную конвейерную структуру.

Если для подпрограмм внутри , -го класса требуется информация одновременно, тогда, назначая число процессорных модулей равное N о = Ц • шах| а, |, V, = 1, Ц, получим конвейерно-векторную структуру обработки данных.

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

Далее для каждой получаемой структуры обработки информации определяются основные параметры: количество модулей обработки - Ц, объем оперативной памяти СЦ, производительность как время цикла - То, время простоя - 7пр и др.

Таким образом, введение кластеризации позволило распараллелить программу обработки согласно (6) и в зависимости от исследуемых алгоритмов обработки информации РЯ() и получить кластерные структуры обработки: конвейерную, векторную [5], или новые, ранее неизученные, структуры организации нейропроцессорных систем: конвейерно-

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

Как известно [1,2,9,10], под надежностью понимают свойство вычислительной аппаратуры выполнять возложенные на нее функции, сохраняя свои эксплуатационные показатели в течение заданного промежутка времени в пределах, установленных в техническом задании или технических условиях .

Надежность аппаратуры обычно связывается с понятиями работоспособности, безотказности, ремонтопригодности и долговечности.

Под работоспособностью понимается состояние системы, в нашем случае нейропроцессорных систем (НПС) обработки данных [3,5], при ко-

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

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

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

Для нахождения показателей ремонтопригодности (восстанавливаемости) пользуются случайной величиной — временем выполнения операций по техническому обслуживанию. Эта величина в зависимости от цели накопления статистических данных может быть временем ремонта (восстановления) аппаратуры НПС после возникновения отказов и неисправностей, временем технической подготовки аппаратуры с учетом и без учета времени восстановления или временем выполнения регламентных работ.

Оперативным показателем ремонтопригодности аппаратуры НПС является вероятность восстановления рв (?) аппаратуры за заданное время как вероятность того, что время восстановления tв не превзойдет заданное для этих целей времени ?: рв(?) = Р{:в < ?}.

По определению этой вероятности ясно, что она может представлять функцию распределения времени выполнения операций по восстановлению аппаратуры НПС.

Значительная часть электронных схем построена таким образом, что отказ хотя бы одного из элементов НПС ведет к отказу всей системы в целом. Такое соединение элементов с точки зрения надежности называется последовательным (основным). Если все элементы в последовательном соединении работают независимо, то вероятность безотказной работы схемы НПС из N элементов за промежуток времени ? находится по формуле

Р(^) = Р1 (1) Р2 (1)... Р/ (1).. .PN (1) = П/= Р/ (1).

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

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

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

б(0 = ql(t)q2(t)...qi(0..Чк(0 = П/А=1[1 - Рг (0], где Чг(0 - вер°ятн°сть отказа г -го нейропроцессора параллельного соединения.

Тогда вероятность безотказной работы параллельного соединения нейропроцессоров равна

к

Р^) =1 -Ш1 - Рг ^)]. (8)

г=1

Эта формула показывает, что с увеличением числа резервных цепей надежность всей НПС увеличивается.

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

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

вероятность отказа Qобщ ^) системы равна

Ообщ(0 = Q1(t)Q2(t)..■Qj(^..От+1(^ = П"3^7^, а вероятность безотказной работы Робщ ^) системы составляет:

т+1 т+1 N

робщ (0 =1 - Qобщ(t) =1-П Qj(t) =1-П 1-П Рг(t) , (9)

7=1 7=11 г=1

где Qj ^) - вероятность отказа за время t 7 -й резервной цепи; р, ^) -

вероятность безотказной работы за время t г -го элемента цепи (основной

или резервной).

Если все (т +1) цепей в параллельном соединении равнонадежны,

то вероятность безотказной работы определяется

-\т+1

Робщ (і) = 1

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

N

1 -П Р, () . (10)

_ г=1 _

Вероятность безотказной работы при раздельном резервировании определяется из условия, что НПС состоит из N последовательно соединенных звеньев, а каждое звено (т +1) параллельно соединенных элементов, причем отказы элементов в звене - события независимые и поэтому вероятность определяется:

N

N

N

Рразд (і) = П Різв (і) = П [1 - Чізв (і)] = П

N

П

і=1

і=1 т+1Г

і =1

і =1

т+1

1 - П Чу (І) І=1

(11)

АА/Т1Г

1 - П 1 - Р7 (t).

7=1

где р,зв (t), ч,зв (t) — вероятность безотказной работы и отказа г -го звена соединения соответственно; а р^ ^), ^) — вероятность безотказной ра-

боты и отказа в г -м звене 7 -го элемента (основного или резервного) соответственно.

Если все (т +1) элементов в звене равнонадежны, то вероятность

раздельного резервирования определяется:

N

Рразд (І) =П [ -[1 - Р, О )]т+'}.

(12)

і=1

Сравнение формул (1о) и (12) позволяет установить, что для всех значений р, ^), N и т (исключая тривиальный случай, когда р, ^) = 0 и

N =1) величины робщ (t) < Рразд (t) .

Пример. Пусть аппаратура нейропроцессорной системы состоит из десяти нейропроцессоров, каждый из которых имеет вероятность безотказной работы за время tp(t) = 0,8. Имеются две резервные цепи. При общем резер-

вировании Робщ (і )

1

нии Рразд (І) =1 - 1 - 0,8

1 - 0,8

0

10

= 0,27 , а при раздельном резервирова-

0,92. Это наглядно свидетельствует о значи-132

тельной эффективности раздельного резервирования в сравнении с общим.

Предложенная методика кластеризации позволяет распараллелить программу обработки согласно (6) и в зависимости от исследуемых алгоритмов обработки информации РЯ(7) и получить кластерные структуры обработки: конвейерную, векторную, или новые, ранее неизученные, структуры организации нейропроцессорных систем: конвейерно-

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

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

Список литературы

1. Сотсков Б.С. Физика отказов и определение интенсивности отказов // Онадежности сложных технических систем Под ред. Берга А.И., Бруевича Н.Г., Гнеденко Б.В., Голинкевича Т. А. М.: Советское Радио, 1966

С.289-306.

2. Нечипоренко В.И. Структурный анализ и методы построения надежных систем. М.: Советское Радио, 1968. 254 с.

3. Архитектура компьютерных систем и сетей: учеб.пособие, Т.П. Барановская, В.И. Лойко, М.И. Семенов, А.И. Трубилин; под.ред. В.И. Лойко. М.: Финансы и статистика, 2003. 256 с.

4. Кузнецов О.П., Адельсон-Вельский Г.М. Дискретная математика для инженеров М.: Энергия, 1980. 344 с.

5. Злобин В.К., Ручкин В.Н. Нейросети и нейрокомпьютеры. СПб.: БХВ-Петербург, 2011. 256 с.

6. Григоренко Д.В., Ручкин В.Н. Кластеризация систем обработки специальных данных // Методы и средства обработки и хранения информации Рязань: Рязан. Гос. Радиотехн. ун-т, 2012. С. 98 - 103.

7. Григоренко Д.В., Ручкин В.Н. Повышение восстанавливаемости кластерных нейропроцессорных систем обработки данных // Цифровая обработка информации № 1, 2013. С. 61 - 72.

9. Виксне П.Е., Фомин Д.В., Черников В.М. Однокристальный цифровой нейропроцессор с переменной разрядностью операндов// Известия

Вузов, Приборостроение. Т. 39, №7. 1996. С. 125 - 131.

10. Акименко Т. А., Аршакян А. А., Ларкин Е.В. Управление информационными процессами в робототехнических комплексах специального назначения. Тула: Изд-во ТулГУ, 2012. 150 с.

Злобин Владимир Константинович, д-р техн. наук, проф., zlobin. v.kaevm.rsreu.ru, Россия, Рязань, Рязанский государственный радиотехнический университет,

Григоренко Дмитрий Владимирович, аспирант, директор ЗАО «НПО «Рязаньприбор» infoarznprb. com, Россия, Рязанский государственный

радиотехнический университет,

Ручкин Владимир Николаевич, д-р техн. наук, проф., v. ruchkinarsu.edu.ru, Россия, Рязань, Рязанский государственный университет имени С.А.Есенина,

Романчук Виталий Александрович, канд. техн. наук, доц.,

v.romanchuk@rsu. edu.ru, Россия, Рязань, Рязанский государственный университет имени С. А. Есенина

CLUSTERING AND RECOVERABILITY NEUROPROCESSOR OF DATA PRICESSING SYSTEMS

D. V. Grigorenko, V.N. Ruchkin, V.A. Romanchuk

Investigate teoretic-set model of clustering and pricing of recoverability of neuroprocessor pipeline systems studied, vector, pipeline - vector and vector - pipeline structures based data set of the modern domestic mikro sets NM 640X.

Key words: cluster, methods of the clustering, set - theoretic model, classes of the equivalence, recoverability, reliability, probability of reliable performance.

Zlobin Vladimir Konstantinovich, doctor of technical science, professor, zlobin. v. kaevm. rsreu. ru, Russia, Ryazan, Ryazan State Radio-Engineering University,

Grigorenko Dmitriy Vladimirovich, docent, plasov@tula. net, Russia, Ryazan, Ryazan State University,

Ruchkin Vladimir Nikolaevich, doctor of technical science, Ful Professor of CS and Engineering Chair, v. ruchkin arsu. edu. ru, Russia, Ryazan, Ryazan State University named for S. Esenin,

Romanchuk Vitaly Aleksandrovich, candidate of technical science, Associate Professor of CS and Engineering Chair, v. romanchuk arsu. edu. ru, Russia, Ryazan, Ryazan State University namedfor S. Esenin namedfor S. Esenin

i Надоели баннеры? Вы всегда можете отключить рекламу.