ethernet on fpga
Post on 16-Jul-2015
47.892 Views
Preview:
TRANSCRIPT
Шевчук Иван, НТЦ Метротек специально для linkmeup.ru
Обрабатываем Ethernet
без потерь
1
Шевчук Иван, НТЦ Метротек специально для linkmeup.ru
План
● Интегральные схемы
● ASIC и FPGA
● Подключение Ethernet к ИС
● Фильтрация и обработка 100G без потерь
2
Шевчук Иван, НТЦ Метротек специально для linkmeup.ru
Интегральные схемы
● Транзисторыo Сумматоры, компараторы, мультиплексоры
o Триггеры, счетчики, блоки памяти
● Схема - это “программа”
● Hardware Description Language (HDL):o VHDL
o Verilog/SystemVerilog
3
Шевчук Иван, НТЦ Метротек специально для linkmeup.ru
Возможности ИС
● Параллельность
● Независимость
● Предсказуемость
● Свободаo В архитектуре
o В периферии
OpenSPARC
4
Шевчук Иван, НТЦ Метротек специально для linkmeup.ru
Виды ИС
● ASIC (application-specific integrated circuit)
● FPGA (field-programmable gate array)o ЦОС
Обработка видео
Радары, радиолокация
o Сети связи
Wireline (Ethernet, OTN)
Wireless (3G, 4G, LTE)
o Высокопроизводительные вычисления
o Автомобильная промышленность
5
Шевчук Иван, НТЦ Метротек специально для linkmeup.ru
Архитектура FPGA (на примере Altera Stratix V)
6
Шевчук Иван, НТЦ Метротек специально для linkmeup.ru
ASIC vs FPGA
7
ASIC FPGA
Себестоимость чипа Маленькая Большая
Производительность Большая Средняя
Реконфигурация Очень сложно Просто
Капиталовложения Большие Небольшие
Сложность
разработки
Высокая Средняя
Time-to-market Большое Среднее
Шевчук Иван, НТЦ Метротек специально для linkmeup.ru
Cisco Catalyst 6880-X Baseboard
8
Шевчук Иван, НТЦ Метротек специально для linkmeup.ru
Подключение Ethernet:
общие принципы
9
Шевчук Иван, НТЦ Метротек специально для linkmeup.ru
1G Ethernet
10
Шевчук Иван, НТЦ Метротек специально для linkmeup.ru
10G Ethernet
11
Шевчук Иван, НТЦ Метротек специально для linkmeup.ru
100G Ethernet
12
Шевчук Иван, НТЦ Метротек специально для linkmeup.ru
Streaming Interface
13
Шевчук Иван, НТЦ Метротек специально для linkmeup.ru
Metrotek B100
14
● 100G
● 40G
● 10 x 10G
● FPGA (Altera Stratix V)
● COM Express (Intel Core i7)
Шевчук Иван, НТЦ Метротек специально для linkmeup.ru 15
Шевчук Иван, НТЦ Метротек специально для linkmeup.ru 16
Шевчук Иван, НТЦ Метротек специально для linkmeup.ru 17
Шевчук Иван, НТЦ Метротек специально для linkmeup.ru
Фильтрация и балансировка
● 1000 правил MAC/VLAN/MPLS/IP/Ports
● Входной интерфейс - 100G
● Балансировка на 10x10G
● Без потерь на 100% нагрузке
18
Шевчук Иван, НТЦ Метротек специально для linkmeup.ru
Сложности
● 100G line rate:o 64 байт - 148.8 Mpps
o 1518 байт - 8.1 Mpps
● Пакет приходит в худшем случае в
среднем каждые 6.72 ns: при частоте 315
МГц это чуть более двух тактов
19
Шевчук Иван, НТЦ Метротек специально для linkmeup.ru 20
Шевчук Иван, НТЦ Метротек специально для linkmeup.ru
Решение
● Отказ от внешней памяти: используем
только то, что находится внутри FPGA
● Системы парсинга, фильтрации,
коммутации сделаны конвейером
21
Шевчук Иван, НТЦ Метротек специально для linkmeup.ru
Полезная литература
● http://www.altera.com
● http://www.cisco.com/c/en/us/products/collateral/switches/catalyst-
6880-x-switch/white_paper_c11-728540.pdf
● IEEE 802.3
● http://habrahabr.ru/post/234369/
● http://www.intel.ru/content/www/ru/ru/switch-silicon/ethernet-switch-
fm5000-fm6000-datasheet.html
22
top related