Модуль обработки MAC или IP

Модуль обработки MAC так же как и модуль обработки IP разработаны с учётом необходимости использования процессора. Модуль принимает МАС адрес адресата для поиска и МАС адрес источника для запоминания (рисунок 4).

Рисунок 4

Модуль обработки IP принимает IP адрес адресанта только для поиска. После поиска модуль возвращает исходящий порт или порты в случае широковещательных операций. Простейшие модели должны использовать статическую локальную таблицу пересылки; более сложные модели могут использовать централизованные таблицы поиска, основанные на ассоциативной памяти (CAM — Content-Addressable Memory) и для больших таблиц маршрутизации может использоваться способ на базе процессора. Модуль арбитра  отвечает за доступ к общей шине выходных буферов FIFO. Модуль коммутации пересылает заголовки и дополнительные данные в выходные хранилища. Арбитр обеспечивает доступ к общей шине на основе  алгоритма «Round-robin».

Фактически эти модули основаны на процессоре, что позволяет подстраивать время поиска. Это делается за счёт контроля частоты. Уменьшение частоты означает уменьшение потребления энергии. В реализованном четырехпортовом Ethernet коммутаторе у процессора имеется 4 различного уровня частоты, т.е. четыре уровня производительности и четыре уровня потребляемой мощности.

Управление ресурсами

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

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

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

Оптимальное решение для управления энергопореблением должно удовлетворять следующим требованиям:

— запитывать компоненты только на время их использования;

— обеспечивать максимальную эффективность за счет выбора необходимо уровня мощности питания в зависимости от количества обрабатываемого трафика.

— скорость обработки пакетов в любой момент времени должна равняться скорости передачи среды.

С другой стороны, изменение скорости работы процессора или остановка/запуск ядер не очень практично и может быть не реализуемо из-за времени получения пакетов ( порядка 700 нс для гигабитного линка против 10 мкс, которые требуются для изменения процессора StrongARM CPU [11]). Таким образом, необходимо предсказывать уровень нагрузки на длинный период и принимать решения в части управления энергопотреблением на большей временной шкале.

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

 

Рисунок 5

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

 

Ссылки

  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

 

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