Questo è il comando ibdm-ibnl-file che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS
PROGRAMMA:
NOME
ibn - un formato netlist IB generico
DESCRIZIONE
File di topologia IBDM ibdm-topo-file fornire mezzi per descrivere il tessuto IB utilizzando un insieme di
sistemi predefiniti. Viene fornita una definizione di sistema in un unico file in formato IBNL che
descrive la connettività InfiniBand interna del sistema in termini di schede e
dispositivi. Quando IBDM si avvia, analizza tutti i file di definizione del sistema disponibili prima di esso
gestisce il file della topologia. I file si trovano nella seguente directory relativa a
il prefisso di installazione: /lib/ibdm1.0/ibnl.
Questa pagina man descrive il formato di file IBNL utilizzato per definire un sistema IB arbitrario
connettività IB interna. Descrive i concetti principali utilizzati dal file, fornisce dettagli
per come scrivere un tale file e fornisce una definizione formale della sintassi del file in BNF
come il formato (YACC/Bison leggibile).
1. Principale concetti
Il formato di file descritto per definire la connettività IB del sistema generico utilizza quanto segue
terminologia:
NODE
L'istanza di un dispositivo IB può essere uno switch o un adattatore di canale
SOTTO-SISTEMA
Istanziazione di una scheda o modulo in un sistema
SISTEMA
Una definizione di una scheda o di un modulo
SISTEMA TOP
Il sistema più in alto definito nel file dato
MODIFICATORE SOTTOSISTEMA
Molti sistemi consentono più varianti del loro sottosistema come una versione 12X di a
scheda foglia in un MTS9600. Il modificatore è un suffisso al nome della scheda. Il formato IBNL
supporta l'assegnazione di più nomi alla stessa scheda.
2. Compila il Formato
Il formato esatto del file è fornito nella sezione 4. Questa sezione fornisce solo extra
informazioni riguardanti la semantica specifica delle varie sezioni.
Il file IBNL è sensibile alla riga in quanto richiede diverse sezioni per iniziare su una nuova riga.
Il file è suddiviso in diverse sezioni SYSTEM (opzionale) e una TOPSYSTEM. Ognuno ne ha uno
o più nomi.
Le connessioni sono definite solo all'interno della sezione SYSTEM/TOPSYSTEM e quindi potrebbero essere di due
tipi:
1. Tra qualsiasi nodo o sottosistema ad altri nodi o sottosistemi
2. Da qualsiasi nodo o sottosistema a un connettore del sistema.
NOTA-1: Il sistema superiore può definire porte che potrebbero essere ridondanti e non collegate ad alcuna
connettore della scheda di livello inferiore. In questi casi le porte vengono semplicemente omesse dal
sistema risultante. Questa funzione consente di definire le porte del pannello frontale di un 12X/4X come
che se viene selezionata una foglia 12X vengono utilizzate solo le porte del pannello frontale 12X.
NOTA-2: La larghezza della porta e la velocità fornite al livello più basso hanno la precedenza su
definizioni fornite ai livelli superiori della gerarchia.
3. Linee Guida per scrittura a Sistema IBNL Compila il
La seguente procedura dovrebbe essere seguita per fornire un nuovo sistema IBNL:
a) Denominare il file dopo il nome del sistema: .ibnl
b) Definire una sezione SYSTEM per ogni scheda inclusa nel sistema
c) I nomi delle porte delle schede sono solo stringhe, usiamo il formato semplice di Pn dove N
è solo un numero di serie ma puoi scegliere qualsiasi nome tu voglia. Assicurati solo che lo sia
unico.
d) Quando esistono diversi gusti delle schede come quando hai un'opzione 4x e 12x per
un nome della scheda le schede opzionali con un suffisso modificatore. Un esempio per tale sistema
che supporti una scheda LEAF di tipo 12x e 4x sarebbe definire due SISTEMI:
SISTEMA FOGLIA, FOGLIA:4x, FOGLIA:4X
...
SISTEMA ANTA: 12x, ANTA: 12X
...
NOTA-3: le istanze delle schede LEAF in un'altra scheda o nel sistema superiore
non è necessario specificare il suffisso e vengono decisi solo quando la topologia
il file è in fase di analisi. Il "SYSTEM LEAF" senza suffisso verrà utilizzato per impostazione predefinita.
Per continuare l'esempio, ecco come vengono istanziate le LEAF nel sistema superiore:
TOPSYSTEM MyIbSystem
FOGLIA foglia1
...
FOGLIA foglia2
...
La versione effettiva 4x o 12x della scheda LEAF può quindi essere specificata nel
file di topologia sezione CFG per selezionare la giusta combinazione di schede opzionali in
il sistema. Un esempio sarà:
MyIbSystem N001 CFG: anta2=12x
In questo caso leaf1 sarà 4x poiché non è definito alcun modificatore speciale per esso (e
LEAF è di default una foglia 4x). Leaf2 sarà 12x come definito nel CFG
.
e) Considerazioni speciali dovrebbero essere fatte per progettare la sezione superiore del sistema quando
esistono diversi tipi di schede opzionali. La sezione di sistema superiore potrebbe includere più
definizioni per le spine del pannello frontale come P1-4x e P1-12x (sì, sono solo
nomi che dovrebbero seguire la scritta sui pannelli anteriore o posteriore). Come la
non sono necessari gusti diversi delle schede per definire gli stessi nomi per
le loro porte, inclusa una porta 12x, potrebbero lasciare alcune delle connessioni di livello superiore
penzolante (non connesso) e quindi le porte del pannello frontale dell'altro sapore
verrà rimosso dalla definizione del sistema finale. Facciamo un esempio
considera una semplice scheda LEAF con 3 porte 4x e una 12 porte.
Si consiglia di collegarlo al livello superiore utilizzando il seguente schema:
SISTEMA ANTA:4x
NODO U1
1 -4x-> 4XP1
2 -4x-> 4XP2
3 -4x-> 4XP3
...
SISTEMA ANTA:12x
NODO U1
1 -12x-> 12XP1
...
TOPSYSTEM myIbSystem
SOTTOSISTEMA FOGLIA anta1
4XP1 -> L1/P1
4XP2 -> L1/P2
4XP3 -> L1/P3
12XP1 -> L1/P1-12x
f) Posizionare il file nel /lib/IBDM/ibdm1.0/cartella ibnl
g) Controllare la nuova sintassi del file posizionandolo nella directory ibnl come descritto
sopra, creando una semplice topologia (ibdm-topo-file file con uno di questi
sistema e in esecuzione ibdmtr utility per analizzarlo tracciando un semplice percorso
attraverso esso.
4. Formale definizione in YACC Sintassi:
INT ::= ([1-9][0-9]*⎪0) ;
LARGHEZZA ::= (4x⎪8x⎪12x) ;
VELOCITÀ ::= (2.5G⎪5G⎪10G) ;
TIPO NODO ::= (SW⎪CA⎪HCA) ;
NOME ::= ([\[\]\\\*/A-Za-z0-9_.:%@~]+) ;
NL: LINEA ⎪ LINEA NL;
ONL: ⎪NL;
ibnl: sistemi ONL topsystem;
sistemi: ⎪ sistemi sistema ;
sub_inst_attributes: ⎪ sub_inst_attributes sub_inst_attribute NL;
sub_inst_attribute: NOME '=' NOME '=' NOME ⎪ NOME '=' NOME '=' INT ⎪ NOME '=' NOME ;
topsystem: TOPSYSTEM system_names NL sub_inst_attributes inst ;
sistema: SYSTEM nomi_sistema NL insts ;
nomi_sistema: nome_sistema ⎪ nomi_sistema ',' nome_sistema ;
nome_sistema: NOME ;
insts: ⎪ insts nodo ⎪ insts sottosistema ;
nodo: node_header NL node_connections ;
node_header: NODE NODETYPE INT NOME NOME ;
connessioni_nodo: ⎪ connessioni_nodo connessione_nodo NL ;
collegamento_nodo: collegamento_nodo_a_nodo ⎪ collegamento_nodo_a_porta ;
node_to_node_link: INT '-' WIDTH '-' SPEED '-' '>' NOME ⎪ INT '-' WIDTH '-' '>' NOME INT ⎪
INT '-' SPEED '-' '>' NOME INT ⎪ INT '-' '>' NOME INT ;
node_to_port_link: INT '-' WIDTH '-' SPEED '-' '>' NOME ⎪ INT '-' WIDTH '-' '>' NOME ⎪ INT
'-' SPEED '-' '>' NOME ⎪ INT '-' '>' NOME ;
sottosistema: subsystem_header NL subsystem_connections ;
subsystem_header: NOME SOTTOSISTEMA NOME ;
connessioni_sottosistema: ⎪ connessioni_sottosistema connessione_sottosistema NL ;
collegamento_sottosistema: collegamento_sottosistema_a_sottosistema ⎪ collegamento_sottosistema_a_porta ;
subsystem_to_subsystem_link: NOME '-' LARGHEZZA '-' VELOCITÀ '-' '>' NOME NOME ⎪ NOME '-' LARGHEZZA
'-' '>' NOME NOME ⎪ NOME '-' VELOCITÀ '-' '>' NOME NOME ⎪ NOME '-' '>' NOME NOME ;
subsystem_to_port_link: NAME '-' WIDTH '-' SPEED '-' '>' NAME ⎪ NAME '-' WIDTH '-' '>'
NOME ⎪ NOME '-' VELOCITA' '-' '>' NOME ⎪ NOME '-' '>' NOME ;
Usa ibdm-ibnl-file online utilizzando i servizi onworks.net