Resource management in software-programmable router operating systems

  • Authors:
  • D. K.Y. Yau;Xiangjing Chen

  • Affiliations:
  • Dept. of Comput. Sci., Purdue Univ., West Lafayette, IN, USA;-

  • Venue:
  • IEEE Journal on Selected Areas in Communications
  • Year:
  • 2001

Quantified Score

Hi-index 0.08

Visualization

Abstract

Future routers will not only forward data packets but also provide value-added services, such as security, accounting, caching, and resource management. These services ran be implemented as general programs, to be invoked by traversing packets embedding router program calls. Software-programmable routers pose new challenges in the design of router operating systems (OS). First, router programs will require access to diverse system resources. The resource demands of a large community of heterogeneous resource consumers must either be coordinated to enable cooperation or arbitrated to resolve competition. Second, it is beneficial to concurrently support multiple virtual machines, each with a guaranteed share of physical resources. This allows services to be customized and to seamlessly evolve. We present the design and implementation of a next generation router OS that can meet the above challenges. We define an orthogonal kernel abstraction of resource allocation, which can schedule various time-shared and space-shared resources with quality of service (QoS) differentiation and guarantees. A scalable and flexible packet classifier enables dynamic resource binding and per-flow processing of received packets. We have prototyped our system on a network of UltraSPARC and Pentium II computers. Currently, QoS-aware schedulers for CPU time, forwarding bandwidth, memory-store capacity, and capacity for secondary data stores have been integrated. We present experimental results on various aspects of resource management in our system.