Gdzie procesor nie może

Akceleratory TCP/IP, tzw. TCP/IP Offload Engines (TOE), pozwalają osiągać spore oszczędności na rozbudowie sprzętu oraz opłatach licencyjnych.

Akceleratory TCP/IP, tzw. TCP/IP Offload Engines (TOE), pozwalają osiągać spore oszczędności na rozbudowie sprzętu oraz opłatach licencyjnych.

Do obsługi transmisji każdego bita informacji przy wykorzystaniu protokołu TCP/IP jest wymagany co najmniej jeden herc mocy obliczeniowej centralnego procesora. Wraz ze wzrostem szybkości sieci, do których są podłączane serwery, narzut TCP/IP zaczyna być poważnym problemem dla ich wydajności. Spadek wydajności serwerów ujawnił się już przy upowszechnieniu się technologii Gigabit Ethernet. Wraz z popularyzacją sieci dziesięciogigabitowych oraz sieci SAN, wykorzystujących protokół iSCSI, może się okazać, że nawet połowa mocy obliczeniowej serwera jest zużywana wyłącznie do obsługi komunikacji!

Problem narzutu komunikacyjnego można rozwiązać przy wykorzystaniu nowej klasy urządzeń zwanych TCP/IP Offload Engine (TOE) lub akceleratorów TCP/IP. Jedynym zadaniem akceleratorów jest odciążenie głównego procesora od przetwarzania wywołań sieciowych. Na rynku są już dostępne karty sieciowe z funkcjami TOE oferowane głównie przez mniej znane firmy, jak Alacritech, SBE (obecnie Antares), QLogic, Trebia Networks, Wind River Systems, Astute, iReady i Seaway. Nie brak jednak rozwiązań znanych marek, takich jak Adaptec czy Emulex, a nawet Intel i Lucent Technologies.

Procesor na urlopie

Koncepcja TOE zakłada, w dużym uproszczeniu, rozbudowę obsługi protokołów warstwy drugiej modelu OSI (przede wszystkim Ethernet) o warstwy wyższe: IP - warstwa 2, TCP - warstwa 4, a nawet protokoły warstwy 5, jak SSL czy iSCSI, obsługiwane dotychczas przez system operacyjny.

Protokoły IP wykorzystują warstwę transportową TCP do obsługi procesu przesyłania pakietów. Jest ona odpowiedzialna za ich agregację i przekazanie do interfejsu SCSI w odpowiedniej kolejności. Proces ten wykorzystuje bufor pamięci do przechowywania przesyłanych pakietów do chwili, gdy możliwe jest ich połączenie i przekazanie do wyższej warstwy, np. iSCSI. Protokół TCP jest funkcją warstwy 4 i dlatego każda aplikacja działająca w warstwach wyższych musi najpierw zaczekać na zakończenie przetwarzania TCP przed uruchomieniem kolejnych procesów.

Do operacji najbardziej obciążających procesor podczas transmisji TCP/IP należy kopiowanie danych, przetwarzanie poleceń protokołu oraz generowanie przerwań. Typowy zapis danych w systemie sieciowym przez aplikację wykorzystującą przepustowość 64 Kb/s wymaga co najmniej 60 przerwań związanych z podziałem danych na pakiety i obsługą potwierdzeń TCP. Karty z funkcjami TOE umożliwiają zasadnicze zredukowanie tej liczby przez ograniczenie niezbędnej liczby przerwań z poziomu jednego przerwania na pakiet do jednego przerwania na całe żądanie zapisu/odczytu danych! Dlatego też akceleratory dają największe efekty w systemach, gdzie pojedyncze żądania transmisji są związane z generacją wielu pakietów danych, np. w aplikacjach bazodanowych lub serwerach plików.

Ulga dla serwera i macierzy

Gdzie procesor nie może

Akcelatory protokołów przejmują funkcje wykonywane dotychczas przez systemy operacyjne

Karty sieciowe z funkcjami TOE umożliwiają uzyskanie wydajności, która w przypadku kart klasycznych wymagałaby zasadniczego zwiększenia liczby procesorów w serwerze. Zastosowanie akceleratorów w serwerach może być źródłem sporych oszczędności. Odciążenie serwera od przetwarzania wywołań TCP/IP powoduje, że jest on w stanie obsłużyć więcej transakcji bez rozbudowy o kolejne procesory. Koszt procesora przekracza zwykle cenę karty TOE, największe oszczędności będą jednak dotyczyć opłat licencyjnych - w przypadku baz danych będą to kwoty idące nawet w dziesiątki tysięcy dolarów.

Jednym z potencjalnych zastosowań TOE są systemy pamięci masowych wykorzystujące protokoły TCP/IP do transmisji danych blokowych w sieciach Ethernet (np. iSCSI, iFCP, FCIP). Akceleratory mogą być stosowane zarówno w urządzeniach SAN/NAS udostępniających dane, jak i serwerach żądających jedynie dostępu do danych. Systemy TOE mogą przetwarzać tylko pakiety danych lub też obsługiwać wszystkie procesy, a więc również zarządzać połączeniami, odciążając całkowicie CPU.

Akceleratory nie doczekały się standaryzacji - każdy producent stosuje własne rozwiązania różniące się konstrukcją i zasadami działania. Urządzenia TOE mają najczęściej formę kart rozszerzeń wykorzystujących bądź to standardowe procesory sieciowe ze zmodyfikowanymi sterownikami, bądź też specjalizowane układy ASIC, a w niektórych przypadkach - oba te rozwiązania.

Zalety pierwszego podejścia to większa uniwersalność i możliwość aktualizacji oprogramowania sterującego. Architektura oparta na oprogramowaniu umożliwia odciążenie głównego CPU nie tylko od obsługi stosu TCP, ale też innych protokołów, o ile są one obsługiwane przez działający na kartach TOE system czasu rzeczywistego RTOS (Real Time OS). W szczególności chodzi tu o protokół iSCSI wykorzystywany w systemach pamięci masowych. Wydajność takiego rozwiązania jest ograniczona - jest raczej wątpliwe, by urządzenia o takiej konstrukcji poradziły sobie w sieci Ethernet 10 Gb/s. Z kolei systemy z układami ASIC oferują lepszą wydajność - jednak za cenę elastyczności.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200