Введение

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

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

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

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

Цель представленного материала — предоставить инструментарий (toolchain), который ускоряет процесс разработки сетевых приложений в FPGA. Инструментарий  будет предоставлять из себя набор аппаратных модулей, на основе которых можно построить различные сетевые устройства. Ключевые сценарии использования — это устройства коммутации и маршрутизации, сетевые накопители, брандмауэры, устройства глубокой инспекции пакетов и устройства обратной связи.

Для оценки необходимой ёмкости и для валидации устройства используется тестовое окружение на основе SystemC. Результаты моделирования SystemC могут быть использованы для конструирования моделей финальных аппаратных решений и разработки соответствующего ПО. Аппаратные компоненты также будут доступны на языках описания аппаратуры общего назначения (VHDL/Verilog), что позволит их синтезировать в аппаратуре. Инструментарий также предоставляет модели аппаратуры высокого уровня. Модули, которые требуются для сетевых приложений в общем случае, выбраны на основе анализа наиболее важных сценариев применения.

Архитектура обработки пакетов

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

Сетевые приложения могут состоять из стандартных и кастомизируемых модулей. Примеры стандартных модулей — это ввод-вывод на MAC-уровне, матрица коммутации или планировщик пакетов. Функциональность сетевых устройств может быть настроено в дальнейшем с помощью добавления кастомизированных модулей, которые выполняют операции, специфичные для приложения, на различных этапах обработки пакетов. Для лёгкой интеграции используются хорошо описанные интерфейсы.

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

Общие сведения

В литературе  можно найти подобные работы с описанием процессов обработки пакетов с помощью систем на базе ПЛИС. Прежде всего, необходимо упомянуть материал [1], описывающий разработку «поисковой машины» (lookup machine) для аппаратного маршрутизатора пакетов IPv4 и IPv6, реализованной с помощью ПЛИС, т.к. использование ПЛИС заманчивый вариант реализации устройств для встроенных применений. В пердлагаемой платформе часть функциональности по коммутации пакетов перенесена в аппаратный ускоритель, шаг за шагом. Это позволяет сохранять полную функциональность все время, только увеличивает общую производительность системы в процессе разработки. В материале [6] также рассматривается основанный на ПЛИС способ поиска на основе префиксных деревьев. Другое интересное применение ПЛИС — это приложения Gigabit Ethernet [2] по причине того, что реализация на основе ПЛИС дает возможность изменения  функциональности платформы в зависимости от задач и скорости обработки пакетов. В частности,  авторы 2 предлагают универсальную платформу для Gigabit Ethernet, основанную на ПЛИС. Представляя контролируемую деградацию сетевого трафика, авторы представляют углубленное исследование  поведение реального приложения  в широком диапазоне  специфических сетевых состояний, таких как передача файлов, IP телефония и передача потокового видео. Однако, в предыдущих работах энергоэффективность не рассматривается. Т.к. энергоэффективность становится одним из ключевых параметров производительности, то становятся необходимы техники, которые могут быстро и качественно добиться энергоэффективности для таких процессоров.  В [3]  рассматривается эта проблема и предлагается метод для оперативного сокращения потребления энергии процессорами на основе ПЛИС. Авторы предлагают методологию, основанную на профилировании энергопотрбления на уровне атомарных инструкций, полученном в результате измерения потребляемой мощности при выполнении этих инструкций. Указанный материал показывает оценку потребления энергии различных вычислительных платформ на ПЛИС, но не рассматривает методы по управлению и оптимизации энергопотребления.  В [10] приведен низкопотребляющий метод поиска, но он оптимизирован только для поиска. Необходимо также упомянуть платформу NetFPGA, которая широко используется в академических исследованиях для тестирования идей и реализации их в гибкой аппаратуре. Учитывая приведенные выше материалы, в настоящем материале предлагается модуль для управления энергопотреблением платформы на ПЛИС и проверяется предложенное решение с помощью анализа результатов симуляции с помощью SystemC.

Ссылки

  1. D. Antos, V. Rehak, J. Korenek: Hardware Router’s Lookup Machine and its Formal Verification, ICN’2004 Conference Proceedings, 2004.
  2. M. Ciobotaru, M. Ivanovici, R. Beuran, S. Stancu, Versatile FPGA-based Hardware Platform for Gigabit Ethernet Applications, 6th Annual Postgraduate Symposium, Liverpool, UK, June 27-28, 2005.
  3. J. Ou, V. K. Prasanna, Rapid Energy Estimation of Computations on FPGA-based SoftProcessors, IEEE System-on-Chip Conference, 2004.
  4. Werner M., Richling J., Milanovic N., Stantchev V.: Composability Concept for Dependable Embedded Systems, Proceedings of the International Workshop on Dependable Embedded Systems at the 22nd Symposium on Reliable Distributed Systems (SRDS 2003), Florence, Italy, 2003.
  5. OSCI SystemC 2.2.0 Documentation: User’s Guide, Functional Specifications, LanguageReference Manual. Online: http://www.systemc.org/
    D. Teuchert, S. Hauger: A Pipelined IP Address Lookup Module for 100 Gbps Line Ratesand beyond, The Internet of Future, pp. 148—157., ISBN 978-3-642-03699-6 (2009)
  6. Intel White Paper: Enhanced Intel SpeedStep Technology for the Intel Pentium M Processor, Online: ftp://download.intel.com/design/network/papers/30117401.pdf, March 2004.
  7. Liberouter project homepage, http://www.liberouter.org/
  8. Nick Possley, Traffic Management in Xilinx FPGAs, White Paper, April 10, 2006
  9. A. Kennedy et. al., Low Power Architecture for High Speed Packet Classification,ANCS’08, November 6–7, 2008, San Jose, CA, USA.
  10. A. Iranli and M. Pedram: System-level power management: An overview, In: The VLSIHandbook Second Edition, Edited by W-K. Chen, Taylor and Francis, December 2006

Источники

  • https://hal.inria.fr/hal-01056561/file/030_scalopes_eunice2010_final.pdf

 

Материал предназначен для использования в образовательных целях