NetFPGA

Проект NetFPGA [1] является платформой аппаратного и программнного обеспечения с открытым исходным кодом для быстрого создания прототипов компьютерных сетевых устройств. Проект нацелен на производителей, исследователей и студентов. Подобные платформы создавались и ранее.[2][3][4][5] NetFPGA использует основанный на FPGA подход к прототипированию сетевых устройств. Это позволяет пользователям разрабатывать проекты, способные обрабатывать пакеты быстрее, чем это возможно при использовании чисто программных продуктов. NetFPGA сосредоточен на поддержке сообщества разработчиков и многократного использования проектов[3].

NetFPGA
Конфигурация
Аппаратная платформа Xilinx Ultrascale+ VCU250/Virtex-7 690T (текущие версии) Kintex-7 325T/Virtex-5 TX240T/Virtex-II Pro 50 (снятые с производства версии)
Год выпуска 2007 (первая версия)

История править

Исследовательский проект NetFPGA-1G начался в 2007 году в Стэнфордском университете. Первоначально 1G был разработан как инструмент для обучения студентов архитектуре и дизайну сетевого оборудования.[6] Платформа 1G состояла из платы PCI с FPGA Xilinx Virtex-II pro и 4-х интерфейсов 1GigE, а также загружаемого репозитория кода, содержащего библиотеку для работы через TCP/IP соединение и несколько примеров проектов. Проект расширился, и к концу 2010 года более 1800 плат 1G было продано более чем 150 учебным заведениям в 15 странах.[7] Во время этого роста 1G приобрел популярность не только как инструмент для обучения, но и как инструмент для исследований. К 2011 году было опубликовано более 46 научных работ, посвященных исследованиям с использованием платформы NetFPGA-1G.[8] Кроме того, к концу 2010 года в хранилище кода 1G было добавлено более 40 проектов[6].

В 2009 году началась работа над NetFPGA-10G с интерфейсами 4 x 10 GigE. Плата 10G также была разработана с FPGA с большим объемом памяти и рядом других обновлений. Первый выпуск платформы под кодовым названием «Howth» был запланирован на 24 декабря 2010 года и включал в себя репозиторий, аналогичный репозиторию 1G, содержащий небольшую библиотеку для работы через TCP/IP соединение и два эталонных проекта.

С точки зрения дизайна платформы, 10G несколько отличается от платформы 1G. Например, стандарты интерфейса для аппаратной поддержки IP были полностью переработаны, опираясь на отраслевые стандарты, а не на собственные протоколы. Кроме того, в настоящее время платформа в большей степени опирается на стандартные отраслевые инструменты для работы с композицией проекта, автоматического сопоставления регистров и управления библиотекой для работы через TCP/IP соединение, а не на собственные сценарии[2].

По состоянию на 24 сентябряч 2021 года, проект выпустил ещё 3 модели платы - NetFPGA CML, NetFPGA SUME и NetFPGA PLUS на базе Virtex Ultrascale+ (поддерживаются версии U200, U250 и U280), Virtex-7 690T и Kintex-7 325T FPGA соответственно[9].

NetFPGA-1G править

Особенности платы править

Смотрите сайт компании Digilent Архивная копия от 22 июля 2020 на Wayback Machine для более подробной технической информации.

Лицензия править

Код NetFPGA-1G распространяется с использованием лицензии BSD[9].

NetFPGA-10G править

Особенности платы [10] править

  • Xilinx Virtex-5 TX240T FPGA
  • Интерфейсы 4 x 10 Gigabit Ethernet (интерфейсы SFP+)
  • 27 МБ QDRII SRAM
  • 288 МБ RLDRAM-II
  • Два высокоскоростных разъема QTH Samtec
  • Две платформы XL Flash (128 МБ)
  • Xilinx XC2C256 CPLD
  • PCI Express x8 Gen2
  • Разъем JTAG для Xilinx ChipScope

См. Http://www.hitechglobal.com/Boards/PCIExpress_SFP+.htm для получения более подробной технической информации.

Лицензия править

NetFPGA-10G содержит код, на который распространяются различные лицензии, хотя по умолчанию используется лицензия GNU LGPL версии 3[7].

Примечания править

  1. The NetFPGA project. Дата обращения: 22 июля 2020. Архивировано 22 июля 2020 года.
  2. 1 2 Sangjin Han, Keon Jang, KyoungSoo Park, and Sue Moon. 2010. PacketShader: a GPU-accelerated software router. In Proceedings of the ACM SIGCOMM 2010 conference on SIGCOMM (SIGCOMM '10). ACM, New York, NY, USA, 195-206.
  3. 1 2 Mark Handley, Orion Hodson, and Eddie Kohler. 2003. XORP: an open platform for network research. SIGCOMM Comput. Commun. Rev. 33, 1 (January 2003), 53-57.
  4. Quagga, http://www.quagga.net/ Архивная копия от 21 апреля 2008 на Wayback Machine
  5. Eddie Kohler, Robert Morris, Benjie Chen, John Jannotti, and M. Frans Kaashoek. 2000. The click modular router. ACM Trans. Comput. Syst. 18, 3 (August 2000), 263-297.
  6. 1 2 Michaela Blott, Jonathan Ellithorpe, Nick McKeown, Kees Vissers, Hongyi Zeng. 2010. FPGA Research Design Platform Fuels Network Advances. Xcell Journal. p24-29
  7. 1 2 NetFPGA. Дата обращения: 22 июля 2020. Архивировано 22 июля 2020 года.
  8. Archived copy. Дата обращения: 16 декабря 2010. Архивировано из оригинала 18 декабря 2010 года.
  9. 1 2 NetFPGA. netfpga.org. Дата обращения: 13 октября 2022. Архивировано 15 октября 2022 года.
  10. Архивированная копия. Дата обращения: 22 июля 2020. Архивировано 12 июля 2020 года.