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.
Original language | English (US) |
---|---|
Pages (from-to) | 13-24 |
Number of pages | 12 |
Journal | Performance Evaluation Review |
Volume | 29 |
Issue number | 1 |
DOIs | |
State | Published - 2001 |
Externally published | Yes |
Event | Joint International Conference on Measurement and Modeling of Computer Systems - Cambridge, MA, United States Duration: Jun 16 2001 → Jun 20 2001 |
ASJC Scopus subject areas
- Software
- Hardware and Architecture
- Computer Networks and Communications