QSAN Q500: il SAN professionale enterprise

Continuando l’analisi del controller logico, passiamo ora ai componenti che amministrano la comunicazione di rete del dispositivo. Come anticipato più volte nel corso di questo articolo, il Q500 dispone di connettività Ethernet 1Gbps, 10Gbps iSCSI, di livello professionale.

In primo luogo, per ogni scheda logica, identifichiamo un controller dedicato per doppia interfaccia 10Gbe, basato su chip Intel 82599ES. Si tratta di un chip prodotto con processo produttivo a 65nm, dotato di doppia porta 10Gbe, connesso al bus di sistema attraverso standard PCI-Express 2.0. Tra le caratteristiche principali di questo chip, notiamo il supporto per la tecnologia NC Sideband. Sideband consiste in un sistema di monitoring e management del server, bypassando il SO e utilizzando un processore dedicato (chiamato MC) per monitorare e manutenere il server da remoto. Inoltre il controller 82599ES supporta nativamente gli standard iSCSI, FCoE e NFS, nonché varie altre tecnologie di condivisione delle risorse in ambienti virtualizzati (di fatto non rilevanti per il NAS in questione). E’ il caso del supporto alla tecnologia VMDq, che permette di filtrare o inviare contemporaneamente uno stesso pacchetto sia al sistema HOST che ad eventuali sistemi guest virtualizzati, abbattendo i tempi di delay dovuti a driver software per emulare switch ethernet. Interessante è anche la tecnologia Intel DDIO, tramite la quale la comunicazione tra dispositivo di rete e CPU avviene direttamente attraverso la cache della cpu, evitando la memoria di sistema. Per maggiori informazioni in merito al chip di rete in questione, rimandiamo l’utente al website ufficiale Intel: http://ark.intel.com/it/products/41282/Intel-82599ES-10-Gigabit-Ethernet-Controller.

Sempre per quanto riguarda l’aspetto del networking, il Q500-P20 dispone di ben tre porte Ethernet da 1Gbps ciascuna, per scheda logica (per un totale di 6 porte ethernet). In particolare, la gestione delle interfacce di rete avviene per mezzo dei chip broadcom BCM5720, ovvero controller di rete in grado di gestire due porte 1Gbps ciascuno.

Il controller BCM5720 supporta un gran numero di standard professionali che si possono desiderare da un controller di rete. Innanzitutto troviamo il supporto nativo per boot da iSCSI e boot PXE, nonché il pieno supporto del Wake-On-Lan. Ancora più interessanti per il contesto in cui verranno utilizzate sono le tecnologie VLAN e Link-Aggregation, nativamente supportate dal controller: grazie a loro sarà possibile combinare più NIC in reti virtuali, nonché garantire ridondanza, multipath e load-balancing tra le varie interfacce di rete.

Altre interessanti caratteristiche tecniche riguardano l’implementazione del TSO e dello standard MSI-X su bus PCI-Express. Il TCP Segmentation Offload (TSO) permette di scaricare la gestione degli header TCP-IP-ETHERNET direttamente a livello hardware (tramite ASIC su chip, appunto), segmentando i dati presenti nel pacchetto originale che il SO invia sulla rete. In tal modo la CPU viene scaricata da tali mansioni, che svolgerebbe con tempistiche maggiori rispetto a quelle richieste dalla ASIC.

Lo standard MSI-X costituisce invece un sistema di interruzioni basate su messaggi in memoria piuttosto che su trasmissione tramite segnali hardware. Ciò permette al sistema di evitare cicli di clock per ottenere i dati relativi all’interruzione hardware, accedendo alle informazioni direttamente in memoria. Non solo: il sistema MSI-X consente inoltre anche l’invio di più interruzioni simultaneamente, risparmiando ancora più clock della CPU per la gestione degli stessi. Infine, grazie al pieno supporto dei protocolli TSS e RSS, tramite i quali è possibile direzionare in modo opportuno i pacchetti Ethernet direttamente da/a specifici core della cpu, viene aumentata la capacità di parallelizzare la gestione dei pacchetti in ambienti multi-core.