Научная статья на тему 'Использование драйвера для тестирования прототипа контроллера Ethernet 1 Гбит/с'

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

CC BY
777
479
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СЕТЕВОЙ КОНТРОЛЛЕР / ФУНКЦИОНАЛЬНОЕ ТЕСТИРОВАНИЕ СБИС / ТЕСТИРОВАНИЕ ПРОИЗВОДИТЕЛЬНОСТИ / БАГЕТ / ЛИНУКС / ETHERNET / network controller / Ethernet / VLSI functional testing / performance testing / Baget / Linux

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Слинкин Д. И.

В статье описывается созданное в НИИСИ РАН семейство контролеров Ethernet. В настоящее время идет работа над новым перспективным процессором со встроенным контроллером Gigabit Ethernet. Тестирование является частью процесса разработки микросхем и представляет собой трудоемкую задачу. В статье рассматривается проверка модели встроенного сетевого контроллера, проводимая в процессе его разработки. Исследуемый прототип реализован в виде технологической платы на основе программируемой логической интегральной схемы. Существуют раз-личные подходы к верификации проектов микросхем. В статье предлагается методика тестирования сетевых контроллеров, созданная на основе практического опыта. Данное тестирование стало основным этапом проверки прототипа сетевого контроллера. В качестве основы для тестового программного обеспечения предлагается использовать системные программы – драйверы. Обсуждаются задачи, решаемые при помощи программных тестов: первоначальное включение, проверка функциональной пригодности, совместимость с различным оборудованием и операционными системами, программная совместимость с предыдущей версией микросхемы, проверка стабильности и надежности. Особое внимание уделено тестированию производительности и исследованию поведения сетевого контроллера в условиях превышения пределов нормального функционирования. Рассматриваются факторы, влияющие на производительность, а также проблема загрузки процессора при интенсивной сетевой работе и способы ее снижения. Показаны ситуации, которые могут возникнуть при стрессовой нагрузке на контроллер. Кратко оцениваются область применения функциональных тестов, их преимущества и недостатки по сравнению с другими методами тестирования. Обосновывается применение драйверов и готовых тестов в качестве способа снижения трудоемкости. Предлагается план дальнейших работ.

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

USING DRIVER FOR ETHERNET 1 GBPS CONTROLLER’S PROTOTYPE TESTING

The article describes a family of Ethernet controllers created the SRISA RAS. Currently a prototype of a new perspective processor with embedded Gigabit Ethernet controller is being designed. Testing is an integral part of microcircuits design process and is a time-consuming task. This article introduces an approach to testing of an embedded network controller model during its design. The prototype in question is implemented as a field-programmable gate array (FPGA) based on technological card. There are several different ways of microcircuits projects verification. The article offers the network controllers testing method based on author’s practical experience. This testing method has become the main stage of the network controller’s prototype verification. The system software – drivers are suggested as a basis for the testing software. The article also considers the following subjects: the tasks which can be solved using software based tests, such as: smoke tests, suitability, compatibility with different hardware and operation systems, program compatibility with previous version of microcircuit, stability and reliability testing. Special attention is paid to performance testing and to surveying of a network controller’s behavior beyond the limits of normal operation; factors tha t affect the system’s performance; an issue of CPU loading during intensive network activity and the ways of its reduction; situations which can appear during controller’s stress loading. In conclusion the paper discusses a range of functional tests application, as well as their advantages and disadvantages in comparison with other testing methods. Drivers and ready-made tests are presented as means of reducing labor-intensity. The plan of future works is suggested.

Текст научной работы на тему «Использование драйвера для тестирования прототипа контроллера Ethernet 1 Гбит/с»

Программные продукты и системы /Software & Systems

№ 4 (108), 2014

УДК 004.4 Дата подачи статьи: 04.07.2014

DOI: 10.15827/0236-235X.108.063-069

ИСПОЛЬЗОВАНИЕ ДРАЙВЕРА ДЛЯ ТЕСТИРОВАНИЯ ПРОТОТИПА КОНТРОЛЛЕРА ETHERNET 1 ГБИТ/С

Д.И. Слинкин, зав. группой, [email protected] (НИИСИ РАН, Нахимовский просп., 36, к.1, г. Москва, 11 7218, Россия)

В статье описывается созданное в НИИСИ РАН семейство контролеров Ethernet. В настоящее время идет работа над новым перспективным процессором со встроенным контроллером Gigabit Ethernet. Тестирование является частью процесса разработки микросхем и представляет собой трудоемкую задачу. В статье рассматривается проверка модели встроенного сетевого контроллера, проводимая в процессе его разработки. Исследуемый прототип реализован в виде технологической платы на основе программируемой логической интегральной схемы. Существуют различные подходы к верификации проектов микросхем. В статье предлагается методика тестирования сетевых контроллеров, созданная на основе практического опыта. Данное тестирование стало основным этапом проверки прототипа сетевого контроллера. В качестве основы для тестового программного обеспечения предлагается использовать системные программы - драйверы. Обсуждаются задачи, решаемые при помощи программных тестов: первоначальное включение, проверка функциональной пригодности, совместимость с различным оборудованием и операционными системами, программная совместимость с предыдущей версией микросхемы, проверка стабильности и надежности. Особое внимание уделено тестированию производительности и исследованию поведения сетевого контроллера в условиях превышения пределов нормального функционирования. Рассматриваются факторы, влияющие на производительность, а также проблема загрузки процессора при интенсивной сетевой работе и способы ее снижения. Показаны ситуации, которые могут возникнуть при стрессовой нагрузке на контроллер. Кратко оцениваются область применения функциональных тестов, их преимущества и недостатки по сравнению с другими методами тестирования. Обосновывается применение драйверов и готовых тестов в качестве способа снижения трудоемкости. Предлагается план дальнейших работ.

Ключевые слова: сетевой контроллер, Ethernet, функциональное тестирование СБИС, тестирование производительности, Багет, Линукс.

С усложнением микросхем повышается вероятность появления ошибок и затрудняется процесс их поиска, усложняется тестовое ПО. Тестирование проводится в течение всего жизненного цикла электронных изделий: от проектирования микросхем до контроля модулей в ходе их эксплуатации. Для современных микросхем трудоемкость создания тестового ПО может превышать трудоемкость создания аппаратной части [1]. При этом полная проверка всех состояний практически невозможна в силу ограничения времени и ресурсов, которые могут быть выделены на тестирование. Полностью избежать ошибок в микросхемах не удается даже ведущим мировым фирмам.

Конечной целью тестирования является получение надежного и работоспособного изделия, удовлетворяющего требованиям, указанным в документации, и разумным ожиданиям пользователя. Одним из этапов маршрута тестирования являются функциональные тесты. В статье показано использование этих тестов для проверки прототипа встроенного контроллера Ethernet 1 Гбит/с.

Технология Ethernet, разработанная в 1973 г. в Центре Xerox PARC, постоянно совершенствуется в соответствии с возрастающими запросами. С середины 1990-х годов Ethernet стал наиболее распространенной технологией для локальных вычислительных сетей. Согласно International Data Corporation, 2000 год, 85 % всех установленных сетей - Ethernet [2]. Наиболее современный стандарт, IEEE 802.3ba, разработанный в 2010 г., предполагает скорость работы 40 или 100 Гбит/с.

Высокоскоростные каналы связи, 10 Гбит/с и выше, применяются в основном в центрах обработки данных, сетевых магистралях, крупных корпоративных и кампусных сетях, сетевыми провайдерами и в медицине. Существует тенденция роста количества продаж и снижения стоимости 10 Гбит/с сетевого оборудования.

В НИИСИ РАН были разработаны контроллеры Ethernet с интерфейсом PCI: 1890ВГ15Т (1 Гбит/с), 1890ВГ3Т (100 Мбит/с) и встроенный в процессор 1890ВМ5Ф сетевой контроллер (100 Мбит/с). В настоящее время ведется работа над микросхемой 1890ВМ8Я, представляющей собой процессор серии «Комдив» со встроенным системным контроллером и контроллером Ethernet 1 Гбит/с. Блок встроенного контроллера Ethernet основан на 1890ВГ15Т, его разработчик сделал ряд усовершенствований. Для подтверждения правильности принятых технических решений было проведено тестирование. Использовался прототип устройства на основе ПЛИС Altera, представляющий собой PMC-совместимый модуль, подключаемый к шине PCI технологического процессорного модуля. Тесты представляли собой программы на языке Си или наборы команд оболочки shell ОС. В качестве основы тестового ПО использовались системные программы - драйверы. Они выполнялись под управлением ОС и создавали наиболее реалистичные условия работы модели сетевого контроллера. Ранее в НИИСИ РАН была выполнена подобная проверка для нескольких моделей СБИС [3].

63

Программные продукты и системы /Software & Systems

№ 4 (108), 2014

Методика тестирования

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

Завершающим этапом является стресс-тестирование, которое оценивает корректность работы изделия в ситуациях, связанных с чрезмерно интенсивной нагрузкой. В статье показано использование методики для тестирования прототипа контроллера Ethernet 1 Гбит/с.

Тесты первоначального включения

Тесты первоначального включения, называемые «smoke tests», предполагают проверку на явные ошибки. Термин подразумевает, что после включения нового оборудования из него не пошел дым. В НИИСИ РАН все новые изделия проходят входной контроль. Затем загружается ОС и выполняется простейшая проверка - чтение конфигурационных регистров микросхемы, например «DevicelD» и «VendorlD». Если есть доступ к регистрам по системной шине, возможен запуск программных тестов.

Проверка

функциональной пригодности

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

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

Для модели контроллера Ethernet 1 Гбит/c была выбрана проверка, ограниченная возможностями, используемыми системными программами - драйверами. Предполагается, что готовые драйверы для микросхемы 1890ВГ15Т под ОСРВ «Багет» и под ОС Linux будут использованы в дальнейшем. Тестирование под управлением драйвера максимально приближает работу сетевого контроллера к условиям реальной эксплуатации. Такой подход снижает затраты на программирование, но затрудняет диагностику ошибок из-за меньшей наглядности работы драйверов по сравнению со специально разработанными тестами.

На первом этапе функциональной проверки модели контроллера Ethernet использовался тест на основе драйвера микросхемы 1890ВГ15Т под ОСРВ «Багет». Тест был создан разработчиками драйвера. Он осуществлял передачу, прием и проверку пакетов данных в режиме внутренней петли (в контроллере Ethernet) и петли на уровне приемопередатчиков RGMII (Reduced Gigabit Media Independent Interface). Скорость передачи данных: 10, 100 и 1 000 Мбит/с. Длина пакетов данных генерировалась случайным образом.

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

Второй этап проверки основан на сетевом взаимодействии с инструментальной ЭВМ под управлением ОС Linux. Технологическая плата с прототипом контроллера Ethernet устанавливалась на несущий процессорный модуль ЦП06. Для задания режимов использовался сетевой коммутатор Hewlett-Packard с заранее запрограммированными скоростями. Схема подключения приведена на рисунке 1.

64

Программные продукты и системы /Software & Systems

№ 4 (108), 2014

Для этих целей использовалась ОСРВ «Багет». Набор тестовых данных представлял собой набор файлов, хранимых на IBM-PC-совместимой инструментальной ЭВМ. Для проверки были задействованы сетевые протоколы FTP и NFS. Тесты чтения и записи данных были выполнены для всех возможных скоростей и режимов дуплекса.

В процессе работы сетевой контроллер постоянно использует физический адрес (MAC-адрес), который записывается в РПЗУ типа EEPROM. Также РПЗУ содержит ряд настроек, связанных с приемопередатчиками RGMII и скоростями работы, служебную информацию и контрольные суммы. В рамках тестирования функциональности была выполнена проверка записи-чтения данных из РПЗУ, сделаны предложения о формате записываемых данных. НИИСИ РАН имеет диапазон физических адресов, которые могут быть присвоены разработанным в институте сетевым контроллерам. Корректные физический и IP-адреса позволили проверить работу устройства в условиях подключения к реальной компьютерной сети.

Проверка совместимости с различным оборудованием и OC

Проверяется функционирование модели сетевого контроллера в составе различных процессорных модулей и периферийных устройств под управлением разных ОС. Так как прототип кот-роллера Ethernet планируется встроить в новый процессор, особый интерес представляет аналог будущего процессорного модуля.

Была проверена совместимость модели контроллера Ethernet с процессорными модулями трех типов и с IBM-PC-совместимой ЭВМ. Проверялась совместимость с сетевым оборудованием: коммутаторами и концентраторами разных типов. Тестовое ПО и ОСРВ «Багет» могут быть перенесены на разные модули, что дает возможность такой проверки. Для ОСРВ «Багет» были использованы тесты чтения и записи файлов, описанные выше.

Проверка совместимости с ОС Linux проводилась на несущем модуле ЦП06. Выполнялась загрузка ОС Linux с драйвером Ethernet 1Гбит/с. Использовались стандартные команды работы с сетью: «ifconfig», «ping», «ssh», «scp».

Вторым этапом проверки совместимости с ОС Linux стала установка прототипа контроллера Ethernet в IBM-PC-совместимую ЭВМ. Так как исследуемый прототип выполнен в виде PMC-совместимого модуля, для его установки в разъем PCI материнской платы использовался переходник. Была проведена адаптация драйвера для работы в версии ядра (2.6.32). ОС Linux предоставляет большой выбор команд, протоколов работы с сетью и готовых тестов. Их выполнение позволило проверить прототип сетевого контроллера.

Программная совместимость с предыдущими версиями

Регрессионное тестирование подтверждает, что после внесения изменений в проекте не появились новые ошибки или нежелательные побочные эффекты. Изменения в программировании СБИС могут повлечь дополнительные затраты сторонних организаций-заказчиков. Эти затраты связаны с необходимостью изменения ПО и, возможно, c его переаттестацией. Поэтому при модернизации микросхем или выпуске новых версий проверяется программная совместимость с предыдущими изделиями.

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

Оценка производительности

Микросхема функционирует в составе системы, состоящей из аппаратных средств, ОС, драйвера и прикладных программ. Все эти элементы могут вносить задержки. Поэтому скорость работы на реальной задаче будет ниже 1 Гбит/с.

Максимальная производительность шины PCI 33 МГц составляет 132 Мбайт/с, которые разделяются между всеми устройствами на шине. Пропускная способность канала 1000Base-T равна 125 Мбайт/с. Таким образом, гигабитный Ethernet создает высокую нагрузку на системную шину. Параллельная работа нескольких требовательных к ресурсам устройств затормозит сетевой контроллер. Исследуемый прототип использует шину PCI, загрузка которой влияет на производительность.

Другой фактор, оказывающий влияние на производительность, - загрузка центрального процессора. Известно эмпирическое правило: при работе с протоколом TCP требуется 1 ГГц частоты процессора для скорости 1 Гбит/с [4]. В режиме 1 Гбит/с через сетевой контроллер за 1 секунду может пройти до 1 488 000 пакетов длиной 64 байта или 81 000 пакетов по 1 518 байт. Если прерывание выставляется для каждого пакета, будет создана значительная нагрузка на процессор. Известны ситуации «receive livelock», когда из-за частых прерываний практически останавливаются прикладные программы с более низким по сравнению с драйвером приоритетом. Система может перестать выполнять свои полезные функции. При получении прерывания процессор останавливает свою работу, сохраняет контекст (значения регистров и конвейера), затем передает управление обработчику прерывания. Операции сохранения и

65

Программные продукты и системы /Software & Systems

№ 4 (108), 2014

восстановления контекста трудно поддаются оптимизации, поэтому необходимо введение аппаратного механизма уменьшения количества прерываний [5]. С другой стороны, современные ОС имеют программные механизмы опроса сетевой карты, такие как NAPI или POLLING [6]. Интересна количественная оценка эффективности программных и аппаратных механизмов управления прерываниями. При тестировании сетевых карт иностранного производства [7] было определено, что наибольшая пропускная способность (около 800 Мбит/c) достигается для больших пакетов размером 16 Кбайт и выше. На практике часто используется максимальный размер блока данных (MTU) 1 500 байт. В сети обычно возникает бимодальное распределение длин пакетов, большинство пакетов близко или к наименьшей - 64 байта, или к наибольшей длине [8].

Оценка загрузки процессора при работе прототипа контроллера Ethernet проводилась в составе IBM-PC-совместимой ЭВМ под управлением ОС Linux и с использованием теста «netperf»/«net-server». Пример зависимости загрузки процессора от сетевой активности приведен на рисунке 2.

Использование ОС Linux и свободно распространяемого теста позволило сравнить быстродействие прототипа контроллера Ethernet и создаваемую им нагрузку на процессор с иностранным аналогом - сетевой картой на основе микросхемы Marvell 88E8003.

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

ве механизма сокетов и протокола TCP. Такие задачи имеют простой исходный код и могут быть скомпилированы как под ОСРВ «Багет», так и под ОС Linux. Скорость работы была измерена для различных модулей серии «Багет», а также IBMPC-совместимой ЭВМ. По результатам составлена таблица, позволяющая оценивать эффективность процессорных модулей путем сравнения их технических характеристик и сетевой производительности.

Проверка стабильности и надежности

Оценивается способность системы работать продолжительное время со средним уровнем нагрузки. Задача решается путем выполнения контрольного примера - передачи большого объема данных.

Для проверки стабильности и надежности модели контроллера Ethernet были задействованы две инструментальные IBM-PC-совместимые ЭВМ. Передача данных выполнялась по протоколам NFS и FTP. Всего запускались четыре потока (thread) передачи данных. Тест построен по принципу чтения и копирования всех файлов из заданных директорий на инструментальных ЭВМ. Объем передаваемых на запись данных - 11,4 Гбайт. Столько же информации передавалось на чтение. Параллельно выполнялась утилита «ping» с увеличенной до 512 байт длиной пакетов данных. Запускались два потока в направлении инструментальных ЭВМ. Для моделирования загруженности несущего модуля ЦП11 запускались тесты других устройств: графического контроллера, контроллера Ethernet 100 Мбит/с и др.

Рис. 2. Загрузка процессора Intel Pentium 4 (3,2 ГГц) при работе прототипа контроллера Ethernet 1 Гбит/c на прием данных (на основе графиков, выводимых программой «System monitor»)

Fig. 2. The Intel Pentium 4 (3,2 GHz) processor utilization when the 1 Gbps Ethernet controller prototype receives data

(based on System Monitor graphs)

66

Программные продукты и системы /Software & Systems

№ 4 (108), 2014

Стресс-тестирование

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

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

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

Первый тест заключался в работе с максимально высокой скоростью и потерей данных. Прототип контроллера Ethernet устанавливался в IBMPC-совместимую ЭВМ, обеспечившую максимальное быстродействие со стороны процессора. Прием и передача данных выполнялись по протоколу UDP одновременно на технологической и инструментальной ЭВМ, чем обеспечивалась загрузка приемника и передатчика прототипа сетевой карты. В отличие от протокола TCP в UDP отсутствует гарантия доставки датаграмм. Следовательно, отсутствуют задержки, связанные с таймаутами и необходимостью повторных передач данных. Поэтому по протоколу UDP обе сетевые карты передают данные с максимальной интенсивностью [9].

Было использовано соединение: 1 Гбит/c, полный дуплекс. Во время выполнения теста происходила потеря данных из-за превышения пределов нормального функционирования системы. Для анализа статистики входящего и исходящего трафиков использовались команда «iptables» OC Linux и команды ОСРВ «Багет». После завершения стрессовой нагрузки был выполнен тест, подтвердивший возобновление нормальной работы прототипа контроллера Ethernet.

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

Использовался модуль ЦП06 под управлением ОС Linux. Были задействованы две инструментальные IBM-PC-совместимые ЭВМ, имеющие в своем составе по две сетевые карты (eth0 и eth1). Каждая карта обладала индивидуальным IP-адресом и выполняла отдельное тестовое задание. Схема подключения приведена на рисунке 3.

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

Fig. 3. Connection diagram for the system heavy load conditions test

Модуль ЦП06 не имеет жесткого диска. Использованная схема рассчитана на копирование файлов с одной IBM-PC на другую через тестируемый сетевой контроллер. Параллельно со стороны обеих ЭВМ и модуля ЦП06 запускался «ping» с увеличенной интенсивностью передачи и длиной пакетов. Потери утилиты «ping» составляли от 6 % до 46 %. При этом все файлы были успешно скопированы, а ОС Linux и сетевой контроллер продолжали функционировать.

Третьей задачей являлась проверка механизма обработки коллизий. Технология Ethernet использует CSMA/CD - множественный доступ к общей передающей среде с обнаружением несущей и контролем коллизий. Сам способ доступа предполагает возникновение коллизий, снижающих пропускную способность. Интерес представали «коллизии на дальнем конце кабеля»: ситуации, когда две сетевые карты одновременно начинают передавать данные, а также коллизии, возникающие из-за перегруженности активного оборудования: сетевого концентратора (hub) или коммутатора (switch).

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

67

Программные продукты и системы /Software & Systems

№ 4 (108), 2014

Так как задача носила тестовый характер, скорость передачи данных и эффективность использования канала не имели решающего значения. Наибольшее количество коллизий возникнет при самой низкой скорости работы, 10 Мбит/с, полудуплекс. Для проверки был выбран заведомо устаревший сетевой концентратор. Схема подключения приведена на рисунке 4.

Всего использовались пять модулей - контроллеров Ethernet 1 Гбит/с на ПЛИС Altera, пять технологических модулей ЦП06 и две IBM-PC-со-вместимые ЭВМ.

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

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

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

В дополнение к проверке модели контроллера Ethernet на ПЛИС в НИИСИ РАН выполнялось тестирование его RTL-модели. Такие тесты дают возможность рассчитывать процент покрытия исходного кода (code coverage) и обеспечивают доступ к внутренним сигналам модели. Кроме того, проводилось тестирование модели микропроцессора со встроенным контроллером Ethernet с использованием аппаратного ускорителя Palladium-XP фирмы Cadence. Ускоритель сочетает достаточно высокую скорость работы и возможность доступа к внутренним сигналам модели. Тесты модели на ПЛИС не обладают возможностью расчета покрытия. Лишь на основе технической документации можно сказать, какие блоки устройства были задействованы. Отсутствует гарантия выявления всех ошибок, что, впрочем, актуально и для других видов тестирования. Недостатками являются сложность драйверов для современных микросхем, необходимость понимания их работы и взаимодействия с ОС. При использовании ПЛИС требуются затраты на изготовление технологических плат.

Преимущества тестов моделей на ПЛИС в высоком быстродействии. Интересна возможность проверить взаимодействие прототипа контроллера с другими устройствами ЭВМ - «обвязкой», убедиться в работоспособности драйверов, оценить характеристики быстродействия и поведение в реальных условиях. Такие тесты эффективны, удобны для наглядной демонстрации работы устройств на реальных задачах, востребованы разработчиками и заказчиками.

Для снижения трудоемкости целесообразно подобрать минимальный набор тестов, обеспечивающий решение требуемых задач. Так, например, копирование файлов по протоколам FTP и NFS было использовано для проверки функциональной пригодности, совместимости, а в дополненном виде для проверки стабильности и надежности. Применение драйвера снижает затраты на разработку тестового ПО и позволяет концентрировать усилия непосредственно на проверке микросхем. Этот прием не является универсальным, для каждого устройства подбирается индивидуальная методика тестирования. ОС Linux дает возможность использования большого количества уже готовых тестов и прикладных программ.

К моменту завершения тестирования прототипа встроенного контроллера Ethernet 1 Гбит/с в качестве отдельного узла была подготовлена модель нового микропроцессора на ПЛИС. Планируется серийное производство нового процессора в виде микросхемы. Подготовленные методика и тестовое ПО будут использованы для дальнейших проверок встроенного контроллера Ethernet.

68

Программные продукты и системы /Software & Systems

№ 4 (108), 2014

Литература

1. Бобков С.Г. Методика тестирования микросхем для компьютеров серии «Багет» // Программные продукты и системы. 2007. № 3. С. 2-5.

2. Пахомов С. Перспективы развития сетевых технологий // КомпьютерПресс. 2003. N° 10; URL: http://www.compress.ru/ article.aspx?id=12094&iid=467 (дата обращения: 10.06.2014).

3. Аряшев С.И., Корниленко А.В., Чекунов А.В. Отладка и тестирование моделей СБИС с использованием прототипов, реализованных на ПЛИС // Проблемы разработки перспективных микро- и наноэлектронных систем-2005: сб. науч. тр.; [под ред. А.Л. Стемпковского]. М.: Изд-во ИППМ РАН, 2005. С. 275-280.

4. Foong A.P., Huff T.R., Hum H.H., Patwardhan J.P. TCP Performance Re-Visited. Intel Corporation, 2003. URL: http://www.nanogrids.org/jaidev/papers/ispass03.pdf (дата обращения: 10.06.2014).

5. Kim I., Moon J., Heon Y. Yeom Timer-Based Interrupt Mitigation for High Performance Packet Proc. 5th Intern. Conf. on

High Performance Computing in the Asia-Pacific Region, Gold, 2001. URL: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=

10.1.1.18.9625 (дата обращения: 10.06.2014).

6. Слинкин Д.И., Крыницкий А.В. Обзор методов разгрузки процессора при работе гигабитного Ethernet // Электроника, микро- и наноэлектроника: сб. науч. тр.; [под ред. В.Я. Стенина]. М.: Изд-во МИФИ, 2013. С. 204-207.

7. Пахомов С., Самохин С. Тестирование сетевых карт Gigabit Ethernet // КомпьютерПресс. 2002. № 4. URL: http://www.compress.ru/article.aspx?id=17406&iid=426 (дата обращения: 10.06.2014).

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

8. Boggs D.R., Mogul J.C., Kent C.A. Measured Capacity of an Ethernet: Myths and Reality. WRL Research Report, 1988, vol. 88, no. 4; URL: http://www.hpl.hp.com/techreports/Compaq-DECAWRL-88-4.pdf (дата обращения: 10.06.2014).

9. Won C., Lee B., Yu C., Moh S., Park K., Kim M.-J. A detailed performance analysis of UDP/IP, TCP/IP, and M-VIA network protocols using Linux/SimOS 1. Journ. of High Speed Networks, 2004, vol. 13, рp. 169-182; URL: http://web.engr.ore-gonstate.edu/~benl/Publications/Journals/JHSN04.pdf (дата обращения: 10.06.2014).

DOI: 10.15827/0236-235X.108.063-069 Received 04.07.2014

USING DRIVER FOR ETHERNET 1 GBPS CONTROLLER’S PROTOTYPE TESTING Slinkin D.I., Head of Group, [email protected] (SRISA RAS, Nakhimovskiy Ave. 36/1, Moscow, 117218, Russian Federation)

Abstract. The article describes a family of Ethernet controllers created the SRISA RAS. Currently a prototype of a new perspective processor with embedded Gigabit Ethernet controller is being designed. Testing is an integral part of microcircuits design process and is a time-consuming task. This article introduces an approach to testing of an embedded network controller model during its design. The prototype in question is implemented as a field-programmable gate array (FPGA) based on technological card. There are several different ways of microcircuits projects verification. The article offers the network controllers testing method based on author’s practical experience.

This testing method has become the main stage of the network controller’s prototype verification. The system software -drivers are suggested as a basis for the testing software. The article also considers the following subjects: the tasks which can be solved using software based tests, such as: smoke tests, suitability, compatibility with different hardware and operation systems, program compatibility with previous version of microcircuit, stability and reliability testing. Special attention is paid to performance testing and to surveying of a network controller’s behavior beyond the limits of normal operation; factors that affect the system’s performance; an issue of CPU loading during intensive network activity and the ways of its reduction; situations which can appear during controller’s stress loading.

In conclusion the paper discusses a range of functional tests application, as well as their advantages and disadvantages in comparison with other testing methods. Drivers and ready-made tests are presented as means of reducing labor-intensity. The plan of future works is suggested.

Keywords: network controller, Ethernet, VLSI functional testing, performance testing, Baget, Linux.

References

1. Bobkov S.G. The microcircuits testing method for “Baget” computers family. Programmnye produkty i sistemy [Software & Systems]. 2007, no. 3, pp. 2-5 (in Russ.).

2. Pakhomov S. The trends of network technologies elaboration. KompyuterPress. 2003, no. 10. Available at: http://www.compress.ru/article.aspx?id=12094&iid=467 (accessed June 10, 2014) (in Russ.).

3. Aryashev S.I., Kornilenko A.V., Chekunov A.V. Debugging and testing of VLSI models using the prototypes realized on PLIC. Problems of Perspective Microelectronic Systems Development-2005. Collected papers. Stempkovsky A. (Ed.). Moscow, IPPM RAS Publ., 2005, pp. 275-280 (in Russ.).

4. Foong A.P., Huff T.R., Hum H.H., Patwardhan J.P. TCP Performance Re-Visited. Intel Corporation. 2003. Available at: http://www.nanogrids.org/jaidev/papers/ispass03.pdf (accessed June 10, 2014).

5. Kim I., Moon J., Heon Y. Yeom. Timer-Based Interrupt Mitigation for High Performance Packet Processing. Proc.

5th Int. Conf. on High Performance Computing in the Asia-Pacific Region Gold. 2001. Available at:

http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.18.9625 (accessed June 10, 2014).

6. Slinkin D.I., Krynitsky A.V. Review of processor offloading methods when 1Gbps Ethernet is working. Elektronika, mikro- i nanoelektronika. Sbornik nauchnykh trudov [Electronics, micro- and nanoelectronics. Collected papers]. Ste-nin V.Ya. (Ed.). Moscow, MEPHI Publ., 2013, pp. 204-207 (in Russ.).

7. Pahomov S., Samohin S. Testing of Gigabit Ethernet network adapters. KompyuterPress. 2002, no. 4. Available at: http://www.compress.ru/article.aspx?id=17406&iid=426 (accessed June 10, 2014) (in Russ.).

8. Boggs D.R., Mogul J.C., Kent C.A. Measured Capacity of an Ethernet: Myths and Reality. WRL Research Report. 1988, vol. 88, no. 4. Available at: http://www.hpl.hp.com/techreports/Compaq-DEC/WRL-88-4.pdf (accessed June 10, 2014).

9. Won C.H., Lee B., Yu C.S., Moh S.M., Park K., Kim M.J. A detailed performance analysis of UDP/IP, TCP/IP, and M-VIA network protocols using Linux/SimOS 1. Journ. of High Speed Networks. 2004, vol. 13, pр. 169-182. Available at: http://web.engr.oregonstate.edu/~benl/Publications/Journals/JHSN04.pdf (assessed June 10, 2014).

69

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