Abstrakt. Vi presenterar PacLang: ett imperativt, parallellt, linjärt språk utformat för att uttrycka paketbehandlingsapplikationer. PacLang linjära typ system säkerställer att inget paket refereras av mer än en tråd, men tillåter flera referenser till ett paket inom en tråd. Vi hävdar (i) att denna egenskap avsevärt förenklar sammanställning av högnivåprogram till de distribuerade minnesarkitekturer av moderna nätverksprocessorer; och (ii) att PacLang typsystem fångar den stil i vilken tvingande paketbehandlingsprogram redan är skrivna. Påstående (ii) motiveras med hjälp av en fallstudie: vi beskriver ett PacLang genomförande av IPv4 unicast paket vidaresändning algoritm. PacLang formaliseras med hjälp av en operationell semantik och ett unikt ägarskapsteorem formaliserar dess korrekthet med avseende på typsystemet.
PacLang REF ] använder linjära typer för att styra optimering av paketbearbetning på nätverksprocessorer.
Linear Types for Packet Processing
{'venue': 'ESOP', 'journal': None, 'mag_field_of_study': ['Computer Science']}