Systém prioritních front pro vysokorychlostní síťová zařízení Jan Pazdera 2005
Motivace Objem síťového provozu neustále narůstá Zařízení nesmí být úzkým hrdlem Nutnost zpracování na úrovni hardwaru Potřeba front na zpracování požadavků Potřeba prioritního odesílání paketů Pakety pro konfiguraci zařízení Garantovaná propustnost (real-time video …) Zajistit přístup k zařízení i v případě útoků …
Komponenta Prioritní fronty Vyvíjena v rámci projektu Liberouter Snaha o co nejlepší škálovatelnost (velikost a počet front, priority, uložení v paměti …) Implementováno v FPGA ve VHDL
Současný stav řešené problematiky Programovými prostředky: Hromady (haldy) Hardwarovými prostředky: Binární strom komparátorů FIFO priority Využitím posuvného registru Využitím systolického pole
Binární strom komparátorů
FIFO Priority
Využitím posuvného registru
Využitím systolického pole
Použitý prioritní algoritmus FIFO priority REP do nich ukládá záznamy OPE čte z 1. neprázdné fronty s nej. prioritou Problém: stárnutí požadavků Řešení: čítač přístupů
Replikace multicastových paketů OPE – zpětný zápis
Architektura komponenty
Zhodnocení Komponenta byla navržena a implementována v FPGA pomocí jazyka VHDL Testována na kartě COMBO6 Při frekvenci 100MHz propustnost 1Gbps pro každé rozhraní
Literatura Pazdera, J.: Priority Queues System for Multi-gigabit Network Devices, VUT v Brně, FEKT a FIT, Proceedings of the 11th Conference and Competition STUDENT EMI, červen 2005 Atkinson, M., D., Linton, S., A., Walker, L., A.: Priority Queues and Multisets, Dept. of Mathematical and Computational Sciences, University of St. Andrews, Scotland, říjen 1995 Fisher, M., J., Paterson, M., S.: Fishpear: A Priority Queue Algorithm, 25th IEEE Symposium on Foundations of Computer Science, 1994 Moon, S-W., Rexford, J., Shin, K., G.: Scalable Hardware Priority Queue Architectures for High- Speed Packet Switches, IEEE Transactions on Computers, vol. 49, no. 11, listopad 2000 Brown, R.: A Fast O(1) Priority Queue Implementation for the Simulation Event Set Problem Chao, J.: A Novel Architecture for Queue Management in the ATM Network, IEEE Journal on Selected Areas in Communications, září 1991 Mastretti, M., Busi, M., L., Sarvello R., Sturlesi. M., Tomasello S.: VHDL quality:synthesizability, complexity and efficiency evaluation, 7th IEEE International Workshop on Rapid System Prototyping, 1996 Xilinx. DS031 Virtex-II 1.5V Field-Programable-Gate-Arrays, září Dokument dostupný na Xilinx. Virtex-II Platform FPGA User Guide, prosinec Dokument dostupný na Samsung. 512Kx36/x32 & 1Mx18-Bit Synchronous Burst SRAM, květen Dokument dostupný na Ashenden, P., J: The VHDL Cookbook, First Edition, červenec 1990 Novotný, J., Fučík, O., Kokotek, R.: Schematics and PCB of COMBO6, CESNET, z. s. p. o. Antoš, D., Novotný, J., Fučík, O.: Project of IPv6 Router with FPGA Hardware Accelerator, Springer Verlag, Field-Programmable Logic and Applications, 13th Internatonal Conference, FPL 2003, Lisbon, Portugal Novotný, J., Lhotka, L.: Liberouter: a PC-based IPv6 Router, TERENA