НАГРУЗОЧНОЕ ТЕСТИРОВАНИЕ СИСТЕМ НА БАЗЕ ПРОЦЕССОРА БАЙКАЛ

НАГРУЗОЧНОЕ ТЕСТИРОВАНИЕ СИСТЕМ НА БАЗЕ ПРОЦЕССОРА БАЙКАЛ

Авторы публикации

Рубрика

Информационные технологии

Просмотры

39

Журнал

Журнал «Научный лидер» выпуск # 2 (203), Январь ‘25

Дата публикации 10.01.2025

Поделиться

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

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

В России в условиях санкций активно развивается собственная микроэлектронная промышленность, и одним из ключевых направлений является разработка отечественных микропроцессоров. На сегодняшний день можно выделить пять основных компаний, занимающихся этой деятельностью: МЦСТ, “Байкал Электроникс”, “Модуль”, “Элвис” и “Миландр”. Каждая из этих компаний имеет свою специализацию, хотя их продукция и пересекается в некоторых областях применения [2].

Естественно, операционная система (ОС), материнская плата и другие составляющие являются важными элементами для правильного бесперебойного функционирования компьютера, но не менее важной составляющей, а порой даже большей, является процессор, который часто называют “мозгом” компьютера. Процессор – это устройство, отвечающее за обработку информации. Никто не будет спорить с тем, что функция обработки информации, а также управление другим процессами компьютера – это очень важный процесс, без которого работоспособность компьютера будет сведена к нулю. Поэтому, как и с ОС, важно иметь свои аналоги. Одним из аналогов является процессоры Baikal [3].

Процессоры Baikal были разработаны компанией “Байкал Электроникс” – российское предприятие, которое занимается проектированием интегральных микросхем и систем на кристалле на базе архитектур ARM и MIPS. Инженеры из Baikal Electronics решили не изобретать велосипед, и пошли по более простому пути — лицензировали уже готовую технологию. Однако сделка с ARM не получилась из-за введенных санкций, поэтому за основу взяли ядро MIPS Warrior P-Class P5600 от британской фирмы Imagination Technologies. А в 2015 году появились первые инженерные образцы Baikal T1 — двухъядерный чип по техпроцессу 28 нм с поддержкой до 8 ГБ DDR3 [4]. В зависимости от модели, процессоры “Байкал” могут иметь различное количество ядер, тактовую частоту и набор периферийных интерфейсов.

Теперь разберемся, что такое “нагрузочное тестирование”.

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

Обычно во время этого тестирования проверяют:

  1. Скорость – показатель, определяющий, как быстро система отвечает на запросы при высокой активности пользователей.
  2. Стабильность – показатель, определяющий, насколько программа остается функциональной и устойчивой к ошибкам.
  3. Масштабируемость – показывает, как система адаптируется к растущему числу пользователей или объема данных.

Видов нагрузочных тестирований существует множество, так, например: Стресс-тестирование, Объемное тестирование (Volume Testing), Тестирование устойчивости (Soak Testing), Пиковое тестирование (Spike Testing) и т.д.  Также для выполнения и анализа тестирования используются различные приложения и инструменты, такие как: Apache JMeter, LoadRunner, Gatling, BlazeMeter, Locust. В нашем случае будет использоваться только командная строка [5].

Протестируем 3 составляющих компьютера: процессор, оперативную память, дисковую подсистему.

  1. Как уже было сказано ранее, процессор – один из главных компонентов компьютера, предназначенный для выполнения всех вычислительных операций и управления другими системами [6].
  2. Оперативная память – это тип памяти, в котором во время работы компьютера хранится выполняемый машинный код и данные, которые в этот момент обрабатывает процессор [7].
  3. Дисковая подсистема – комплекс аппаратных и программных средств, необходимые для хранения и обработки данных на жестких дисках [8].

Перейдем к самому тестированию Байкала:

Для тестирования той или иной области будем использовать команды, которые уже встроены в систему: iostat, vmstat, htop.

  1. iostat – команда, выводящая сведения об общем и текущем количестве операций обращения к диску для файловых систем. Помимо этого, она сообщает, что именно нагружает диск [9].
  2. htop – команда, которая позволяет вывести все работающие процессы, а также различные сведения о них.
  3. vmstat – команда, которая отображает статистику, связанной с потреблением памяти, использования диска и другой системной информацией.

Процесс исследования следующий:

  1. Подготавливаем компьютер для тестирования, устанавливаем операционную систему.
  2. Создаем нагрузку на процессор, память и диск.
  3. Проверяем нагруженность.
  4. Делаем анализ и вывод, формируем результат, итог тестирования.

Перед тестированием необходимо зайти в командную строку или же терминал.

Нагрузочное тестирование процессора

Для этого вида тестировании необходимо вписать команду:

for i in $(seq 1 $(npoc)); do while :; do :; done & done (рисунок 1).

Рисунок 1. Демонстрация выполнения команды for i in $(seq 1 $(npoc)); do while :; do :; done & done

Эта команда нагружает процессор тем, что постоянно выполняет пустую команду, которая ничего не делает, командой killall bash останавливаем цикл.

Выполнив команду htop открывается окно, которое отображает показатели загрузки CPU, использование памяти и активные процессы рис. 2, 3:

Рисунок 2.  Демонстрация выполнения команды htop до нагрузки процессора

Рисунок 3. Демонстрация выполнения команды htop после нагрузки процессора

По результатам тестирования процессора можно заметить, что процессор до нагрузки чувствует себя хорошо, CPU = 1.3%, а разделяемой памяти (SHR) используется около 2336 КБ. Под нагрузкой же видно, что как процессор, так и память, уже испытывают трудности. CPU = 96.1%, это означает, что работа потока записи стала активнее. Разделяемая память стала меньше – 1104 КБ, так как ресурсы перераспределяются в пользу выполнения операций ввода-вывода. Общее время операции увеличивается с 0:00.19 до 0:25.66.

Нагрузочное тестирование памяти

В командную строку впишем команду:

dd if=/dev/zero of=/dev/null bs=1M count=1000

Эта команда создаст поток данных размером 1 ГБ, заполненный нулями, выполнит чтение файла и записи (рисунок 4):

Рисунок 4. Демонстрация выполнения команды dd if=/dev/zero of=/dev/null bs=1M count=10000

На скриншоте видно, что время, которое понадобилось на выполнение команды составило 9,44017 с, а средняя скорость передачи данных – 111 MB/s.

По команде vmstat 1 отображается использование CPU, I/O, памяти, показатели обновляются каждую секунду рисунок 5.

Рисунок 5. Демонстрация выполнения команды vmstat 1

По результатам видно, что под нагрузкой объем свободной памяти free увеличивается до 56064 КБ включительно, за счет уменьшения буферов buff и кэша cache таблица 2.

Нагрузочное тестирование диска

Создадим файл размером 1 ГБ и заполним его нулями, используя команду:

dd if=/dev/zero of=testfile bs=1M count=1000

Получим, что файл создался за 9,79601 секунду со средней скоростью 107 MB/s – рисунок 6:

Рисунок 6. Демонстрация выполнения команды dd if=/dev/zero of=testfile bs=1M count=1000

При использовании команды cat /proc/diskstats можно посмотреть степень нагруженности диска (рисунок 7).

Рисунок 7. Демонстрация выполнения команды cat /proc/diskstats

Очевидно, что каждая строчка, столбец, отображают определенные параметры. Нас же будет интересовать столбцы 7, 8, 11, 13,14. Столбец 7 показывает время, которое затрачено на чтение, 8 – количество выполненных записей, 11 – время, которое затрачено на запись, 13 – количество операций ввода-вывода, которые в данных момент выполняются на устройстве, 14 – время, которое затрачено на выполнение операций ввода-вывода. Все время выражается в миллисекундах. Видно, что до нагрузки почти все показатели – нули, что говорит о том, что устройство не выполняет никаких операций. После нагрузки все показатели возрастают. Время, которое затрачено на чтение составляет 1590-2454 мс, количество выполненных записей – 813418-830864, время, которое затрачено на запись –10626-16868 мс, количество операций ввода-вывода, которые в данный момент выполняются на устройстве – 4417970-4417840, время, которое затрачено на выполнение операций ввода-вывода – 134360-135140 мс таблица 3.

                                                                                          Таблица 1.

Результаты мониторинга htop

Показатель

В обычном состоянии

Под нагрузкой

SHR, КБ

2336

1104

CPU, %

1.3

96.1

TIME, с

0:00.19

0:25.66

 

                                                                Таблица 2.

Результаты мониторинга vmstat

Показатель

В обычном состоянии

Под нагрузкой

free, КБ

47088

56064

buff, КБ

26960

26944

cache, КБ

1399664

1399568

sy, %

1

99

wa, %

97

0

 

                                                                    Таблица 3.

Результаты мониторинга iostat

Показатель

Результат

Время, которое затрачено на чтение, мс

1590-2454

Количество выполненных записей

813418-830864

Время, которое затрачено на запись, мс

10626-16868

Количество операций ввода-вывода, которые в данных момент выполняются на устройстве

4417970-4417840

Время, которое затрачено на выполнение операций ввода-вывода, мс

134360-135140

 

Также во время проведения экспериментов, так как Baikal больше рассчитан для работы в офисных условиях, был проведен дополнительный эксперимент. С помощью команды открывались несколько вкладок:

firefox https://yandex.ru https://yandex.ru

Затем проверяли, насколько комфортно было пользоваться браузером с     n-ым количеством вкладок. И пришли к выводу, что при открытых вкладках от 0 до 17 включительно все работает исправно. При 18-33 открытых вкладок есть зависания, использовать браузер менее комфортно, но возможно. При 34 и более вкладок работать и использовать браузер почти невозможно таблица 4.

                                                                                 Таблица 4.

Результаты работы в браузере

Количество вкладок

Состояние/работоспособность

0-17

Все идет хорошо и работает исправно, зависаний нет.

18-33

Есть небольшие зависания, использовать браузер менее комфортно, но возможно.

34-более

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

 

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

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

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

  1. АРСИС. Разработка программного обеспечения на заказ [Электронный ресурс]. URL: https://www.arsis.ru/blog/russian-processors (дата обращения 25.11.2024)
  2. ТАСС. Какие микропроцессоры разрабатывают в России? И что с ними будет из-за санкций? ⁠⁠[Электронный ресурс]. URL: https://tass.ru/ekonomika/14868777 (дата обращения 25.11.2024)
  3. РУЦЕНТР [Электронный ресурс]. URL: https://www.nic.ru/help/chto-takoe-processor-cpu_11148.html?ysclid=m59biajx1i420605318 (дата обращения: 23.11.2024)
  4. DNS КЛУБ [Электронный ресурс]. URL: https://club.dns-shop.ru/blog/t-100-protsessoryi/74499-deistvitelno-li-protsessoryi-baikal-otechestvennyii-produkt-re/ (дата обращения: 23.11.2024)
  5. Server space [Электронный ресурс]. URL: https://serverspace.ru/support/glossary/nagruzochnoe-testirovanie/?utm_source=yandex.ru&utm_medium=organic&utm_campaign=yandex.ru&utm_referrer=yandex.ru (дата обращения 28.11.2024)
  6. Skillbox Media [Электронный ресурс]. URL: https://skillbox.ru/media/code/chto-takoe-processor-i-kak-on-rabotaet/?ysclid=m59arh2thp184230000 (дата обращения 28.11.2024)
  7. Skillbox Media [Электронный ресурс]. URL: https://skillbox.ru/media/code/operativnaya-pamyat-ozu-chto-eto-dlya-chego-ona-nuzhna-i-kakaya-byvaet/?ysclid=m59axlrvy5158209214 (дата обращения 28.11.2024)
  8. Справочник от автор24 [Электронный ресурс]. URL: https://spravochnick.ru/informatika/sistema_razdelov_diskovoy_podsistemy/ (дата обращения 30.11.2024)
  9. HABR [Электронный ресурс]. URL: https://habr.com/ru/companies/ruvds/articles/527238/ (дата обращения 03.12.2024)
  10. Уймин, А.Г. Периферийные устройства ЭВМ: Практикум / А.Г. Уймин. – Москва: Ай Пи Ар Медиа, 2023. – 429 с. – ISBN 978-5-4497-2079-5. – EDN KQQFAG
Справка о публикации и препринт статьи
предоставляется сразу после оплаты
Прием материалов
c по
Осталось 6 дней до окончания
Размещение электронной версии
Загрузка материалов в elibrary
Публикация за 24 часа
Узнать подробнее
Акция
Cкидка 20% на размещение статьи, начиная со второй
Бонусная программа
Узнать подробнее