<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Электронный научно-практический журнал «Современные научные исследования и инновации» &#187; ОТКАЗОУСТОЙЧИВОСТЬ</title>
	<atom:link href="http://web.snauka.ru/issues/tag/otkazoustoychivost/feed" rel="self" type="application/rss+xml" />
	<link>https://web.snauka.ru</link>
	<description></description>
	<lastBuildDate>Fri, 17 Apr 2026 07:29:22 +0000</lastBuildDate>
	<language>ru</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Исследование программного продукта по критериям надёжности</title>
		<link>https://web.snauka.ru/issues/2022/11/98945</link>
		<comments>https://web.snauka.ru/issues/2022/11/98945#comments</comments>
		<pubDate>Tue, 01 Nov 2022 12:54:09 +0000</pubDate>
		<dc:creator>Алтынпара Артём Вячеславович</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[восстановление]]></category>
		<category><![CDATA[зрелость]]></category>
		<category><![CDATA[критерий]]></category>
		<category><![CDATA[МЕТРИКА]]></category>
		<category><![CDATA[надежность]]></category>
		<category><![CDATA[ОТКАЗОУСТОЙЧИВОСТЬ]]></category>
		<category><![CDATA[стандарты]]></category>
		<category><![CDATA[тестирование]]></category>
		<category><![CDATA[ТЕТРИС]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/?p=98945</guid>
		<description><![CDATA[Введение Актуальность разработки (цель исследования) обоснована тем, что в настоящий момент в связи с экономической политикой Российской Федерации по импортозамещению любой производящийся программно-аппаратный продукт в нашей стране может иметь какие-либо скрытые дефекты. Необходимо разработать комплекс критериев и метрик оценивания надёжности какого-либо программного продукта. В связи с этим попробуем выполнить эту задачу на примере игрушки «Тетрис». [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: left" align="center"><strong><span>Введение</span></strong></div>
<p><span>Актуальность разработки (цель исследования) обоснована тем, что в настоящий момент в связи с экономической политикой Российской Федерации по импортозамещению любой производящийся программно-аппаратный продукт в нашей стране может иметь какие-либо скрытые дефекты. Необходимо разработать комплекс критериев и метрик оценивания надёжности какого-либо программного продукта.</span><br />
<span>В связи с этим попробуем выполнить эту задачу на примере игрушки «Тетрис».</span><br />
<span>Основной функционал:</span><br />
<span>Случайные фигурки тетрамино падают сверху в прямоугольный стакан шириной 10 и высотой 20 клеток. В полёте игрок может поворачивать фигурку на 90° и двигать её по горизонтали. Также можно «сбрасывать» фигурку, то есть ускорять её падение, когда уже решено, куда фигурка должна упасть. Фигурка летит до тех пор, пока не наткнётся на другую фигурку либо на дно стакана. Если при этом заполнился горизонтальный ряд из 10 клеток, он пропадает и всё, что выше него, опускается на одну клетку. Дополнительно показывается фигурка, которая будет следовать после текущей — это подсказка, которая позволяет игроку планировать действия. Темп игры постепенно ускоряется. Игра заканчивается, когда новая фигурка не может поместиться в стакан. Игрок получает очки за каждый заполненный ряд, поэтому его задача — заполнять ряды, не заполняя сам стакан (по вертикали) как можно дольше, чтобы таким образом получить как можно больше очков.</span><br />
<span>Цель: развивать сообразительность, память, воображение ребёнка, знакомить с цветом, формой, величиной, а также способствовать развитию речи, развивать мелкие мышцы рук.</span><br />
<span>Требования к оборудованию:</span><br />
<span>В качестве аппаратной среды используется ПК типа IBM PC.</span><br />
<span>Системные требования:</span><br />
<span>1. Компьютер Pentium 200 МГц</span><br />
<span>2. Оперативная память 32 RAM</span><br />
<span>3. Видеокарта 800х600</span><br />
<span>4. Операционная система Microsoft Windows 98/ME/2000/XP/Vista/7</span><br />
<span>5. Клавиатура</span><br />
<span>6. Мышь</span><br />
<span>7. Размеры свободного дискового пространства 200 кб</span></p>
<div style="text-align: left" align="center"><strong><span>Материалы и методы</span></strong></div>
<p><span>Теперь оценим надёжность данного программного продукта по четырём критериям:</span><br />
<strong><span>Зрелость:</span></strong><br />
<span>Метрика &#8220;Объем модуля&#8221;. Как правило, наиболее весомые модули имеют больший объем кода. Если обозначить: А — объем модуля (например, число строк кода); В — объем кода аналогичного по функциональности модуля, взятый из статистических данных организации разработчика программного средства, то числовую оценку метрики можно найти по формуле</span><br />
<span>X =</span><img src="https://content.snauka.ru/web/98945_files/0.gif" alt="" width="124" height="53" /><br />
<span>При этом справедливо 0&lt;А; 0&lt;X&lt;=1.</span><br />
<span>В качестве модуля A возьмём весь код программы. Он содержит 10+68+4+119+12+128+18+11 = 370 строк кода из всех подмодулей.</span><br />
<span>В качестве модуля B возьмём весь код программы разработчика данного средства.</span><br />
<span>Он содержит 142 + 194 + 54 = 390 строк кода из всех подмодулей.</span><br />
<span>X = 370/1029 = 0,356.</span><br />
<span>Метрика &#8220;Время, затраченное на разработку модуля&#8221;. Как правило, на разработку наиболее весомого модуля затрачивается больше времени. Если обозначить: А — время, затраченное на разработку модуля; В — время, затраченное на разработку аналогичного по функциональности модуля, взятое из статистических данных организации-разработчика программного средства, то числовую оценку метрики можно найти по формуле</span></p>
<p><span>X =</span><img src="https://content.snauka.ru/web/98945_files/0(1).gif" alt="" width="124" height="53" /><br />
<span>При этом справедливо 0&lt;А; 0&lt;X&lt;=1.</span><br />
<span>Пускай время будет исчисляться в часах. У одного разработчика на создание общего, функционально простого модуля ушло 32 часа. У команды из пяти человек на создание общего модуля с клиентским уклоном ушло 70 часов.</span><br />
<span>Получаем что Х = А/B = 0,457</span><br />
<span>Метрика &#8220;Потребляемые ресурсы модулем&#8221;. Как правило, более весомый модуль потребляет и больше ресурсов. Если обозначить: А — объем потребляемых ресурсов модулем (объем оперативной памяти и т.п.); В — общий объем потребляемых программным средством ресурсов, то числовую оценку метрики можно найти по формуле X=A/B. При этом справедливо: 0&lt;А &lt; B; 0&lt; X &lt;1.</span><br />
<span>В качестве потребляемых ресурсов взята используемая оперативная память, а программным средством является студия разработки модуля InteliJ IDEA Community Edition.</span><br />
<span>Под модулем подразумевается наше ПО. Оно потребляет 0,036 Мб оперативной памяти компьютера.</span><br />
<span>Для нормальной работы InteliJ IDEA требуется 1200 Mб оперативной памяти.</span><br />
<span>Х = A/B = 0,036/1200 = 0,00003</span><br />
<strong><span>Способность к восстановлению:</span></strong><br />
<span>Метрика &#8220;Зависимость модулей&#8221;. Как правило, в программном средстве модули связаны в древовидную структуру, где неправильная работа одного модуля приводит к неправильной работе других модулей. Если обозначить: А — количество модулей, зависящих от данного модуля; В — общее количество всех модулей, то числовую оценку метрики можно найти по формуле X=A/B. При этом справедливо 0&lt;=А &lt; B; 0&lt; X &lt;1.</span><br />
<span>Пускай под модулями будем подразумевать классы (структуры) программы. Всего классов у программы восемь. Все они связаны между собой. Поэтому X=A/B = 1 / 8 = 0,125</span><br />
<span>Метрика &#8220;Частота использования модуля&#8221;. Вероятность появления ошибки возрастает с ростом количества вызовов модуля, поэтому часто вызываемые модули более весомы, нежели модули, вызываемые реже.</span><br />
<span>Если обозначить: А — количество вызовов модуля; В — общее количество всех вызовов модулей, то числовую оценку метрики можно найти по формуле X=A/B. При этом справедливо 1&lt;=А &lt; B; 1/B&lt; X &lt;1.</span><br />
<span>Пускай под вызовами моделей будем иметь ввиду событие нажатия кнопки интерфейса программы либо нажатие клавиши на клавиатуре.</span><br />
<span>Используя клавиши со стрелками влево, вправо и вверх мы заставляем падающую сверху фигуру менять своё местоположение в пространстве. Задействовано 3 модуля т.е. А=3. Четвёртым не всегда задействованным модулем будет являться клавиша со стрелкой вниз. Она отвечает за скорость падения фигуры.</span><br />
<span>Итак, X=A/B = 3 / 4= 0,75</span><br />
<span>Метрика &#8220;Время работы модуля&#8221;. Как правило, чем большее время находится модуль в работе, тем он более весом. Если обозначить: А — время работы модуля; В — общее время выполнения всей задачи, то числовую оценку метрики можно найти по формуле X=A/B. При этом справедливо 0&lt;А&lt;B; 0&lt;X&lt;1</span><br />
<span>Стандартное время выполнения модуля А – 90 секунд.</span><br />
<span>Время выполнения всей задачи – 120 секунд.</span><br />
<span>X =А/В=90/120 =0,75.</span><br />
<strong><span>Соответствие стандартам:</span></strong><br />
<span>Метрика &#8220;Команда разработки модуля&#8221;. Как правило, в разработке наиболее весомых модулей принимает участие большее количество разработчиков. Если обозначить: А — количество разработчиков, принимающих участие в разработке модуля; В — количество разработчиков, принимавших участие в создании аналогичного по функциональности модуля, взятое из статистических данных организации-разработчика программного средства, то числовую оценку метрики можно найти по формуле</span><br />
<span>X =</span><img src="https://content.snauka.ru/web/98945_files/0(2).gif" alt="" width="124" height="53" /><br />
<span>При этом справедливо 0&lt;А; 0&lt;X&lt;=1.</span><br />
<span>Под модулем A будем считать кол-во разработчиков данного программного продукта. Участие принимал один разработчик.</span><br />
<span>В — количество разработчиков, принимавших участие в создании аналогичного по функциональности модуля.</span><br />
<span>Предположим, это будут: Аналитик – человек отвечающий за анализ ТЗ и сбор информации, человек отвечающий за создание переменных и логику программы, человек отвечающий за интерфейс программы, человек отвечающий за компоновку всех подмодулей и работоспособность программы в целом, тестировщик. Всего пять человек.</span><br />
<span>X =1/5 = 0,2.</span><br />
<span>Метрика &#8220;Квалификация команды разработчиков&#8221;. Как правило, в разработке наиболее весомых модулей принимают участие более квалифицированные разработчики. Если обозначить: А — уровень квалификации команды разработчиков, принимающих участие в разработке модуля (А — может быть определенно экспертным путем, 0&lt;А&lt;=1); В — уровень квалификации команды разработчиков, принимавших участие в создании аналогичного по функциональности модуля, взятый из статистических данных организации-разработчика программного средства, то числовую оценку метрики можно найти по формуле</span><br />
<span>X =</span><img src="https://content.snauka.ru/web/98945_files/1.gif" alt="" width="124" height="53" /><br />
<span>При этом справедливо 0&lt;А&lt;=1; 0&lt;X&lt;=1.</span><br />
<span>В разработке данного модуля принимал участие один человек. Его уровень – юниор – оценивается единицей. Команда разработчиков предприятия имеет уровень – опытный – оценивается числом 2.</span><br />
<span>X =A/B = 1 / 2= 0,5</span><br />
<span>Метрика &#8220;Документирование модуля&#8221;. Как правило, более весомые модули должны иметь больший объем документации. Если обозначить: А — суммарный объем документов, описывающих анализируемый модуль; В — суммарный объем документов аналогичного по функциональности модуля, взятый из статистических данных организации-разработчика программного средства, то числовую оценку метрики можно найти по формуле</span><br />
<span>X =</span><img src="https://content.snauka.ru/web/98945_files/2.gif" alt="" width="124" height="53" /><br />
<span>При этом справедливо 0&lt;А;0&lt;X&lt;=1</span><br />
<span>Под документацией будем подразумевать всю информацию, касающуюся конкретно данного модуля.</span><br />
<span>Пусть А будет включать только список файлов, позволяющих использовать модуль на сторонних аппаратных средствах. Их будет 5.</span><br />
<span>B – будет включать тот же список необходимых документов. Но добавятся три новых: ТЗ, спецификации и доклад руководству.</span><br />
<span>X =A/B = 5/ 8= 0,625</span></p>
<p><strong><span>Отказоустойчивость:</span></strong><br />
<span>Метрика &#8220;Тестовые наборы модуля&#8221;. Как правило, более весомые модули имеют большее количество тестовых наборов данных. Если обозначить: А — количество тестовых наборов разрабатываемого модуля; В — количество тестовых наборов аналогичного по функциональности модуля, взятое из статистических данных организации-разработчика программного средства, то числовую оценку метрики можно найти по формуле</span><br />
<span>X =</span><img src="https://content.snauka.ru/web/98945_files/3.gif" alt="" width="124" height="53" /><br />
<span>При этом справедливо 0&lt;А;0&lt;X&lt;=1</span><br />
<span>Так как объём исходного модуля и модуля организации-разработчика почти различаются, функционал также будет различен и кол-во тестовых наборов будет не одним и тем же. Организация-разработчик создала более масштабную программу с клиентским уклоном.</span><br />
<span>А = 1</span><br />
<span>B = 2</span><br />
<span>Х = А/В = 0,5</span><br />
<span>Метрика &#8220;Время тестирования модуля&#8221;. Как правило, более весомые модули тестируются более продолжительное время. Если обозначить А — время тестирования разрабатываемого модуля; В — время тестирования аналогичного по функциональности модуля, взятое из статистических данных организации-разработчика программного средства, то числовую оценку метрики можно найти по формуле</span><br />
<span>X =</span><img src="https://content.snauka.ru/web/98945_files/4.gif" alt="" width="124" height="53" /><br />
<span>При этом справедливо 0&lt;А; 0&lt;X&lt;=1.</span><br />
<span>Предположим, что разработчик исходной программы тестирует код белого ящика, а разработчик-тестировщик организации – код черного ящика.</span><br />
<span>Тогда параметр А будет равен 12 секундам.</span><br />
<span>Параметр В будет равен 600 секундам.</span><br />
<span>X = А/В = 0,02</span><br />
<span>Оценку надёжности программного средства будем проводить по формуле:</span></p>
<p><img src="https://content.snauka.ru/web/98945_files/4(1).gif" alt="" width="27" height="22" /><span>=</span><img src="https://content.snauka.ru/web/98945_files/4(2).gif" alt="" width="98" height="22" /><span>.</span><span>, где n – кол-во модулей в программном средстве</span><br />
<span>Si – вес i-го модуля</span><br />
<span>Pi – оценка надежности i-го модуля</span></p>
<p><img src="https://content.snauka.ru/web/98945_files/5.gif" alt="" width="18" height="28" /><span>=</span><img src="https://content.snauka.ru/web/98945_files/5(1).gif" alt="" width="110" height="65" /><span>,</span><img src="https://content.snauka.ru/web/98945_files/5(2).gif" alt="" width="26" height="28" /><span>=1-</span><img src="https://content.snauka.ru/web/98945_files/6.gif" alt="" width="138" height="32" /><br />
<span>Для оценки надёжности i-го модуля данную формулу использовать не будем, т.к пользователь никаких данных не вводит. Программа запускается при нажатии кнопки Run.</span><br />
<span>Программным продуктом является сама игра Тетрис, написанная на java. Её модулями являются классы. Их всего восемь. Пользователи игры доступа к модулям не имеют. Имеет доступ только сам разработчик и тестировщик. Поэтому будем рассматривать программный продукт с точки зрения тестировщика.</span><br />
<span>Пусть вероятность просмотра модулей равна соответственно 0,05;0,1;0,05;0,4;0,05;0,25;0,05;0,05.</span><br />
<span>Вероятность ошибки возможно в самых крупных по числу строк модулях. Это 4 и 6 модули. В четвёртом модуле произошла ошибка типа Medium, а в шестом – типа High.</span><br />
<span>Вес ошибок Priceless, High, Medium, Low, None, Detrimental соответственно равны 0,4; 0,25; 0,2; 0,1; 0,04; 0,01.</span><br />
<span>Тогда оценка надежности всех модулей будет равна:</span><br />
<span>P = 1 – (0 * 0,05+0*0,1+0*0,05+0,2*0,4+0*0,05;0,25*0,25;0*0,05;0*0,05)</span><br />
<span>P = 1 – 0,1425 = 0,8575</span><br />
<span>Чтобы рассчитать веса модулей, сначала найдём знаменатель. Он должен равняться 1:</span></p>
<p><img src="https://content.snauka.ru/web/98945_files/6(1).gif" alt="" width="84" height="64" /></p>
<p><span>V1 = 0,356</span><br />
<span>V2 = 0,157</span><br />
<span>V3 = 0,00003</span><br />
<span>V4 = 0,025</span><br />
<span>V5 = 0,05</span><br />
<span>V6 = 0,15</span><br />
<span>V7 = 0,003</span><br />
<span>V8 = 0,1</span><br />
<span>V9 = 0,09</span><br />
<span>V10 = 0,05</span><br />
<span>V11 = 0,01897</span><br />
<span>Значения Xij возьмём из ранее найденных значений метрик:</span><br />
<span>X1 = 370/1029 = 0,356</span><br />
<span>Х2 = А/B = 0,457</span><br />
<span>Х3 = A/B = 0,036/1200 = 0,00003</span><br />
<span>X4=A/B = 1 / 8 = 0,125</span><br />
<span>X5=A/B = 3 / 4= 0,75</span><br />
<span>X6 =А/В=90/120 =0,75.</span><br />
<span>X7 =1/5 = 0,2</span><br />
<span>X8 =A/B = 1 / 2= 0,5</span><br />
<span>X9 =A/B = 5/ 8= 0,625</span><br />
<span>Х10 = А/В = 0,5</span><br />
<span>X11 = А/В = 0,02</span><br />
<span>Находим числитель по формуле </span></p>
<p><img src="https://content.snauka.ru/web/98945_files/7.gif" alt="" width="102" height="66" /></p>
<p><span>(0,356*0,356) +( 0,157*0,457) +( 0,00003*0,00003) +( 0,025*0,125) +</span><br />
<span>+(0,05*0,75) +(0,15*0,75) + (0,003*0,2) + (0,1*0,5) +(0,09+0,625) +</span><br />
<span>+ (0,05*0,5) +( 0,01897*0,02) = 0,1267+0,071+0,00000001+0,0031+</span><br />
<span>+0,0375+0,1125+0,0006+0,05+0,0562+0,025+0,0003 = 0,4829</span></p>
<p><span>Делим на единицу в знаменателе.</span><br />
<span>S = 0, 4829</span><br />
<span>Наконец находим оценку надёжности всего программного средства:</span><br />
<span>Pпс = P * S = 0,8575*0, 4829 = 0,414</span></p>
<div style="text-align: left" align="center"><strong><span>Результаты и их обсуждение</span></strong></div>
<p><span>Оценка надёжности программного средства показала, что данная программа является надёжной только на 40%.</span><br />
<span>В связи с этим рекомендуются следующие действия по увеличению надёжности ПП:</span><br />
<span>1. Проведение обширного тестирования (в особенности юнит-тесты, модульные тесты, интеграционные тесты, функциональные тесты);</span><br />
<span>2. Уменьшение числа классов (модулей программы) для лучшей производительности;</span><br />
<span>3. Постараться упростить функциональность (логику) программы, сделать код более гибким, не создавать лишнего.</span><br />
<span>4. Низкоуровневый подход к написанию кода (то есть создавать более простые структуры, методы поля, классы).</span></p>
<div style="text-align: left" align="center"><strong><span>Заключение</span></strong></div>
<p><span>В любой технике, аппаратно-программном обеспечении, системе есть шанс возникновения отказа. Отказ — событие, заключающееся в нарушении работоспособ­ного состояния объекта. В зависимости от целей исследования отказы подразделяют на: независимые и зависимые; внезапные и постепенные; параметрические и функциональные; конструкционные, производственные и эксплуатационные; перемежающие, сбои и т.д. Если пользователь (потребитель, покупатель, заказчик) хочет, чтобы его устройство прослужило ему как можно дольше, производитель обязан произвести оценку продукта по вышеуказанным критериям.</span></p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2022/11/98945/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Анализ надёжности и безопасности хранения данных в RAID-системах</title>
		<link>https://web.snauka.ru/issues/2023/09/100734</link>
		<comments>https://web.snauka.ru/issues/2023/09/100734#comments</comments>
		<pubDate>Thu, 14 Sep 2023 08:38:09 +0000</pubDate>
		<dc:creator>Мещеров Марат Шамилевич</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[RAID]]></category>
		<category><![CDATA[безопасность данных]]></category>
		<category><![CDATA[запись данных]]></category>
		<category><![CDATA[надежность]]></category>
		<category><![CDATA[ОТКАЗОУСТОЙЧИВОСТЬ]]></category>
		<category><![CDATA[шифрование данных]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/?p=100734</guid>
		<description><![CDATA[Введение В настоящее время жесткие диски для ПК, которые используют интерфейс последовательного ATA (SATA), широко применяются в системах хранения данных. Они используются в первую очередь для создания резервных копий данных с одного диска на другой (D2D) и для создания RAID-массивов на соседних SATA-накопителях. Это обеспечивает более быстрое резервное копирование RAID. Наиболее распространен метод «Диск-диск-лента» (D2D2T), [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;" align="center"><strong>Введение</strong></p>
<p align="justify">В настоящее время жесткие диски для ПК, которые используют интерфейс последовательного ATA (SATA), широко применяются в системах хранения данных. Они используются в первую очередь для создания резервных копий данных с одного диска на другой (D2D) и для создания RAID-массивов на соседних SATA-накопителях. Это обеспечивает более быстрое резервное копирование RAID. Наиболее распространен метод «Диск-диск-лента» (D2D2T), который снимает нагрузку с основного пользовательского массива RAID на операции резервного копирования на ленту. Один из наиболее распространенных методов резервного копирования данных называется &#8220;Диск-диск-лента&#8221; (D2D2T). Этот метод позволяет снизить нагрузку на основной пользовательский RAID-массив в процессе выполнения операций по созданию резервных копий на ленточные носители. Метод D2D2T обеспечивает эффективное и надежное создание резервных копий данных, позволяя сохранять ценную информацию на ленточных носителях, что обеспечивает дополнительный уровень сохранности данных в случае неожиданных сбоев или потери доступа к основному RAID-массиву. Этот метод широко используется в сферах, где сохранность данных играет критическую роль, таких как корпоративные сети и центры обработки данных [1].</p>
<p align="justify">Рынок накопителей для ПК требует, чтобы их стоимость была сбалансирована с учетом их надежности при проектировании и испытаниях надежности [2]. Диски SATA представляют собой привлекательное решение с точки зрения стоимости, поскольку они наследуют низкую цену дисков ATA. Важно отметить, что они также обладают самой высокой плотностью записи битов, что в свою очередь обеспечивает максимальную емкость каждого диска. Это означает, что пользователь получает наибольший объем хранилища за наименьшие деньги. Растущее число доступных интерфейсов накопителей (ATA, SATA, SCSI, FC, iFC, iSCSI) — это просто возможности для более гибкого выбора конструкции системы хранения. Диски ATA предназначены для дневного офисного использования, поэтому срок службы дисков для ПК на рынке ограничивает доступность долгосрочных данных о надежности для условий пользователей.</p>
<p>Диски с повышенной надежностью обычно обладают меньшей максимальной емкостью. Разработчики SCSI-дисков используют это преимущество в надежности, создавая диски, которые, несмотря на их более скромную емкость, обеспечивают высокую производительность. Это достигается путем организации одновременного доступа к множеству дисков, что позволяет достичь оптимальной производительности в области хранения данных [3].</p>
<p>RAID-системы предназначены для обеспечения более высокой доступности данных и защиты от потери информации при отказе одного или нескольких дисков.</p>
<p><strong>Применение RAID-систем для SATA дисков</strong></p>
<p>RAID (Redundant Array of Independent Disks) &#8211; это технология, которая позволяет объединять несколько физических дисков в единое хранилище данных с целью повышения надежности, производительности или обоих параметров. Применение надежности RAID-систем для SATA дисков может быть особенно полезным для обеспечения сохранности данных в случае сбоев дисков [4].</p>
<p>Существует несколько часто применяемых уровней RAID, которые могут использоваться с SATA дисками:</p>
<p>– RAID 1 (Зеркалирование): При этом уровне данные дублируются на два SATA диска. Если один из дисков выходит из строя, данные остаются доступными на другом (рисунок 1). RAID 1 обеспечивает высокий уровень надежности, но половину емкости дисков используется на хранение дубликатов данных. Среди недостатков выявляют сложность в масштабировании, использование дополнительного дискового пространства, ограниченная производительность записи.</p>
<p style="text-align: center;" align="center"><img class="aligncenter" src="https://web.snauka.ru/wp-content/uploads/2023/09/gallery.png" alt="" width="212" height="254" />Рисунок 1. Схематическое представление структуры RAID 1.</p>
<p>– RAID 5: Этот уровень использует три или более SATA диска и распределяет данные с четкими проверочными суммами (parity) между ними (рисунок 2). Если один диск выходит из строя, данные могут быть восстановлены из паритетной информации. RAID 5 обеспечивает хорошее сочетание производительности и надежности. Недостатками метода являются сложность в обслуживании, длительное время восстановления, риск потери данных при сбое двух дисков [4,5].</p>
<p>&nbsp;</p>
<p align="center"><a href="https://web.snauka.ru/issues/2023/09/100734/statya2" rel="attachment wp-att-100736"><img class="aligncenter size-full wp-image-100736" src="https://web.snauka.ru/wp-content/uploads/2023/09/statya2.png" alt="" width="560" height="270" /></a>Рисунок 2. Схематическое представление структуры RAID 5.</p>
<p>– RAID 6: Аналогичен RAID 5, но использует двойную проверочную сумму (две паритетные суммы), что позволяет восстановить данные даже при сбое двух дисков (рисунок 3). RAID 6 предоставляет более высокий уровень надежности, но требует больше дискового пространства. Недостатками является сложность администрирования, большая загрузка процессора, медленное восстановление данных [5].</p>
<p style="text-align: center;" align="center"><a href="https://web.snauka.ru/issues/2023/09/100734/statya3" rel="attachment wp-att-100737"><img class="aligncenter size-full wp-image-100737" src="https://web.snauka.ru/wp-content/uploads/2023/09/statya3.png" alt="" width="544" height="250" /></a>Рисунок 3. Схематическое представление структуры RAID 6.</p>
<p>– RAID 10 (1+0):Этот уровень представляет собой комбинацию RAID 1 (зеркалирования) и RAID 0 (стрипинга). Данные зеркалируются на одном наборе дисков, а затем данные из этих зеркалов стрипятся на другой набор дисков (рисунок 4). Это обеспечивает высокую производительность и надежность, но требует больше дисков для реализации [5].</p>
<p>&nbsp;</p>
<p style="text-align: center;" align="center"><a href="https://web.snauka.ru/issues/2023/09/100734/statya-4-2" rel="attachment wp-att-100738"><img class="aligncenter size-full wp-image-100738" src="https://web.snauka.ru/wp-content/uploads/2023/09/statya-4.png" alt="" width="270" height="250" /></a>Рисунок 4. Схематическое представление структуры RAID 10.</p>
<p>Выбор конкретного уровня RAID зависит от ваших потребностей в надежности и производительности. SATA диски обычно менее дорогие по сравнению с SSD дисками, поэтому они часто используются для создания доступных по цене хранилищ данных с применением RAID-систем для обеспечения надежности и уровня отказоустойчивости в случае сбоев оборудования.</p>
<p><strong>Требования к надежности накопителя SATA RAID</strong></p>
<p>Покупатели дисков SATA ожидают, что аттестуемые модели этих дисков успешно проходят стандартные тесты надежности, аналогичные тем, которые применяются к дискам SCSI/FC. Эти тесты включают в себя проверку конструкции и демонстрационное испытание на надежность. Конкретные требования к проведению испытаний надежности должны быть сбалансированы с ценой диска. Однако важно отметить, что надежность, выраженная в параметрах MTBF (Среднее время наработки до отказа) и AFR (Годовая частота отказов), должна рассматриваться как цель, а не абсолютная гарантия. Производители дисков SATA и SCSI/FC могут предоставлять схожие показатели в отношении наработки до отказа и частоты отказов, но они не всегда раскрывают подробности о проведенных испытаниях надежости. Важно заметить, что частота неисправимых ошибок (UNC) в дисках SATA на порядок выше, чем у дисков SCSI [6].</p>
<p>Надежность накопителей SATA в системах RAID имеет важное значение, особенно при работе с ценными данными.</p>
<p>Основные требования к надежности накопителей SATA при использовании RAID-систем:</p>
<p>– Надежность дисков.Существует выбор SATA-накопителей, которые известны своей надежностью и имеют высокий срок службы. Производители с хорошей репутацией, такие как Seagate, Western Digital, Toshiba и HGST, часто предлагают более надежные модели.</p>
<p>– Гарантия и служба поддержки.Приобретение накопителей с долгосрочной гарантией и доступной службой поддержки обеспечит пользователя дополнительным уровнем защиты и помощи в случае проблем.</p>
<p>– RAID-уровень.Выбор подходящего уровеня RAID для потребностей пользователя предоставляет дополнительный уровень надежности, такие как RAID 1 (зеркалирование) и RAID 5 (паритет). RAID 6 или RAID 10 также могут быть рассмотрены для более высокой степени защиты данных.</p>
<p>– Проверка и замена дисков. Регулярная проверка состояния дисков в массиве (с помощью SMART-информации и других инструментов) и своевременнаязамена диски, с выявленными дефектами позволит избежать потери данных.</p>
<p>– Регулярное резервное копирование. Независимо от уровня надежности RAID, всегда рекомендуется регулярно создавать резервные копии важных данных на внешних накопителях или в облаке.</p>
<p>– Мониторинг состояния массива.Использование программного обеспечения для мониторинга состояния массива RAID поможет оперативно реагировать на предупреждения и ошибки, связанные с дисками.</p>
<p>– Защита от физических угроз. Обеспечение физической защиты хранилища данных способствует предотвращению кражы или физических повреждений оборудования.</p>
<p>Важно подходить к анализу надежности и безопасности RAID-систем индивидуально, учитывая конкретные требования и бюджет. Следуя этим рекомендациям и обеспечивая правильную настройку и обслуживание системы RAID, пользователь сможет повысить надежность хранения данных на накопителях SATA.</p>
<p><strong>Частота отказов в работе</strong></p>
<p align="justify">Производители приводов анализируют возвращенные из-за поломок диски для выявления причин неисправности и улучшения конструкции. Многие «поломанные» диски SCSI видны, но «сбои» поля ATA составляют лишь несколько процентов (из этого выходит, что многие «неисправные» диски ATA или SCSI работают правильно, если это проверено их производителем).</p>
<p align="justify">Дисковые системы хранения обычно постоянно находятся в работе, поэтому статистические данные о сбоях дисков представляют из себя интенсивность отказов в рабочем режиме (в часах работы). Они варьируются в пределах 0,3–3% на год. Типичная сегодняшняя цель спецификации накопителя для SATA или SCSI/Fibre Channel составляет 0,7% годовой интенсивности отказов (= 24*365/1.200.000 часов — среднее время безотказной работы). Еще один фактор надежности, указанный производителем, — «пятилетний срок службы привода». С недавних пор это стало гарантией производителя накопителя, что является противоречием, поскольку 1.200.000 часов наработки на отказ означает, что 50% накопителей прослужит 137 лет, что намного больше, чем их расчетный срок службы, равный 5 годам. Фактическая цель надежности и ее тестовая проверка заключается в обеспечении соответствия надежности в течение 3–5 лет. Персональные диски (ПК) могут выйти из строя при более высоких нагрузках, особенно при неправильном обращении со стороны пользователей.</p>
<p align="justify"><strong>Заключение</strong></p>
<p align="justify">В данной статье были рассмотрены ключевые аспекты, связанные с надежностью, безопасностью и выбором хранилища данных. Нами устанавливается важность осмысленного выбора дисковых накопителей, учитывая их стоимость и надежность. Особое внимание уделяется анализу вероятности сбоя RAID-системы и возможным альтернативам для резервного хранения данных.</p>
<p align="justify">Вопросы безопасности данных рассматриваются как неотъемлемая часть обеспечения надежности. В статье указывается важность применения команд безопасного стирания, использования паролей диска SATA и шифрования данных для защиты информации от несанкционированного доступа.</p>
<p align="justify">Работа предлагает комплексный взгляд на вопросы надежности и безопасности хранения данных, предостерегает от потенциальных рисков и предлагает практические рекомендации для обеспечения конфиденциальности информации.</p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2023/09/100734/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Архитектура и управление жизненным циклом распределенных систем машинного обучения в условиях высокой нагрузки</title>
		<link>https://web.snauka.ru/issues/2026/03/104305</link>
		<comments>https://web.snauka.ru/issues/2026/03/104305#comments</comments>
		<pubDate>Wed, 11 Mar 2026 13:50:06 +0000</pubDate>
		<dc:creator>author98211</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[архитектура]]></category>
		<category><![CDATA[высокая нагрузка]]></category>
		<category><![CDATA[масштабируемость]]></category>
		<category><![CDATA[ОТКАЗОУСТОЙЧИВОСТЬ]]></category>
		<category><![CDATA[распределенные системы машинного обучения]]></category>
		<category><![CDATA[управление жизненным циклом]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/issues/2026/03/104305</guid>
		<description><![CDATA[ВВЕДЕНИЕ Современные распределенные системы машинного обучения (РСМО) используются в инфраструктурах крупных цифровых платформ, телекоммуникационных операторов, финансовых организаций и облачных провайдеров [1]. Рост объемов данных и требований к времени отклика привел к необходимости развертывания моделей в средах с высокой нагрузкой, где критическими параметрами становятся масштабируемость, отказоустойчивость и предсказуемость производительности. В 2021-2025 гг. большинство промышленных решений в [...]]]></description>
			<content:encoded><![CDATA[<p><strong>ВВЕДЕНИЕ</strong></p>
<p>Современные распределенные системы машинного обучения (РСМО) используются в инфраструктурах крупных цифровых платформ, телекоммуникационных операторов, финансовых организаций и облачных провайдеров [1]. Рост объемов данных и требований к времени отклика привел к необходимости развертывания моделей в средах с высокой нагрузкой, где критическими параметрами становятся масштабируемость, отказоустойчивость и предсказуемость производительности. В 2021-2025 гг. большинство промышленных решений в области машинного обучения (МО) ориентированы на облачную или гибридную архитектуру с микросервисным взаимодействием компонентов [2].</p>
<p>Высоконагруженные среды предъявляют комплексные требования к архитектуре: необходимо обеспечить устойчивость к пиковым значениям запросов, изоляцию вычислительных контуров, контроль версионности моделей и непрерывность поставки обновлений. Нарушение согласованности между этапами жизненного цикла модели – от подготовки данных до эксплуатации – приводит к деградации качества предсказаний, увеличению задержек и росту операционных затрат. В этих условиях управление жизненным циклом МО (<em>Machine Learning Lifecycle Management, MLLM</em>) становится самостоятельной инженерной задачей.</p>
<p>Целью настоящей статьи является систематизация архитектурных подходов и методов управления жизненным циклом распределенных систем машинного обучения в условиях высокой нагрузки, а также анализ факторов, влияющих на устойчивость и производительность таких систем на этапах разработки, развертывания и эксплуатации.</p>
<p><strong>ОСНОВНАЯ ЧАСТЬ</strong></p>
<p>Архитектура РСМО, функционирующей в условиях высокой нагрузки, как правило, включает следующие логические уровни: слой сбора и подготовки данных, вычислительный слой обучения, слой оркестрации моделей и слой онлайн-инференса. В современных реализациях данные уровни разворачиваются в контейнеризованной среде с использованием оркестрации (например, <em>Kubernetes</em>) [3], что обеспечивает горизонтальное масштабирование и изоляцию сервисов. При этом вычислительные кластеры могут включать специализированные ускорители (GPU/TPU), распределенные по нескольким узлам.</p>
<p>Ключевым параметром функционирования является задержка инференса при росте нагрузки. На рисунке 1 представлена зависимость средней задержки от интенсивности входящих запросов.</p>
<p align="center"><img class="aligncenter size-full wp-image-104308" title="ris1" src="https://web.snauka.ru/wp-content/uploads/2026/03/ris1.png" alt="" width="517" height="403" /></p>
<p align="center">Рисунок 1. Зависимость задержки инференса от уровня нагрузки [3]</p>
<p>Как видно из рисунка 1, при увеличении числа запросов в секунду наблюдается нелинейный рост задержки. До определенного порога система функционирует в режиме линейной масштабируемости, однако при достижении предельных значений вычислительных ресурсов происходит резкое увеличение времени отклика.</p>
<p>Представленная динамика обусловлена насыщением очередей обработки, конкуренцией за ресурсы процессора и памяти, а также ограничениями пропускной способности сетевой инфраструктуры. В условиях промышленной эксплуатации подобная деградация может приводить к нарушению соглашений об уровне сервиса (SLA) и снижению качества пользовательского опыта.</p>
<p>Для предотвращения подобных эффектов в РСМО применяются механизмы автоскейлинга, кэширования результатов инференса, батчирования запросов и балансировки нагрузки [4]. При этом выбор стратегии масштабирования зависит от профиля трафика и требований к латентности. Например, системы реального времени требуют минимизации задержек, тогда как аналитические платформы допускают обработку в асинхронном режиме.</p>
<p>Не менее значимым элементом архитектуры является управление версиями моделей. В распределенной среде одновременно могут функционировать несколько версий одной модели – для A/B-тестирования, канареечного развертывания или поэтапной миграции. Отсутствие централизованного контроля версий повышает риск несовместимости входных данных и предсказаний.</p>
<p>С точки зрения инфраструктуры, критическим становится разграничение контуров обучения и инференса. Обучающие процессы характеризуются высокой вычислительной интенсивностью, тогда как инференс требует предсказуемости и минимальной задержки. Их совместное размещение на одних узлах увеличивает вероятность деградации производительности при пиковых нагрузках [5].</p>
<p>В таблице 1 представлено сопоставление архитектурных подходов к организации высоконагруженных РСМО.</p>
<p><strong>Таблица 1. </strong>Сравнение архитектурных подходов [6]</p>
<table border="1" cellspacing="0" cellpadding="10">
<tbody>
<tr>
<td>
<p align="center"><strong>Подход</strong></p>
</td>
<td>
<p align="center"><strong>Преимущества</strong></p>
</td>
<td>
<p align="center"><strong>Ограничения</strong></p>
</td>
<td>
<p align="center"><strong>Область применения</strong></p>
</td>
</tr>
<tr>
<td>Монолитная архитектура</td>
<td>Простота реализации</td>
<td>Низкая масштабируемость</td>
<td>Прототипирование</td>
</tr>
<tr>
<td>Микросервисная архитектура</td>
<td>Гибкость и масштабируемость</td>
<td>Сложность оркестрации</td>
<td>Онлайн-сервисы</td>
</tr>
<tr>
<td>Событийно-ориентированная архитектура</td>
<td>Высокая устойчивость</td>
<td>Повышенные требования к инфраструктуре</td>
<td>Потоковая аналитика</td>
</tr>
</tbody>
</table>
<p>Из таблицы 1 следует, что для высоконагруженных сценариев предпочтительной является микросервисная или событийно-ориентированная архитектура. Однако их внедрение требует развитой системы мониторинга и управления конфигурациями.</p>
<p>Дополнительно следует учитывать вопросы безопасности и изоляции данных. В распределенных системах возможны риски утечки конфиденциальной информации при передаче между сервисами. Поэтому применяются механизмы шифрования каналов связи, а также контроль доступа на уровне сервисных аккаунтов.</p>
<p><strong><em>Управление жизненным циклом моделей</em></strong></p>
<p>Жизненный цикл модели МО включает этапы сбора данных, подготовки, обучения, валидации, развертывания, мониторинга и вывода из эксплуатации. В распределенных системах данные этапы автоматизируются в рамках концепции MLOps. Интеграция CI/CD-подходов позволяет сократить время вывода обновлений и повысить воспроизводимость экспериментов [7].</p>
<p>Особое значение приобретает мониторинг качества модели в продакшн-среде. Помимо технических метрик (загрузка CPU, время отклика), анализируются метрики качества предсказаний и признаки дрейфа данных. При выявлении статистически значимого отклонения запускается процедура переобучения.</p>
<p>В 2021-2025 гг. распространение получили централизованные хранилища артефактов моделей (<em>Model Registry</em>), обеспечивающие контроль версий и метаданных. Это позволяет фиксировать параметры обучения, используемые датасеты и гиперпараметры, что повышает прозрачность и управляемость процессов.</p>
<p>Автоматизация MLLM снижает вероятность человеческой ошибки, однако повышает требования к инфраструктурной зрелости организации. Без формализованных регламентов обновление моделей может привести к нарушению согласованности сервисов и временной недоступности системы.</p>
<p><strong><em>Обеспечение устойчивости и отказоустойчивости</em></strong></p>
<p>Высоконагруженные РСМО функционируют в условиях постоянной изменчивости нагрузки и инфраструктурных рисков. Отказ одного узла не должен приводить к полной остановке сервиса. Для этого применяются механизмы репликации, распределенного хранения состояний и автоматического перезапуска контейнеров.</p>
<p>Практика 2021-2025 гг. показывает, что наиболее эффективной является стратегия горизонтального масштабирования с избыточностью ресурсов. Поддержание резерва вычислительной мощности позволяет компенсировать кратковременные пики нагрузки без деградации производительности.</p>
<p>Важным инструментом является распределенный мониторинг с централизованным сбором логов и метрик [8]. Это позволяет выявлять узкие места архитектуры и прогнозировать потенциальные точки отказа до возникновения критической ситуации.</p>
<p>Кроме того, устойчивость системы зависит от корректной сегментации сервисов. Минимизация взаимозависимостей между компонентами снижает каскадный эффект при сбоях. В условиях высокой нагрузки такая декомпозиция является обязательным требованием к проектированию архитектуры.</p>
<p>Таким образом, архитектура и управление жизненным циклом распределенных систем машинного обучения в условиях высокой нагрузки требуют комплексного подхода, включающего масштабируемую инфраструктуру, автоматизацию процессов MLLM, контроль версионности и развитую систему мониторинга. Заявленная цель исследования – систематизация архитектурных и организационных механизмов обеспечения устойчивости и управляемости РСМО – достигнута посредством анализа ключевых инженерных решений и факторов, влияющих на их эффективность.</p>
<p><strong>ЗАКЛЮЧЕНИЕ</strong></p>
<p>Проведенный анализ архитектурных подходов к построению распределенных систем машинного обучения показал, что при высокой нагрузке ключевыми факторами эффективности являются модульность, масштабируемость и устойчивость к отказам. Современные практики, основанные на микросервисной оркестрации, позволяют обеспечить предсказуемое поведение системы даже при экстремальных значениях входящих запросов. При этом недостаточное внимание к балансировке ресурсов и управлению версиями моделей может привести к деградации качества сервиса.</p>
<p>Исследование аспектов управления жизненным циклом моделей выявило необходимость строгой автоматизации процессов, начиная с подготовки данных и заканчивая мониторингом инференса в продакшн-среде. Инструменты класса MLOps, включая регистраторы моделей и механизмы непрерывной интеграции и доставки, повышают воспроизводимость экспериментов и позволяют оперативно реагировать на изменение характеристик данных. Важно учитывать риски дрейфа данных и своевременно адаптировать модели, чтобы сохранить качество предсказаний.</p>
<p>Наконец, обеспечение устойчивости РСМО достигается за счет репликации, изоляции вычислительных контуров и распределенного мониторинга. Эти меры позволяют снизить влияние сбоев отдельных узлов на общую работоспособность системы. Комплексный подход к архитектуре и MLLM обеспечивает не только техническую надежность, но и экономическую эффективность эксплуатации высоконагруженных систем машинного обучения.</p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2026/03/104305/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
