multi-protocol label switching was an idea that basically undermined several companies rather nice ways of disaggregating forwarding and routing so that very fast simple switches could get on with the simple business of shovelling packets from input port to output port (or filter) and route computations, which generally happen at a few orders of magnitude less frequency and asynchronously, can be done on general purpose processors better designed for that sort of, err, general purpose program!
around the same time, some smart people around DARPA promoted the barking mad idea of active networks, where instead of simply carrying data in packet headers to give forwarding path hints to switches, packets would now contain code executed by switches to carry out those decisions - so called active networking was a deliberate provocation, to get people out of their thinking silos, and be more creative - it worked staggeringly well, and eventually led to open flow, switch management protocols, and a slew of designs for software defined networking, which took advantage of many innovations in computer science including well found tecniques for high availability through state synchronised replicas, and also software verification - amongst others (optimisation/compiler/ language design etc etc)
So now lets revisit this and see if we couldn't think of the next provocative step - putting the PL back in mPLs is the modest idea here.
Each switch executesd the program in the packet, but then puts a new program in the packet for the next swotch,bbut notes, however, that the next switch might grok a different language - so we might move from eBPF at one hop, to P4 at the next hop, to something completely new and daft at the subsequrnt hop, and so on. so we might need to engage in automatic PL translation - to this end, I propose an LLM for switch programming languages should be designed, trained and deployed in the SDN substrate, and used to download translator shims into switches...
there you go
No comments:
Post a Comment