14 SCAMPI
14.1 Úvod
SCAMPI (Scaleable Monitoring Platform for the Internet) je projektem 5. rámcového programu Evropské Unie (IST-2001-32404). CESNET je jedním z řešitelů (Principal Contractor) a na projektu se podílí od chvíle jeho přípravy začátkem roku 2001. Projekt byl zahájen 1. 4. 2002 a celková doba jeho trvání je 30 měsíců. Rok 2003 představoval nejdůležitější období v řešení projektu.
Hlavním cílem projektu je navrhnout a realizovat architekturu pro monitorování provozu ve vysokorychlostních sítích do 10 Gb/s. Nejvyšší vrstvu této architektury tvoří aplikace (např. monitorování QoS, audit SLS, detekce DoS, účtovací aplikace). Střední vrstvou je univerzální MAPI (Monitoring API), které tvoří rozhraní k různým platformám hardware. Mezi podporované typy hardware patří běžné síťové karty (tzv. commodity NIC), výstup ze směrovačů a zejména specializovaný adaptér vyvíjený v rámci projektu.
14.2 Průběh řešení v roce 2003
V roce 2003 proběhla celkem čtyři setkání projektu a dvě review projektu. Review spočívá v prezentaci dosažených výsledků, kontrole čerpání finančních prostředků a plnění plánovaných cílů. Je přítomen úředník Evropské komise zodpovědný za daný projekt a jím jmenovaná skupina oponentů. Review je tedy v podstatě obhajoba průběžného stavu řešení.
První review v dubnu 2003 konstatovalo, že řešitelé úspěšně plní většinu svých úkolů s výjimkou vývoje specializovaného monitorovacího adaptéru. Tento vývoj byl původně úkolem jednoho z řešitelů, řecké komerční firmy 4PLUS. Bohužel již koncem roku 2002 firma 4PLUS oznámila, že nebude pracovat na vývoji adaptéru, ale odmítala uvolnit zdroje vyhrazené na tento úkol. V rámci review jsme prezentovali alternativní řešení na bázi adaptéru COMBO6. Tento adaptér vzniká v rámci projektu Liberouter ve spolupráci několika členů sdružení CESNET; klíčovou roli má Masarykova Universita v Brně.
Výsledkem review byl požadavek na urychlené vypracování čtyř dodatečných dokumentů, které by zdůvodnily navrhovanou zásadní změnu adaptéru. V dokumentech se nám podařilo přesvědčit oponenty, že je možné použít adaptér na bázi karty COMBO6 v projektu SCAMPI. Konečným výsledkem bylo vyloučení firmy 4PLUS z projektu a rozhodnutí o přijetí Masarykovy University jako nového člena. Dále došlo ke zvýšení plánovaného podílu sdružení CESNET v projektu o tři člověkoměsíce.
V listopadu 2003 proběhlo druhé review. Oponenti souhlasili se všemi předloženými dokumenty a vyjádřili spokojenost s průběhem řešení projektu.
14.2.1 Přehled událostí v roce 2003
V roce 2003 bylo zpracováno pět řádných dokumentů (deliverables):
- D1.2 - SCAMPI Architecture and Component Design
- D1.3 - Final Architecture Design
- D2.1 - Preliminary Implementation Report
- D2.2 - SCAMPI Prototype Implementation Report
- D3.2 - Experimental Plans and Infrastructure Setup
a čtyři mimořádné dokumenty:
- E1.1 - Comparison between the 4Plus and Combo6 Adapter
- E1.2 - Reallocations of Tasks and Funds
- E1.3 - Combo6 Adapter
- E1.4 - Description of the Applications and Demonstrators
Kromě toho proběhly dvě akce zaměřené na představení projektu SCAMPI a postupu jeho řešení. První akcí byl 1st SCAMPI Workshop (D4.1 - 1st SACMPI Workshop) v lednu 2003 v Amsterdamu. V rámci konference TNC-2003 v květnu 2003 v Záhřebu byl prezentován souhrn příspěvků pod názvem SCAMPI Monitoring and Measurement BoF (D4.2 - Report on Measurement and Monitoring BoF).
Spolupracovali jsme na většině uvedených dokumentů a jsme hlavní autoři dokumentů D3.2 a E1.3.
14.3 Monitorovací adaptér COMBO6
Karta COMBO6 je založena na FPGA, proto se jedná a flexibilní zařízení, které může být upraveno pro různé aplikace. Pro účely monitorování v rámci projektu SCAMPI je nezbytná dceřiná karta s ethernetovými linkovými moduly 1 Gb/s a 10 Gb/s a dále časová jednotka s přesnými hodinami pro přidělování časových značek (tzv. timestamps).
Monitorovací adaptér je z hlediska své struktury tvořen třemi vrstvami: hardware, firmware (t.j. VHDL program popisující strukturu realizovanou v FPGA) a ovladač pro operační systém Linux.
- Hardware
- Základem adaptéru je karta COMBO6 obsahující FPGA Virtex II, paměti SRAM a CAM pro filtrování hlaviček paketů, paměť DDRAM pro uložení vybraných paketů, rozhraní PCI a konektor pro dceřinou kartu s linkovými moduly. Jednotka hodin obsahuje kvalitní oscilátor TCXO a obvod pro synchronizaci signálem PPS z externího zdroje času, např. přijímače GPS. Hodiny poskytují časové značky s rozlišením v řádu 10 ns, což umožní přidělit jednoznačnou časovou značku pro každý přijatý paket při rychlosti do 10 Gb/s. Absolutní přesnost hodin závisí na metodě synchronizace, je lepší než 5 us v případě signálu PPS a lepší než 1 ms při synchronizaci pomocí protokolu NTP.
- VHDL program
- VHDL program je základem adaptéru. Realizuje jednotlivé funkční bloky ve struktuře FPGA. Některé bloky jsou navrženy jako tzv. nanoprocesory. Jejich charakteristickou vlastností je schopnost vykonávat omezenou množinu jednoduchých instrukcí, které jsou uloženy v paměti SRAM. Tím je možné měnit chování bloku bez změny VHDL programu.
- Ovladač
- Jako operační systém pro SCAMPI byl vybrán Linux. Ovladač musí zajistit komunikaci mezi adaptérem a vyššími vrstvami architektury SCAMPI: nahrání VHDL programu do adaptéru, konfiguraci adaptéru a zejména optimalizovaný přenos dat z adaptéru přes sběrnici PCI. Pro urychlení přenosu je paměť RAM z adaptéru mapována do uživatelského adresního prostoru.
Vývoj monitorovacího adaptéru byl rozdělen do dvou etap:
- I. etapa
- Je využita současná verze karty COMBO6 a dceřiné karty s moduly 1 Gb/s. Firmware obsahuje filtrování podle záhlaví paketů IPv4 jako základní funkci pro monitorování. Obvod hodin je řešen jako samostatná PCI karta.
- II. etapa
- Bude vyvinuta nová verze karty COMBO6 s vyšší průchodností a 64bitovou sběrnicí PCI. Dále bude navržena a vyvinuta dceřiná karta pro 10 Gb/s. Firmware bude obsahovat moduly pro podporu aplikací.
Obrázek 14.1: Struktura v I. etapě
Obrázek 14.2: Struktura v II. etapě
Obrázky znázorňují strukturu funkčních bloků monitorovacího adaptéru:
- HFE (Header Field Extractor)
- Obvod pro předzpracování hlaviček paketů a jejich převod do unifikovaného tvaru.
- LUP (Look Up Processor)
- Obvod je řešen jako nanoprocesor a je určen pro filtrování podle hlaviček paketů. Je využita paměť CAM o šířce slova 272 bitů a jednotka pro aritmetické porovnání.
- TSU (Timestamp Unit)
- Jednotka přiděluje časové značky s rozlišením v řádu desítek nanosekund. Hodiny mohou, ale nemusí být synchronizovány signálem PPS (Pulse per Second), např. z přijímače GPS.
- DRAM (Dynamic RAM)
- Dynamická paměť slouží pro ukládání vybraných paketů. Je mapována do uživatelského prostoru operačního sytému a tak může být přímo přístupná z aplikace.
- SAU (Sampler Unit)
- Obvod pro deterministické (tj. projde každý n-tý paket) i náhodné vzorkování (paket projde s pravděpodobností 1/n).
- STU (Statistical Unit)
- Statistická jednotka je tvořena 256 skupinami čítačů, které jsou schopny provádět vyhodnocení datového provozu až pro 256 disjunktních tříd datového toku. Každá skupina obsahuje čítač paketů, vypočítává součet hodnot, součet kvadrátů hodnot, nejmenší a největší hodnotu. Hodnotou je míněna délka paketu nebo časový odstup dvou následujících paketů.
- PCK (Payload Checker)
- Jednotka provádí filtrování paketů podle obsahu jejich datové části. Je schopna hledat maximálně 500 řetězců o délce do 16 znaků.
14.4 Plán na rok 2004
Rok 2004 bude posledním rokem řešení projektu SCAMPI. Naším úkolem bude především spolupráce na nové verzi karty COMBO6 (návrh struktury funkčních bloků, ovladač pro Linux, knihovna s implementací MAPI). Dalším důležitým úkolem bude organizace a provedení testů všech vrstev architektury SCAMPI v rámci pracovní skupiny WP3 - Experimental Evaluation. CESNET je vedoucím této pracovní skupiny a je zodpovědný za vypracování dokumentu D3.4 - Description of Experiment Results.
|
|
obsah |
následující
|