The advanced programmability and high level of parallelism can turn commodity servers into powerful and extensible packet processing platforms. A commodity server can consolidate multiple processing functions, performing the role of a multiple-purpose "software middlebox". To this end, the knowledge of the workloads' computational requirements is a prerequisite for efficient resource utilization and admission control. Workload computational requirements can vary depending on packet I/O techniques and optimizations, and therefore, previously reported CPU cycle measurements may not be applicable to packet processing systems where a different I/O technique is exercised. In this paper, we discuss the implications and challenges arising from workload profiling on commodity servers. We exemplify a technique that circumvents the difficulty of profiling packet processing workloads. Applying this technique to our packet processing platform, we gauge the computational requirements of selected workloads and corroborate the effect of various I/O optimizations on workload CPU utilization.
展开▼