The benefits of user-space networking are clearly apparent as evidenced by projects like fd.io VPP (dataplane), but also
- "ingestion" projects such as: DPDK, NETMAP, XDP/BPF (accessing/altering kernel networking from userspace), SR-IOV etc - and the commensurate user-space TCP stacks: fd.io TLDK, LKL, libuinet, MTCP etc.
Compound this with what will become mainstream in the near future:
- (R)DMA approaches: 100G Infiniband networking, HP's "The Machine", - decomposition of monolithic application design into "microservice composition" using container technology, - design philosophy of "12-factor applications" where REST features prominently as an Inter-Process Communication (IPC) mechanism
and what becomes apparent in investigating these topics is the disparity between "communications" and "networking".
In this talk we will discuss a phased approach to solving these issues using parts "evolution" and "revolution" where we address:
- the goals of "(inter process) communication" and how we see this impacting "networking" - POSIX/BSD socket relevancy for IPC and possible alternate approaches - What are the requirements that TCP fulfils in modern communications and what might be alternatives