Wedge 100: mer åpen og allsidig enn noensinne-Facebook Engineering

På Facebook legger Vi vekt på å bygge våre datasentre med fullt åpen og disaggregert maskinvare designet av våre ingeniører og åpen kildekode gjennom Open Compute Project (OCP). Ved å disaggregere stabelen vår, kan vi erstatte maskinvare eller programvare så snart bedre teknologi blir tilgjengelig. Denne tilnærmingen har muliggjort imponerende ytelsesgevinster på tvers av databehandlings -, lagrings-og nettverkslagene.

etter hvert som kravene til datasentrene våre vokser, arbeider vi kontinuerlig med måter å håndtere data mer effektivt og med stadig raskere hastigheter. Vår strategi er å bygge 100g datasentre, Og Wedge 100, vår andre generasjon top-of-rack nettverkssvitsj, er en av de viktigste komponentene som hjelper oss med å nå dette målet.

I Dag er Vi glade for å kunngjøre At Wedge 100-spesifikasjonen er akseptert I OCP. Næringen har allerede bygget et robust programvareøkosystem rundt det, og vi håper at dette tillegget til samfunnet vil akselerere innovasjonstakten og tillate andre å bringe 100G til sine datasentre også.

i dette blogginnlegget vil vi skissere dagens maskinvare-og programvareøkosystem, og vi vil dele noen av våre erfaringer med Å bruke Wedge 100 i produksjon.

Wedge 100 På Facebook

På Facebook bruker Vi Wedge 100 i produksjonsmiljøene våre, og vi fortsetter å distribuere Det i stor skala på tvers av datasentrene våre. Det er en del av VÅR 100g datasenter nettverksstrategi, samtidig som vi kan opprettholde bakoverkompatibilitet med eksisterende 40g-enheter. På programvaresiden fortsetter VI Å bruke FBOSS Og OpenBMC, vår egen nettverksstabel og baseboard management implementeringer, noe som gir oss fleksibiliteten til å iterere raskt og introdusere nye funksjoner og innovasjoner i nettverket vårt.

Opprette Wedge 100 var en kompleks oppgave, men vi var i stand til å iterere på maskinvare og programvare med tillit på grunn av vår læring fra å skape Og distribuere Wedge 40. Vi gjenbrukte mange av de samme maskinvarekomponentene og gjorde viktige endringer for å adressere smertepunkter vi følte Med Wedge 40. På Wedge 100 kjører vi også samme fboss-programvare som Wedge 40, men vi utvidet den til å støtte den nye plattformen MED 100G ASIC-chips og optikk.

Maskinvareoppdateringer

vi bygde Wedge 100 Med EN COM-Express type 6-modul i den kompakte formfaktoren (95mm x 95mm) som microserver; dette lover godt FOR 100g og høyere hastighetsbryterplattformer. Wedge 100 støtter OGSÅ COM-Express modul formfaktor (95mm x 125mm), som muliggjør en fleksibel design i tilfelle mer avanserte Cpuer kreves for spesielle applikasjoner.

Service Er et sentralt fokus for Oss På Facebook. Vi har tusenvis Av Kilebrytere utplassert og bare noen få datasenterteknikere, noe som betyr at vi må kunne betjene og reparere en bryter raskt og enkelt, uten verktøy. Vi har gjort store forbedringer til brukbarheten av bryteren Med Wedge 100. Toppdekselet kan nå fjernes uten verktøy, noe som gir enkel tilgang til bytte innvendige for våre datasenterteknikere. De varmpluggbare viftebrettene kan nå fjernes ved å trykke på et klips versus ved å fjerne en tommelskrue. I tillegg kan datasenterteknikerne enkelt se viftebrettstatusen via en status-LED ved siden av hver viftebrettskuff. Kombinasjonen av disse gir svært rask debug og i feltet erstatning hvis nødvendig.

for uplinks Av Wedge 100 I Facebook datasentre, bruker vi optikk som kommer med en nedre sak temperaturgrense på 55 C, i motsetning til standard 70 C kommersielle temperaturområde. Vi legger mye arbeid i systemets termiske design, inkludert tilsetning av en ekstra viftebrett, luftbaffler for å skille luftbanene mellom PSU og hovedbryterbordet, og frontpanelets åpningsdesign for å maksimere luftstrømmen.

Wedge 100-chassiset er designet for en industristandard 19 » rack, slik at den lett kan adopteres av nettverkssamfunnet. Våre datasentre bruker Imidlertid Åpne Rack, og vi ønsker også å drive Wedge 100 ved hjelp Av de svært effektive, Titan-klassifiserte Open Rack V2-Strømforsyningsenhetene gjennom 12v bus bar på baksiden av stativet. Så vi designet en 21 » Åpen Rack adapter skuff som hjelper mount Wedge 100 i et slikt rack. Vi har også designet EN PSU pass through modul som kobler 12v bus bar TIL 12v inngangen Til Wedge 100 hovedbryterkortet. DET er i samme formfaktor som standard AC / DC PSU, og inneholder EN 12v hot swap-kontroller.

designspesifikasjonene For Wedge 100 finner du her.

Wedge100 Open Rack V2 Adapter

Programvareoppdateringer

vår programvarestabel For Wedge100 er nesten identisk med stabelen for Wedge 40. Vi kjører de samme fboss switching og routing daemons, og vi bruker samme sett med verktøy for å administrere bryterne i produksjon. DET er alltid arbeid som må gjøres for å støtte en ny plattform, men EN av de ledende prinsippene FOR FBOSS er å bygge det minimale funksjonssettet vi trenger for vårt miljø. Dette gjør at vi kan holde koden vår slank og enkelt tilpasse den til nye miljøer og plattformer, i stedet for å starte fra bunnen av eller administrere parallelle kodebaser. Å få settet med protokoller vi støtter — NDP, DHCP, ARP, LLDP, ECMP, ICMP – og funksjonene vi trenger for å operere — varm oppstart-arbeid På Wedge100 var mer en iterativ øvelse siden vi hadde erfaring med Å kjøre Wedge 40 i produksjon. Dette tillot oss å treffe bakken kjører På Wedge100 prosjektet og bruke det som en mulighet til å herde VÅR FBOSS software stack.

Fordi Vi hadde styrt Wedge 40s i produksjon i nesten to år og hadde infrastrukturen på plass, begynte Vi å teste Wedge100 i et produksjonsmiljø nesten umiddelbart. Kjørebrytere som betjener produksjonstrafikk gir oss det beste signalet for endringer vi må gjøre. Som det viser seg, fant vi at vår største utfordring var på operasjonssiden-spesielt konfigurasjonen, klargjøringen og styringen av Wedge 40 og Wedge 100 parallelt i nettverket vårt. På Facebook skriver FBOSS-teamet både programvaren som utfører pakkeforsending og pakken med verktøy vi bruker til å administrere bryterne operativt. På grunn av dette hadde vi en positiv tilbakemeldingssløyfe, og til slutt lærte vi i produksjonsinformert programvare — og til og med maskinvare-beslutninger. På denne måten kunne vi fokusere på funksjonene vi faktisk trengte, og Få Wedge 100-brytere videresende produksjonstrafikk veldig raskt.

En annen utfordring vi møtte da vi bygde Wedge 100, gjorde vår programvareplattform mer fleksibel. Når Vi utplassert Wedge 40, vi dratt nytte av det faktum at settet med konfigurasjoner vi trengte for å støtte var ganske begrenset, og vi kan lett støtte dem. Med Wedge 100 var dette ikke tilfelle. Vi ønsket å slippe En Kile 100 på ethvert sted i vårt nettverk som hadde En Kile 40. Nedlastingshastigheter og kabeltyper kan variere. Opplinkhastigheter kan variere mellom gamle og nye klynger. Riktig konfigurasjon er spesielt viktig FOR 100g koblinger som de har en mye mindre optisk effektmargin og kan presentere flere utfordringer i å etablere link og optimalisere ytelsen, krever mye mer forsiktig konfigurasjon ENN 40G gjorde. Støtte for disse nye miljøene krevde endringer fra det fysiske laget helt opp til overvåkingsstakken vår. Vi utvidet vår støtte TIL SFF-spesifikasjonen for å kunne betjene cwdm4-optikk som kjører i ulike hastigheter ved å endre kraftklassen, CDR, rate-select, FEC, pre-emphasis og andre dynamisk for å støtte disse forskjellige innstillingene. Vi har også omarbeidet mye av våre konfigurasjons-og klargjøringsarbeidsflyter for å kunne støtte alle disse mulighetene.

til Slutt, å eie vår egen programvarestabel gjør det mulig å fikse feil eller legge til funksjonalitet til Disse enhetene mye raskere For Facebook. For eksempel observerte VI AT 100g optikk oppnår høyere driftstemperaturer, så vi endret viftekontrolllogikken på Styrekontrolleren Vår, OpenBMC, for å oppnå en bedre termisk profil når disse modulene er til stede. Andre ganger møtte vi kjernepanikk på mikroserveren. Siden vi har et ingeniørteam som styrer våre egne kjerneutgivelser, kan vi utnytte deres kompetanse til å feilsøke problemene. Å eie hele stabelen tillater oss også å gjøre andre interessante ting som å forenkle vedlikeholdsprosedyrer ved å endre betydningen av frontpaneldioder på disse bryterne, basert på tilbakemelding som vi får fra datasenterets driftsteam.

FBOSS-koden er all åpen kildekode og tilgjengelig på GitHub. Vi åpnet vår programvare i fjor og har siden flyttet til en kontinuerlig utgivelsessyklus, og skyver interne differ automatisk til GitHub. Hvis du vil vite mer om hva vi jobber med, kan du sjekke ut koden.

Maskinvare-og programvareøkosystem

Wedge 100-bryteren er nå tilgjengelig som et kommersielt produkt Fra Edgecore Networks og dets kanalpartnere over hele verden. Edgecores Wedge 100-32X er fullt kompatibel Med Wedge 100 OCP-spesifikasjonen og er produsert Av Edgecores morselskap, Accton Technology, som også produserer Wedge 100 for nettverksdistribusjon. Wedge 100-32x maskinvarebryter inkluderer en tre års garanti og leveres med diagnostikk, OpenBMC-firmware og det Åpne Nettverksinstallasjonsmiljøet universal NOS loader.

Vi har også sett sterk interesse fra transceiverleverandører for å kvalifisere sine moduler på plattformen. For å møte denne etterspørselen samarbeider VI Med University Of New Hampshire InterOperability Laboratory (UNH-IOL), slik at alle moduler kan testes profesjonelt på deres anlegg. UNH-IOL fortsetter å være ledende innen å tilby nøytrale, brede test-og standardkonformasjonstjenester for nettverksbransjen.

på programvaresiden bygger flere selskaper sine løsninger på Toppen Av Wedge 100-plattformen. På operativsystemlaget har Vi Store Switch-Nettverk og Kanoniske; og på de øvre delene av stakken har Vi SnapRoute, FRINX og Apstra.

  • Big Switch-Nettverk fortsetter Å kjøre Open Network Linux (ONL), det første åpne nettverksoperativsystemet som støtter den opprinnelige Wedge 40, og Nå Wedge 100; Facebook FBOSS er også tilgjengelig akkurat nå PÅ TOPPEN AV ONL På Wedge 40 og snart Wedge 100. ONL er en Del Av Open Compute Project og støtter 30 + FORSKJELLIGE OCP og ikke-OCP åpne nettverksbrytere. DE bruker OGSÅ ONL internt som grunnlag for deres kommersielle produkter Big Monitoring Fabric og Big Cloud Fabric.
  • Canonical vil bringe Ubuntu Core, deres nye operativsystem for sky og iot-enheter, Til Wedge 100-plattformen. Ubuntu Core kan kjøre en rekke forskjellige nettverksstabler som FBOSS eller SnapRoute som snaps, og aktivere klargjøring av bare metall for stor programvare som OpenStack, Hadoop og Kubernetes på datasenterets beregningslag fra toppen av rackbryteren.
  • SnapRoute annonserte tilgjengeligheten Av FlexSwitch-programvare på Toppen av Wedge 100-plattformen. FlexSwitch er en åpen kildekode L2 / L3 nettverk stack som kan kjøres på tvers av flere maskinvareplattformer. Det tar sikte på å endre økonomien i nettverksdrift ved å tilby et fullt tilpassbart og programmerbart kontrollplan og tilby et omfattende rammeverk for å gjøre livssyklusautomatisering og nettverksanalyse. Den er bygget rundt konseptene full modularitet, og fremmer ideen om å kjøre bare det settet av funksjonalitet som nettverket krever, i motsetning til den tradisjonelle one size fits all-tilnærmingen.
  • FRINX er fokusert På å integrere OpenDaylight, en ÅPEN kildekode SDN-plattform, På Wedge 100. De jobber mot etableringen av en støttet out-of-the-box løsning for datasenter distribusjoner, basert utelukkende på åpen kildekode-komponenter.
  • Apstra opererer på et øvre lag med Apstra Operating System (AOS), et leverandør-agnostisk distribuert operativsystem som kan oversette brukerintensjon til en kontinuerlig validert infrastruktur. De jobber med en løsning som kan håndtere stabler basert PÅ ONL og Snaproute, samt andre nettverksoperativsystemer, tilgjengelig tidlig i 2017.

Vi er begeistret over å ha et så komplett og mangfoldig sett med teknologier i det åpne nettverksmaskinvareområdet, og vi vil fortsette å jobbe med andre selskaper På Wedge 100. Tidlig neste år planlegger vi å vise frem disse nettverksprogramvare – og maskinvareløsningene fra OCP-fellesskapet, inkludert de som er bygget På Wedge 100, og vi vil fortsette å dele våre erfaringer med disaggregert nettverk. Følg med!

Takk til alle lagene og menneskene som bidro til dette prosjektet.

You might also like

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.