|
|
Scheduling Computations on a Software-Based Router
|
Authors
|
Xiaohu Qie <qiexh@CS.Princeton.EDU>
Andy Bavier <acb@CS.Princeton.EDU>
Larry Peterson <llp@CS.Princeton.EDU>
Scott Karlin <scott@CS.Princeton.EDU>
Department of Computer Science, Princeton University
|
Abstract
|
Recent efforts to add new services to the Internet have increased
the interest in software-based routers that are easy to extend and
evolve. This paper describes our experiences implementing a
software-based router, with a particular focus on the main difficulty
we encountered: how to schedule the router's CPU cycles. The
scheduling decision is complicated by the desire to differentiate the
level of service for different packet flows, which leads to two
fundamental conflicts: (1) assigning processor shares in a way that
keeps the processes along the forwarding path in balance while meeting
QoS promises, and (2) adjusting the level of batching in a way that
minimizes overhead while meeting QoS promises.
|
|