Overview
Syllabus
Intro
Traditional network architecture
One approach: Use a software router
My work: performance+programmability
A fixed-function router pipeline
A programmable atom pipeline
The Domino compiler
Designing instruction sets using Domino
Designing instruction sets: The stateless case
Designing instruction sets: The stateful case
Results: computations and their atoms
Results: A catalog of reusable atoms
Atoms generalize to unanticipated use cases
Why programmable scheduling?
Why is programmable scheduling hard?
What does the scheduler do?
A strawman programmable scheduler
The Push-In First-Out Queue
A programmable scheduler
Fair queuing
Token bucket shaping
PIFO in hardware
Outlook and future work
Co-authors
Taught by
Paul G. Allen School