Många algoritmer för trängselkontroll, schemaläggning, nätverksmätning, aktiv köhantering och trafikteknik kräver anpassad bearbetning av paket i dataplanet för en nätverksomkopplare. För att kunna köras i linjehastighet måste dessa dataplansalgoritmer implementeras i hårdvara. Med dagens switch hårdvara, algoritmer kan inte ändras, och inte heller nya algoritmer installeras, efter att en switch har byggts. Detta dokument visar hur man programmerar data-plan algoritmer i ett högnivåspråk och kompilera dessa program till låg nivå mikrokod som kan köras på framväxande programmerbara line-rate switching chips. Den viktigaste utmaningen är att många algoritmer i dataplanet skapar och modifierar algoritmiskt tillstånd. För att uppnå line-rate programmability för stateful algoritmer, introducerar vi begreppet en pakettransaktion: en sekventiell paket-processing kodblock som är atomär och isolerad från andra sådana kodblock. Vi har utvecklat denna idé i Domino, ett C-liknande tvingande språk för att uttrycka data-plan algoritmer. Vi visar med många exempel att Domino ger ett bekvämt sätt att uttrycka sofistikerade data-plan algoritmer, och visar att dessa algoritmer kan köras i linje takt med blygsamma uppskattade chip-område overhead.
Domino REF är ett domänspecifikt språk för dataplanalgoritmer som stöder pakettransaktioner, dvs. kodblock som garanterat är atomära och isolerade från andra transaktioner.
Packet Transactions: High-Level Programming for Line-Rate Switches
{'venue': "SIGCOMM '16", 'journal': None, 'mag_field_of_study': ['Computer Science']}