Wedge 100: mer öppen och mångsidig än någonsin – Facebook Engineering

på Facebook lägger vi tonvikten på att bygga våra datacenter med helt öppen och disaggregerad hårdvara designad av våra ingenjörer och öppen källkod genom Open Compute Project (OCP). Genom att dela upp vår stack kan vi ersätta hårdvara eller mjukvara så snart bättre teknik blir tillgänglig. Detta tillvägagångssätt har möjliggjort imponerande prestandavinster över beräknings -, lagrings-och nätverkslagren.

eftersom kraven på våra datacenter fortsätter att växa, strävar vi kontinuerligt efter sätt att hantera data mer effektivt och i allt snabbare hastigheter. Vår strategi är att bygga 100g datacenter, och Wedge 100, vår andra generationens top-of-rack nätverksswitch, är en av de viktigaste komponenterna som hjälper oss att uppnå detta mål.

idag är vi glada att meddela att Wedge 100-specifikationen har accepterats i OCP. Branschen har redan byggt ett robust mjukvaruekosystem runt det, och vi hoppas att detta tillägg till samhället kommer att påskynda innovationstakten och låta andra ta med 100G till sina datacenter också.

i det här blogginlägget kommer vi att beskriva det nuvarande hårdvaru-och mjukvaruekosystemet, och vi delar några av våra erfarenheter med Wedge 100 i produktion.

Wedge 100 på Facebook

på Facebook använder vi Wedge 100 i våra produktionsmiljöer, och vi fortsätter att distribuera det i skala över våra datacenter. Det är en del av vår 100g data center-nätverksstrategi, samtidigt som vi kan behålla bakåtkompatibilitet med befintliga 40g-enheter. På mjukvarusidan fortsätter vi att använda FBOSS och OpenBMC, vår egen nätverksstack och baseboard management implementeringar, vilket ger oss flexibiliteten att iterera snabbt och introducera nya funktioner och innovationer i vårt nätverk.

skapa Wedge 100 var en komplex strävan, men vi kunde iterera på hårdvara och mjukvara med tillförsikt på grund av våra lärdomar från att skapa och distribuera Wedge 40. Vi återanvände många av samma hårdvarukomponenter och gjorde viktiga ändringar för att ta itu med smärtpunkter som vi kände med Wedge 40. På Wedge 100 kör vi också samma fboss-programvara som Wedge 40, men vi utökade den för att stödja den nya plattformen med 100g ASIC-chips och optik.

hårdvaruuppdateringar

vi byggde Wedge 100 med en Com-Express typ 6-modul i compact form factor (95mm x 95mm) som mikroserver; detta bådar gott för 100G och högre hastighet switch plattformar. Wedge 100 stöder också COM-Express modulformfaktor (95mm x 125mm), vilket möjliggör en flexibel design om mer avancerade processorer krävs för speciella applikationer.

service är ett viktigt fokus för oss på Facebook. Vi har tusentals Kilomkopplare utplacerade och endast ett fåtal datacentertekniker, vilket innebär att vi måste kunna serva och reparera en switch snabbt och enkelt, utan några verktyg. Vi gjorde stora förbättringar av användbarheten hos omkopplaren med Wedge 100. Topplocket kan nu tas bort utan verktyg, vilket ger enkel åtkomst till switch internals för våra datacentertekniker. De varmpluggbara fläktbrickorna kan nu tas bort genom att trycka på ett klipp kontra genom att ta bort en tumskruv. Dessutom kan datacenterteknikerna enkelt se fläktfackets status via en statuslampa bredvid varje fläktfack. Kombinationen av dessa möjliggör mycket snabb felsökning och byte av fält om det behövs.

för upplänkar av Wedge 100 i Facebook: s datacenter använder vi optik som har en lägre temperaturgräns på 55 C, i motsats till det vanliga 70 C kommersiella temperaturområdet. Vi lägger mycket ansträngning i systemets termiska design, inklusive tillägg av ytterligare ett fläktfack, luftbafflar för att separera luftvägarna mellan PSU och huvudströmbrytaren och frontpanelens öppningsdesign för att maximera luftflödet.

Wedge 100-chassit är utformat för ett industristandard 19″ – rack, så det kan enkelt antas av nätverkssamhället. Våra datacenter använder dock öppna rack, och vi vill också driva Wedge 100 med hjälp av de mycket effektiva, Titanium-rankade Open Rack V2-nätaggregaten genom 12V-bussstången på baksidan av racket. Så vi designade ett 21 ” Öppet Rackadapterfack som hjälper till att montera Wedge 100 i ett sådant rack. Vi designade också en PSU-passeringsmodul som ansluter 12V-bussstången till 12V-ingången på Wedge 100-huvudströmbrytaren. Det är i samma formfaktor som standard AC/DC PSU, och innehåller en 12V hot swap controller.

du hittar designspecifikationerna för Wedge 100 här.

Wedge100 Open Rack V2 Adapter

programuppdateringar

vår programvara stack för Wedge100 är nästan identisk med stacken för Wedge 40. Vi kör samma fboss-växlings-och routingdemoner, och vi använder samma uppsättning verktyg för att hantera omkopplarna i produktionen. Det finns alltid arbete som behöver göras för att stödja en ny plattform, men en av de vägledande principerna för FBOSS är att bygga den minimala funktionsuppsättningen vi behöver för vår miljö. Detta gör att vi kan hålla vår kod mager och enkelt anpassa den till nya miljöer och plattformar, istället för att börja från början eller hantera parallella kodbaser. Att få den uppsättning protokoll vi stöder-NDP, DHCP, ARP, LLDP, ECMP, ICMP — och de funktioner vi behöver för att fungera — warm boot — att arbeta på Wedge100 var mer av en iterativ övning eftersom vi hade erfarenhet av att köra Wedge 40 i produktion. Detta gjorde det möjligt för oss att slå marken på Wedge100-projektet och använda det som en möjlighet att härda vår fboss-mjukvarustack.

eftersom vi hade hanterat Wedge 40s i produktion i nästan två år och hade infrastrukturen på plats började vi testa Wedge100 i en produktionsmiljö nästan omedelbart. Löpande växlar som betjänar produktionstrafik ger oss den bästa signalen för förändringar vi behöver göra. Som det visar sig fann vi att vår största utmaning var på den operativa sidan — specifikt konfiguration, provisionering och hantering av Wedge 40 och Wedge 100 parallellt i vårt nätverk. På Facebook skriver FBOSS-teamet både programvaran som utför vidarebefordran av paket och den uppsättning verktyg vi använder för att hantera omkopplarna operativt. På grund av detta hade vi en positiv återkopplingsslinga och i slutändan lärdomar i produktionsinriktad programvara — och till och med hårdvarubeslut. På detta sätt kunde vi fokusera på de funktioner vi faktiskt behövde och få Wedge 100-omkopplare som vidarebefordrar produktionstrafik mycket snabbt.

en annan utmaning vi mötte när vi byggde Wedge 100 var att göra vår mjukvaruplattform mer flexibel. När vi distribuerade Wedge 40, gynnades vi av det faktum att uppsättningen konfigurationer vi behövde stödja var ganska begränsade, och vi kunde enkelt stödja dem. Med Wedge 100 var detta inte fallet. Vi ville släppa en kil 100 var som helst i vårt nätverk som hade en kil 40. Nedlänkshastigheter och kabeltyper kan variera. Upplänkshastigheter kan variera mellan gamla och nya kluster. Korrekt konfiguration är särskilt viktigt för 100g-länkar eftersom de har en mycket mindre optisk effektmarginal och kan ge fler utmaningar när det gäller att etablera länk och optimera prestanda, vilket kräver mycket mer noggrann konfiguration än 40G gjorde. Att stödja dessa nya miljöer krävde förändringar från det fysiska lagret hela vägen upp till vår övervakningsstack. Vi utökade vårt stöd för SFF-specifikationen för att kunna använda cwdm4-optik som körs i olika hastigheter genom att ändra effektklass, CDR, rate-select, FEC, pre-emphasis och andra dynamiskt för att stödja dessa olika inställningar. Vi omarbetade också mycket av våra konfigurations-och provisioneringsarbetsflöden för att kunna stödja alla dessa möjligheter.

slutligen, äga vår egen programvara stack gör rätta fel eller lägga till funktionalitet till dessa enheter mycket snabbare för Facebook. Till exempel observerade vi att 100g-optik uppnår högre driftstemperaturer, så vi ändrade fläktstyrningslogiken på vår styrenhet, OpenBMC, för att uppnå en bättre termisk profil när dessa moduler är närvarande. Andra gånger stötte vi på kärnpanik på mikroservern. Eftersom vi har ett ingenjörsteam som hanterar våra egna kärnutgåvor kan vi utnyttja deras expertis för att felsöka problemen. Att äga hela stacken gör det också möjligt för oss att göra andra intressanta saker som att förenkla enhetsunderhållsförfaranden genom att ändra betydelsen av frontpanelens lysdioder på dessa omkopplare, baserat på feedback som vi får från datacenteroperationsteamet.

fboss-koden är öppen och tillgänglig på GitHub. Vi öppnar vår programvara förra året och har sedan dess flyttat till en kontinuerlig frisättningscykel, Driver interna diffar automatiskt till GitHub. Om du vill lära dig mer om vad vi arbetar med, kolla in koden.

hårdvara och mjukvara ekosystem

Wedge 100 switch är nu tillgänglig som en kommersiell produkt från Edgecore Networks och dess kanalpartners över hela världen. Edgecores Wedge 100 – 32x är helt kompatibel med Wedge 100 OCP-specifikationen och tillverkas av Edgecores moderbolag, Accton Technology, som också tillverkar Wedge 100 för vår nätverksutbyggnad. Wedge 100-32x hårdvarubrytare innehåller tre års garanti och levereras med diagnostik, OpenBMC-firmware och Open Network Install Environment universal NOS loader.

vi har också sett ett starkt intresse från transceiverleverantörer för att kvalificera sina moduler på plattformen. För att möta denna efterfrågan samarbetar vi med University of New Hampshire InterOperability Laboratory (UNH-IOL) så att alla moduler kan testas professionellt på sina anläggningar. UNH-IOL fortsätter att vara ledande när det gäller att tillhandahålla neutrala, bredbaserade test-och standardiseringstjänster för nätverksindustrin.

på mjukvarusidan bygger flera företag sina lösningar ovanpå Wedge 100-plattformen. På operativsystemskiktet har vi stora Switch-nätverk och Canonical; och på de övre delarna av stapeln har vi SnapRoute, FRINX och Apstra.

  • Big Switch-nätverk fortsätter att driva Open Network Linux (ONL), det första öppna nätverksoperativsystemet för att stödja den ursprungliga Wedge 40, och nu Wedge 100; Facebook: s FBOSS är också tillgänglig just nu ovanpå ONL on Wedge 40 och snart Wedge 100. ONL är en del av Open Compute-projektet och stöder 30+ olika OCP-och icke-OCP-öppna nätverksswitchar. De använder också ONL internt som grund för sina kommersiella produkter Big Monitoring Fabric och Big Cloud Fabric.
  • Canonical kommer att föra Ubuntu Core, deras nya operativsystem för moln-och IoT-enheter, till Wedge 100-plattformen. Ubuntu Core kan köra ett antal olika nätverksstackar som FBOSS eller SnapRoute som snaps, och aktivera bare-metal provisioning för stor programvara som OpenStack, Hadoop och Kubernetes på datacentrets beräkningslager från Top-of-rack-omkopplaren.
  • SnapRoute tillkännagav tillgängligheten av FlexSwitch-programvara ovanpå Wedge 100-plattformen. FlexSwitch är en öppen källkod L2 / L3 nätverk stack som kan köras över flera hårdvaruplattformar. Det syftar till att förändra ekonomin för nätverksdrift genom att tillhandahålla ett helt anpassningsbart och programmerbart kontrollplan och erbjuda ett omfattande ramverk för att göra livscykelautomatisering och nätverksanalys. Den är uppbyggd kring begreppen full modularitet och främjar tanken på att bara köra den uppsättning funktionalitet som nätverket kräver, i motsats till den traditionella one size fits all-metoden.
  • FRINX fokuserar på att integrera OpenDaylight, en SDN-plattform med öppen källkod, på Wedge 100. De arbetar för att skapa en stödd out-of-the-box-lösning för datacenterdistributioner, helt baserad på open source-komponenter.
  • Apstra arbetar i ett övre lager med Apstra-operativsystemet (aos), ett leverantör-agnostiskt distribuerat operativsystem som kan översätta användarens avsikt till en kontinuerligt validerad Infrastruktur. De arbetar med en lösning som kan hantera stackar baserade på ONL och Snaproute samt andra nätverksoperativsystem, tillgängliga i början av 2017.

vi är stolta över att ha en så komplett och mångsidig uppsättning tekniker i det öppna maskinvaruutrymmet för nätverk, och vi fortsätter att arbeta med andra företag på Wedge 100. I början av nästa år planerar vi att visa upp dessa nätverksprogramvara och hårdvarulösningar från OCP-communityn, inklusive de som bygger på Wedge 100, och vi fortsätter att dela våra erfarenheter med disaggregerade nätverk. Håll ögonen öppna!

tack till alla team och personer som bidragit till detta projekt.

You might also like

Lämna ett svar

Din e-postadress kommer inte publiceras.