Dit is de opdracht ibdm-ibnl-file die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator
PROGRAMMA:
NAAM
ibnl - een generiek IB-netlijstformaat
PRODUCTBESCHRIJVING
IBDM-topologiebestand ibdm-topo-bestand bieden middelen om de IB-structuur te beschrijven met behulp van een set van
voorgedefinieerde systemen. Een systeemdefinitie wordt geleverd in één bestand in IBNL-formaat dat
beschrijft de interne InfiniBand-connectiviteit van het systeem in termen van boards en
apparaten. Wanneer IBDM start, parseert het alle beschikbare systeemdefinitiebestanden ervoor
behandelt het topologiebestand. De bestanden bevinden zich in de volgende map ten opzichte van
het installatievoorvoegsel: /lib/ibdm1.0/ibnl.
Deze man-pagina beschrijft het IBNL-bestandsformaat dat wordt gebruikt om een willekeurig IB-systeem te definiëren
interne IB-connectiviteit. Het schetst de belangrijkste concepten die door het bestand worden gebruikt, geeft details
voor het schrijven van zo'n bestand en biedt een formele definitie van de bestandssyntaxis in BNF
zoals formaat (YACC/Bison leesbaar).
1. Hoofd Concepts
Het beschreven bestandsformaat voor het definiëren van generieke systeem IB-connectiviteit gebruikt het volgende
terminologie:
NODE
De instantiëring van een IB-apparaat kan een schakelaar of een kanaaladapter zijn
SUB-SYSTEEM
De concretisering van een bord of module in een systeem
SYSTEM
Een definitie van een board of een module
TOPSYSTEEM
Het bovenste systeem gedefinieerd in het opgegeven bestand
SUBSYSTEEMWIJZIGING
Veel systemen staan meerdere variaties van hun subsysteem toe, zoals een 12X-versie van een
bladbord in een MTS9600. De modifier is een achtervoegsel voor de bordnaam. Het IBNL-formaat
ondersteunt het toewijzen van meerdere namen aan hetzelfde bord.
2. Dien in Formaat
Het exacte bestandsformaat vindt u in paragraaf 4. Deze paragraaf geeft alleen extra informatie
informatie over de specifieke semantiek van verschillende secties.
Het IBNL-bestand is regelgevoelig omdat er verschillende secties nodig zijn om op een nieuwe regel te beginnen.
Het bestand is onderverdeeld in verschillende SYSTEM (optioneel) en één TOPSYSTEM sectie. Elk heeft er een
of meer namen.
Verbindingen worden alleen binnen de sectie SYSTEM/TOPSYSTEM gedefinieerd en kunnen er dus uit twee bestaan
soorten:
1. Tussen elk knooppunt of subsysteem naar een ander knooppunt of subsysteem
2. Van elk knooppunt of subsysteem naar een connector van het systeem.
OPMERKING-1: Het bovenste systeem kan poorten definiëren die mogelijk redundant zijn en niet met een verbinding zijn verbonden
bordconnector op lager niveau. In deze gevallen worden de poorten gewoon weggelaten uit de
resulterend systeem. Met deze functie kunnen de poorten op het voorpaneel van een 12X/4X worden gedefinieerd
dat als een 12X blad wordt geselecteerd, alleen de 12X frontpaneelpoorten worden gebruikt.
OPMERKING-2: Poortbreedte en snelheid op het laagste niveau hebben voorrang op
definities op de hoogste niveaus van de hiërarchie.
3. Richtlijnen For het schrijven van a Systeem IBNL Dien in
Om een nieuw systeem IBNL aan te bieden dient de volgende procedure gevolgd te worden:
a) Noem het bestand achter de systeemnaam: .ibnl
b) Definieer een SYSTEEM-sectie voor elk bord in het systeem
c) De poortnamen van de kaarten zijn slechts strings, we gebruiken het eenvoudige formaat van Pn waarbij N
is slechts een serienummer, maar u kunt elke gewenste naam kiezen. Zorg er gewoon voor dat het zo is
uniek.
d) Wanneer er verschillende smaken van de boards bestaan, zoals wanneer je een 4x en 12x optie hebt voor
een bord benoemt de optionele borden met een modifier achtervoegsel. Een voorbeeld van zo'n systeem
die een LEAF-bord van 12x en 4x typen ondersteunt, zou zijn om twee SYSTEMEN te definiëren:
SYSTEEM BLAD, BLAD:4x, BLAD:4X
...
SYSTEEM BLAD:12x,BLAD:12X
...
OPMERKING-3: De concretiseringen van de LEAF-borden in een ander bord of het topsysteem
hoeven de postfix niet te specificeren en er wordt alleen over beslist wanneer de topologie
bestand wordt geparseerd. Standaard wordt het "SYSTEM LEAF" zonder postfix gebruikt.
Om het voorbeeld hier voort te zetten, is hoe de LEAF's worden geïnstantieerd in het topsysteem:
TOPSYSTEEM MijnIbSysteem
BLAD blad1
...
BLAD blad2
...
De daadwerkelijke 4x of 12x versie van het LEAF board kan dan gespecificeerd worden in de
topologiebestand CFG-sectie om de juiste combinatie van optionele kaarten in te selecteren
het systeem. Een voorbeeld zal zijn:
MyIbSystem N001 CFG: blad2=12x
In dit geval zal leaf1 4x zijn omdat er geen speciale modifier voor is gedefinieerd (and
LEAF is standaard een 4x blad). Leaf2 zal 12x zijn zoals gedefinieerd in de CFG
pagina.
e) Er moeten speciale overwegingen worden gemaakt bij het ontwerpen van het bovenste systeemgedeelte wanneer
er zijn verschillende optionele bordtypen. Het bovenste systeemgedeelte kan er meerdere bevatten
definities voor frontpaneelpluggen zoals P1-4x en P1-12x (ja, dit zijn gewoon
namen die het schrift op de voor- of achterpanelen moeten volgen). Als de
verschillende smaken van de planken zijn niet vereist om dezelfde namen voor te definiëren
hun poorten, waaronder een 12x-poort, kunnen enkele van de verbindingen op het hoogste niveau achterlaten
bungelend (niet aangesloten) en dus de poorten op het voorpaneel van de andere smaak
wordt verwijderd uit de definitieve systeemdefinitie. Laat ons als voorbeeld
overweeg een eenvoudig bord LEAF met 3 4x port-smaken en één 12x port-smaken.
We raden aan om het op het hoogste niveau aan te sluiten met behulp van het volgende schema:
SYSTEEM BLAD:4x
KNOOPPUNT U1
1 -4x-> 4XP1
2 -4x-> 4XP2
3 -4x-> 4XP3
...
SYSTEEM BLAD:12x
KNOOPPUNT U1
1 -12x-> 12XP1
...
TOPSYSTEEM mijnIbSysteem
SUBSYSTEEM BLAD blad1
4XP1 -> L1/P1
4XP2 -> L1/P2
4XP3 -> L1/P3
12XP1 -> L1/P1-12x
f) Plaats het bestand in de /lib/IBDM/ibdm1.0/ibnl-directory
g) Controleer de nieuwe bestandssyntaxis door deze zoals beschreven in de ibnl-directory te plaatsen
hierboven, het creëren van een eenvoudige topologie (ibdm-topo-bestand bestand met zo'n
systeem en loopt ibdmtr hulpprogramma om het te ontleden door een eenvoudig pad te volgen
er doorheen.
4. Formeel definitie in YACC Syntax:
INT ::= ([1-9][0-9]*⎪0) ;
BREEDTE ::= (4x⎪8x⎪12x) ;
SNELHEID ::= (2.5G⎪5G⎪10G) ;
KNOOPTYPE ::= (SW⎪CA⎪HCA) ;
NAAM ::= ([\[\]\\\*/A-Za-z0-9_.:%@~]+) ;
NL: LIJN ⎪ NL LIJN;
ONL: ⎪ NL;
ibnl: ONL systemen topsysteem;
systemen: ⎪ systemen systeem ;
sub_inst_attributes: ⎪ sub_inst_attributes sub_inst_attribute NL;
sub_inst_attribute: NAAM '=' NAAM '=' NAAM ⎪ NAAM '=' NAAM '=' INT ⎪ NAAM '=' NAAM ;
topsysteem: TOPSYSTEEM systeemnamen NL sub_inst_attributen insts ;
systeem: SYSTEEM systeemnamen NL insts ;
systeem_namen: systeem_naam ⎪ systeem_namen ',' systeem_naam ;
systeemnaam: NAAM ;
insts: ⎪ insts-knooppunt ⎪ insts-subsysteem ;
knooppunt: knooppunt_header NL knooppunt_verbindingen ;
node_header: NODE NODETYPE INT NAAM NAAM;
knooppunt_verbindingen: ⎪ knooppunt_verbindingen knooppunt_verbinding NL;
knooppunt_verbinding: knooppunt_naar_knooppunt_link ⎪ knooppunt_naar_poort_link ;
node_to_node_link: INT '-' WIDTH '-' SPEED '-' '>' NAAM ⎪ INT '-' WIDTH '-' '>' NAAM INT ⎪
INT '-' SNELHEID '-' '>' NAAM INT ⎪ INT '-' '>' NAAM INT ;
node_to_port_link: INT '-' WIDTH '-' SPEED '-' '>' NAAM ⎪ INT '-' WIDTH '-' '>' NAAM ⎪ INT
'-' SNELHEID '-' '>' NAAM ⎪ INT '-' '>' NAAM ;
subsysteem: subsysteem_header NL subsysteem_verbindingen ;
subsystem_header: SUBSYSTEEMNAAM NAAM;
subsysteem_verbindingen: ⎪ subsysteem_verbindingen subsysteem_verbinding NL ;
subsysteem_verbinding: subsysteem_naar_subsysteem_link ⎪ subsysteem_naar_poort_link ;
subsystem_to_subsystem_link: NAAM '-' WIDTH '-' SPEED '-' '>' NAAM NAAM ⎪ NAAM '-' WIDTH
'-' '>' NAAM NAAM ⎪ NAAM '-' SNELHEID '-' '>' NAAM NAAM ⎪ NAAM '-' '>' NAAM NAAM ;
subsystem_to_port_link: NAAM '-' WIDTH '-' SNELHEID '-' '>' NAAM ⎪ NAAM '-' WIDTH '-' '>'
NAAM ⎪ NAAM '-' SNELHEID '-' '>' NAAM ⎪ NAAM '-' '>' NAAM ;
Gebruik ibdm-ibnl-file online met behulp van onworks.net-services