Numa technology bios настройка

Обновлено: 07.07.2024

Numa BIOS - российское программное обеспечение базовой системы ввода-вывода, разработанное с учетом требований по безопасности информации и критериев импортозамещения, являющееся полноценной альтернативой иностранным BIOS для средств вычислительной техники, построенных на базе x86 / x64 платформ Intel и AMD.

КЛЮЧЕВЫЕ ОСОБЕННОСТИ NUMA BIOS:

Наличие исходных кодов. Исходные коды Numa BIOS доступны для контроля отсутствия в нем недекларированных возможностей (НДВ-2) в соответствии с требованиями Регуляторов (ФСТЭК, ФСБ).

Российское микропрограммное обеспечение. Использование Numa BIOS в составе аппаратных платформ позволяет соответствовать критериям Минпромторга, определенным в ПП РФ №719 от 17.07.2015 по отнесению ИТ-продукции к произведенной в России.

Модульная архитектура. Возможность встраивания в Numa BIOS дополнительных модулей, обеспечивающих дополнительные функции на уровне БСВВ, например: гипервизор, ядро ОС, криптопровайдер, система централизованного управления, тонкий клиент, антивирусный сканер и т.п.

Встроенные функции контроля. Контроль целостности модулей БСВВ, возможность защиты на доступ в меню управления. Поддержка установки пароля на НЖДМ, поддержка OPAM, SecureBoot.

Возможность заказной разработки под требования. НумаТех может выполнить заказную разработку или адаптацию Numa BIOS для использования в составе практически любой аппаратной платформы, реализованной на базе х86/х64 архитектуры Intel или AMD.


Возможность установки модуля доверенной загрузки уровня БСВВ Numa Arce. Возможность установки модуля доверенной загрузки Numa Arce (ИТ.СДЗ.УБ4.ПЗ), разработанного НумаТех специально для функционирования в среде Numa BIOS.

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

Поддержка стандартов. Реализует поддержку стандартов UEFI, ACPI, SMBios, CSM (legacy), PM, PXEboot, а также корректное функционирование HBA, Raid, SAS, АПМДЗ (OptionROMs). Обеспечивает загрузку и исполнение ОС Windows (XP и новее), ОС Linux, Unix, DOS.

Сочетание возможностей Numa BIOS и функциональности аппаратных платформ TONK позволяет создавать уникальные решения для использования в составе информационных систем, требующих реализации самых жестких мер по защите информации, в том числе, на объектах критической информационной инфраструктуры.


Модели TONK, поддерживаемые Numa BIOS:


Numa BIOS гарантирует работу. Numa BIOS обеспечивает гарантированную работу совместно с изделиями TONK следующих программных и программно-технических средств, перечень которых постоянно пополняется:


Поддерживаемые АПМДЗ:


Поддерживаемые идентификаторы:

  • Rutoken v.2 (ЭЦП, PKI)
  • JaCarta-2 ГОСТ, JaCarta PKI, JaCarta-2 PKI/ГОСТ, JaCarta LT и SF

Адаптация под требования Заказчика. Numa BIOS может использоваться в составе рабочих станций, ноутбуков, серверов и иных средств вычислительной техники, построенных на платформах x86/x64 от Intel или AMD. НумаТех обладает существенным опытом по адаптации Numa BIOS для использования в составе различных средств вычислительной техники, в том числе, специального назначения. По запросу может быть обеспечена совместимость с необходимыми потребителю программными и техническими средствами, включая налагаемые средства защиты информации.

Неоднородная архитектура памяти (NUMA) как особый вид организации подсистемы памяти существует уже довольно давно. Ее наиболее наглядный и доступный вариант представлен подсистемой памяти многопроцессорных платформ AMD Opteron, и существует он, можно сказать, с момента анонса самих процессоров AMD Opteron 200-х и 800-х серий, поддерживающих многопроцессорные конфигурации. Вместе с тем, изучение этой архитектуры памяти (здесь и далее мы будем иметь в виду исключительно ее «AMD-шный вариант») на низком уровне, анализ ее преимуществ и недостатков до сих пор не проводились. Этим мы и решили заняться в настоящей статье, благо в распоряжении нашей тестовой лаборатории оказалась очередная двухпроцессорная система на базе процессоров AMD Opteron. Но для начала, напомним основные особенности этой архитектуры.

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



Упрощенная блок-схема SMP-системы

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



Упрощенная блок-схема NUMA-системы

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

Однако «правильная организация доступа к памяти» здесь — ключевое и критически важное понятие. Платформы с архитектурой NUMA должны поддерживаться как со стороны ОС (хотя бы для того, чтобы сама система и приложения могли «увидеть» память всех процессоров, как единый блок памяти), так и со стороны приложений. Последние версии Windows XP (SP2) и Windows Server 2003 полностью поддерживают NUMA-системы (для 32-разрядных версий необходимо включение режима Physical Address Extension (ключ /PAE в boot.ini), который, к счастью, для AMD64-платформ включен по умолчанию, поскольку необходим для реализации Data Execution Prevention). Что касается приложений, здесь, прежде всего, имеется в виду нежелательность возникновения ситуации, когда приложение размещает свои данные в области памяти одного процессора, после чего обращается к ним с другого процессора. А как влияет соблюдение или несоблюдение этой рекомендации, мы сейчас и рассмотрим.

Конфигурация тестового стенда и ПО

  • Процессоры: 2x Opteron 250, 2.4 ГГц
  • Материнская плата: TYAN Thunder K8WE (S2895), BIOS версии 2003Q2 от 03/28/2005
  • Чипсет: NVIDIA nForce Professional 2200 & 2050, AMD 8131 PCI-X Tunnel
  • Память: 4x Corsair 512MB DDR-400 ECC Registered, 3-3-3-8
  • Видео: Leadtek PX350 TDH, nVidia PCX5900
  • HDD: WD Raptor WD360, SATA, 10000 rpm, 36Gb
  • Драйверы: NVIDIA Forceware 77.72

Результаты исследований

Исследование проводилось в стандартном режиме тестирования подсистемы памяти любой платформы. Измерялись: средняя реальная пропускная способность памяти (ПСП) при операциях простого линейного чтения и записи данных из памяти/в память, максимальная реальная ПСП при операциях чтения (с программной предвыборкой данных, Software Prefetch) и записи (методом прямого сохранения данных, Non-Temporal Store), а также латентность памяти при псевдослучайном и случайном обходе 16-МБ блока данных.

Симметричный режим «2+2», No Node Interleave

Настроек подсистемы памяти в BIOS двухпроцессорной системы AMD Opteron оказалось довольно много. А именно, настраиваются как минимум три параметра (по принципу Disabled/Enabled, или Disabled/Auto), что дает нам общее число вариантов — 8. Это: Node Interleave (чередование памяти между «узлами», то есть интегрированными контроллерами процессоров — замечательная возможность, которую мы подробно рассмотрим ниже), Bank Interleave (классическое чередование доступа к логическим банкам модулей памяти), а также Memory Swizzle (нечто похожее на Bank Interleave, но так до конца и не понятое :)). Поскольку изменение последнего параметра не оказывало ощутимого влияния на результаты тестов, было решено оставить его по умолчанию (Enabled). Остальные параметры варьировались, и в первой серии тестов была выбрана симметричная конфигурация «2+2» (по 2 модуля на каждый процессор), Node Interleave был отключен, а параметр Bank Interleave варьировался между Disabled и Auto (последнее означает, что чередование банков осуществляется в соответствии с характеристиками самого модуля).

ХарактеристикаNo Bank InterleaveBank Interleave = Auto
CPU 0CPU 1CPU 0CPU 1
Средняя реальная ПСП на чтение, МБ/с3618 (±3)2369 (±2)3654 (±5)2387 (±2)
Средняя реальная ПСП на запись, МБ/с1616 (±2)1415 (±2)2417 (±56)1878 (±29)
Максимальная реальная ПСП на чтение, МБ/с6286311663443133
Максимальная реальная ПСП на запись, МБ/с5924303261433033
Минимальная латентность псевдослучайного доступа, нс45.670.944.170.5
Максимальная латентность псевдослучайного доступа, нс48.374.747.374.3
Минимальная латентность случайного доступа, нс74.7112.374.7112.3
Максимальная латентность случайного доступа, нс78.6116.378.6116.3

Таким образом, «неоднородность» подсистемы памяти, о которой мы упоминали в теоретической части — налицо (и, разумеется, не только в терминах латентности, но и ПСП). Что подтверждает необходимость использования не только NUMA-aware OS, но и специально оптимизированных многопоточных приложений, в которых каждый поток самостоятельно выделяет память под свои данные и работает со своей областью памяти. В противном случае (однопоточные приложения и многопоточные, «не задумывающиеся» о правильном с точки зрения NUMA размещении данных в памяти) следует ожидать снижение производительности подсистемы памяти. Рассмотрим это на примере однопоточных приложений, на сегодняшний день по-прежнему представляющих большинство ПО. Известно, что в многопроцессорной системе диспетчер ОС назначает приложениям процессорное время так, чтобы разделить его поровну между всеми имеющимися процессорами (таким образом, в случае двухпроцессорной системы примерно 50% приходится на первый процессор, и 50% — на второй). Таким образом, момент размещения памяти обязательно придется на какой-нибудь из процессоров (например, CPU0), в то время как код приложения, осуществляющий доступ к этим данным, будет исполняться как на CPU0, так и на CPU1. И половину времени подсистема памяти будет работать с полной эффективностью, а половину — со вдвое сниженной, как показывают наши тесты. Поэтому, как это ни странно, эффективность работы с памятью таких приложений можно повысить, принудительно «привязав» их к одному из процессоров (задав Process Affinity), что, в общем-то, сделать не так и сложно.

Несимметричный режим «4+0»

А пока мы решили немного. «удешевить» систему — то есть имитировать ситуацию, преобладающую среди более дешевых двухпроцессорных плат под AMD Opteron, когда модули памяти можно установить всего для одного процессора — для второго процессора такая память принудительно становится «чужой». Собственно, исходя из теоретических предположений, ожидать сильно отличающихся результатов в этом случае явно не стоит — ситуация отличается ровно тем, что у «своего» процессора памяти стало в 2 раза больше, а у «чужого» ее как не было, так и нет. Поэтому приводим мы их исключительно для полноты картины.

ХарактеристикаNo Bank InterleaveBank Interleave = Auto
CPU 0CPU 1CPU 0CPU 1
Средняя реальная ПСП на чтение, МБ/с3623 (±5)2375 (±2)3684 (±33)2397 (±3)
Средняя реальная ПСП на запись, МБ/с1611 (±2)1418 (±2)2090 (±136)1932 (±31)
Максимальная реальная ПСП на чтение, МБ/с6249312863583128
Максимальная реальная ПСП на запись, МБ/с5878303262343032
Минимальная латентность псевдослучайного доступа, нс44.370.643.970.0
Максимальная латентность псевдослучайного доступа, нс47.674.447.173.7
Минимальная латентность случайного доступа, нс74.7111.877.0111.8
Максимальная латентность случайного доступа, нс78.6116.080.7115.9

Симметричный режим «2+2», Node Interleave

Вот мы и добрались до самого интересного момента — решения для обычных приложений, ничего не знающих об архитектуре NUMA. Суть его весьма проста, и заключается она в чередовании памяти по 4-КБ страницам между модулями, находящимися на разных «узлах» (контроллерах памяти). В случае двухпроцессорной системы можно сказать, что все четные страницы «достаются» первому процессору, а все нечетные — второму. В результате получается — независимо от того, на какой из процессоров приходится момент размещения данных в памяти, данные будут размещены поровну в пространстве памяти обоих процессоров. И независимо от того, на каком из процессоров исполняется код, половина обращений к памяти будет относиться к «своей» памяти, а половина — к «чужой». Что же, посмотрим, как это проявляет себя на практике.

ХарактеристикаNo Bank InterleaveBank Interleave = Auto
CPU 0CPU 1CPU 0CPU 1
Средняя реальная ПСП на чтение, МБ/с2893 (±3)2890 (±3)2899 (±5)2914 (±3)
Средняя реальная ПСП на запись, МБ/с1897 (±20)1895 (±20)2065 (±34)2070 (±34)
Максимальная реальная ПСП на чтение, МБ/с4211421742204231
Максимальная реальная ПСП на запись, МБ/с4029402640294025
Минимальная латентность псевдослучайного доступа, нс57.558.057.458.0
Максимальная латентность псевдослучайного доступа, нс60.560.260.460.0
Минимальная латентность случайного доступа, нс94.594.394.594.2
Максимальная латентность случайного доступа, нс96.396.096.695.9

Заключение

ПлатформаПиковая пропускная способность подсистемы памяти, ГБ/с
(двухканальная DDR-400)
Однопоточное приложениеНесколько однопоточных приложенийМногопоточное приложениеNUMA-aware многопоточное приложение
SMP6.46.46.46.4
Несимметричная NUMA4.2 (6.4 * )6.46.46.4
Симметричная NUMA4.2 (6.4 * )8.4 (12.8 * )6.412.8
Симметричная NUMA, Node Interleave4.28.48.48.4

* в случае «привязки» приложения к одному из процессоров

Недорогие, несимметричные NUMA-системы выглядят не многим лучше, а то и хуже традиционных SMP-систем. Хуже — в случае однопоточных приложений, если их не «привязывать» к тому процессору, который обращается с памятью. Пиковая ПСП во всех остальных случаях здесь также ограничена цифрой 6.4 ГБ/с — то есть пропускной способностью единственного имеющегося в системе интерфейса памяти.

Симметричные NUMA-системы практически во всех случаях обладают преимуществом как над SMP, так и несимметричными NUMA-системами. Достигнуть пиковой ПСП 12.8 ГБ/с на таких платформах могут либо специальные NUMA-оптимизированные приложения, либо. два обычных, однопоточных приложения, «раскиданных» каждое по своему процессору.

В каких случаях есть смысл включать в БИОСе режим NUMA и использовать ядра с поддержкой NUMA?

Есть ли какие-то категории задач которые в режиме NUMA дают прирост общей производительности системы или наоборот получается падение общей производительности системы ?


Так если несколько отдельных процессоров каждый со своей памятью это в любом случае numa, не? А переключение это какой-нибудь костыль для венды.

Включаем, т.к. оно включено по дефолту =)
Отключать вряд ли имеет смысл, разве что подкрутить NUMA Group Size Optimization для не NUMA-aware софта, если того рекомендует вендор.


Во-первых, сейчас честных SMP не осталось в природе от слова совсем.

Во-вторых, что касается указанной настройки, так это сделано для венды, т.к. там есть такой костыль как Kernel Groups (Kgroups). Изначально венда умела только 64 логических процессора. Потом, чтобы это обойти придумали эти самые группы, каждая из которых имела аналогичное ограничение, зато самих группы было уже несколько. Так вот какой-то старый софт немного не в курсе, а потому продолжает жить в пределах одной группы. Это приводит к невозможности задействовать все ядра, а потому нужно настройку NUMA отключать, иначе венда криво формирует группы. Как-то так. Можно почитать всякую ерунду типа Microsoft KBA 2506384.

Мне думается, что для линукса это неактуально. А потому поддержу предыдущего оратора, рекомендующего всё включить. Пусть БИОС сообщает труЪ ОСи правду.


Я думал, что настройка в биосе как-то влияет на настройки контроллера памяти.

Пока машина находится на стадии тестирования есть возможность менять настройки.

Я нашел у интела утиль для имерения скорости работы с памятью, т.ч. можно посмотреть на реальные цифры.

Если бы можно было вишмастетром убрать недостаток медленного доступа к чужой памяти думаешь кто-то бы заморачивался работать без него?


Эта настройка не ускоряет доступ к памяти, она тормозит его всем, чтоб одинаковый был (ака синхронный режим работы кэша(шины?), тот еще гемморой, -5/15% производительности для задач которым безразлична NUMA/которые для нее сделаны и очень маленький прирост приложениям неумеющим в нее)


Первый запуск - NUMA в биосе отключена, ядро ничего не знаяет про NUMA

Второй запуск - NUMA в биосе включена и в ядре включены

Результаты в режиме NUMA отмечены '>'

Полезность режима NUMA для меня пока не очень очевидна.

в п.3 получется дикий провал производительности при обращении в чужую память.

Но пункты 2 и 4 показывают повышение производительности со своей памятью +25%

Может я чего не замечаю ?


Второй пункт с 76654.6 до 96624.9 вырос, а это грубо говоря +25% к общей пропускной способности при условии лазания в локальную для ноды память память.


да, это хорошо, но 5-ти кратное падение скорости в п.3 меня сильно удивило.

Т.е. если планировщик не будет допускать запуска процесс на чужой ноде, то все должно быть лучше чем в UMA режиме.

ICL Техно 10 февраля 2021 года сообщил, что совместно с НумаТех подписали соглашение о технологическом партнерстве.

Компании начали сотрудничество в области разработки и производства средств вычислительной техники с высокой степенью локализации. В планах – использование совместных компетенций для создания как отдельных продуктов, так и комплексных ИТ-решений, отвечающих требованиям по безопасности информации.

Научно-технологический потенциал ICL Техно и НумаТех позволит создавать продукты и решения, которые могут быть адаптированы под потребности конкретного потребителя. Так, например, на февраль 2021 года организованы и ведутся работы по модификации и адаптации первой российской базовой системы ввода-вывода - Numa BIOS для использования в составе линейки ноутбуков ICL RAYbook. Numa BIOS для ноутбуков RAYbook является полноценной заменой оригинального BIOS и обеспечивает реализацию дополнительных функций. Numa BIOS обеспечивает полноценное функционирование операционных систем семейств Windows и Linux, включая отечественные ОС специального назначения.

Стоит отметить, что для компьютерного и серверного оборудования производства ICL Техно, где в качестве базовой системы ввода-вывода будет использоваться Numa BIOS, будет доступна возможность использования модуля доверенной загрузки Numa Arce, сертифицированного ФСТЭК России. Numa Arce реализован в виде EFI приложения и может применяться для защиты информации в государственных информационных системах, информационных системах персональных данных, на объектах критической информационной инфраструктуры, а также в автоматизированных системах управления технологическими процессами.

Отдельные исполнения серверных аппаратных платформ ICL Техно будут производиться с предустановленным доверенным Numa BIOS, позволяющим использовать оборудование в составе решений, к которым предъявляются требования по безопасности информации (ИСПДн, ГИС, КИИ), а также в качестве основы для создания программно-технических средства защиты информации. Кроме того, компании планируют проводить совместные работы по созданию комплексных решений, базирующихся на использовании доверенной системы серверной виртуализации Numa vServer, предназначенных для построения виртуальных инфраструктур, масштабирующихся до геораспределённого частного или гибридного облака.

2020: Завершение разработки отечественной базовой системы ввода-вывода Numa BIOS для DEPO Neos

9 октября 2020 года компания «НумаТех» сообщила о завершении разработки отечественной базовой системы ввода-вывода Numa BIOS, предназначенной для оснащения персональных устройств линейки DEPO Neos производства «ДЕПО Компьютерс». Данная разработка является результатом технологического партнерства российского производителя вычислительной техники и российского разработчика системного, специализированного программного обеспечения и средств защиты информации.



По информации компании, соглашение о сотрудничестве и технологическом партнерстве между российскими компаниями «ДЕПО Компьютерс» и «НумаТех» предполагает использование научно-технического, технологического и производственного потенциала сторон для создания российской вычислительной техники, соответствующей критериям импортозамещения.

На октябрь 2020 года линейка автоматизированных рабочих мест DEPO Пересвет и линейка моноблоков DEPO Neos внесены в реестр отечественной вычислительной техники, который опубликован на сайте Минпромторга РФ. Данные персональные устройства производятся в России на базе отечественной материнской платы ДЕПО.

Для повышения уровня информационной безопасности и расширения возможностей линейки персональных устройств линейки DEPO Neos совместно с компанией «НумаТех» проведены работы по разработке и отладке специального исполнения российской базовой системы ввода-вывода Numa BIOS для материнской платы ДЕПО.

Программное обеспечение Numa BIOS для «ДЕПО Компьютерс» создано по специально разработанному техническому заданию и реализует все возможности материнской платы ДЕПО, обеспечивает поддержку отечественных операционных систем и совместимость с российскими аппаратными идентификаторами в форм-факторе смарт-карт и USB-токенов. Поскольку исходные коды Numa BIOS принадлежат российской компании «НумаТех», персональные устройства DEPO Neos с данным вариантом базовой системы ввода-вывода полностью готовы к сертификации по требованиям информационной безопасности в соответствии с действующей в России нормативно-правовой базой, в том числе в соответствии с требованиями российских силовых министерств и ведомств.

Numa BIOS входит в Реестр отечественного программного обеспечения (реестр опубликован на сайте Минкомсвязи РФ). Базовая система ввода-вывода, разработанная компанией НумаТех, полностью соответствует спецификации UEFI 2.7.

Помимо операционных систем семейства Windows и свободно-распространяемых дистрибутивов Linux, Numa BIOS обеспечивает загрузку и полноценное функционирование отечественных операционных систем специального назначения. Протестирована работа ОС Astra Linus Special Edition (релиз «Смоленск») на материнской плате ДЕПО с Numa BIOS. Являясь отечественной альтернативой BIOS иностранного производства, Numa BIOS делает возможным использование персональных устройств DEPO Neos российскими заказчиками.

Для заказчиков, предъявляющих расширенные требования к информационной безопасности, возможна комплектация персональных устройств DEPO доверенным вариантом Numa BIOS, сертифицированным ФСТЭК России по 4 уровню доверия. Кроме этого, возможна установка программного модуля доверенной загрузки Numa Arce. Программный модуль Numa Arce соответствует уровню загрузочной записи по классификации ФСТЭК России и может применяться для защиты конфиденциальной информации в государственных информационных системах, объектах критической информационной инфраструктуры и автоматизированных системах управления технологическими процессами. В отличие от АПМДЗ, программный модуль доверенной загрузки, встроенный в микропрограммное обеспечение персонального устройства, нельзя извлечь в процессе эксплуатации устройства. Кроме этого, в Numa Arce реализованы механизмы защиты от несанкционированного отключения и блокировки модуля. Возможностью программного модуля доверенной загрузки является отсутствие необходимости выделения отдельного слота для установки аппаратной части. Это на октябрь 2020 года актуально для мобильных устройств/ультратонких ноутбуков (где нет места для размещения классических АПМДЗ) и для серверного оборудования.

Сотрудничество компаний «ДЕПО Компьютерс» и «НумаТех» на октябрь 2020 года продолжается. До конца 2020 года планируется оснащение базовой системой ввода-вывода Numa BIOS еще как минимум 3-х материнских плат ДЕПО для персональных устройств и для серверного оборудования (серверов и систем хранения данных).

В перспективе с использованием технологий и разработок «НумаТех» в области доверенной виртуализации планируется создание комплексного решения для развертывания защищенных ЦОД на базе серверного оборудования ДЕПО Компьютерс российского производства. В основе такого решения будет использоваться доверенная система серверной виртуализации Numa vServer, разработанная с учетом требований по безопасности информации и предназначенная для создания защищенной виртуальной инфраструктуры, масштабируемой вплоть до геораспределённого частного или гибридного облака.

Кроме этого, планируется разработка аппаратно-программного межсетевого экрана в виде отдельного устройства. К таким устройствам в соответствии с Требованиями ФСТЭК России предъявляются повышенные требования по безопасности. Наличие у российской компании исходных кодов ПО позволит пройти проверку и получить сертификат ФСТЭК России на разрабатываемый межсетевой экран. [1]

Читайте также: