Skip to Main Content
The multi-core processors are being widely exploited by many high-end systems and leveraging throughput and scalability. Due to the availability of boosting many concurrent processes, not only the parallel programs but also network server programs can benefit tremendously from multi-core processors. In spite of many researches, modern operating systems still have significant design and optimization space to leverage the network performance over multi-core systems. One of challenging issues is the multi-core aware process scheduling over multiple network interfaces. Multiple network interfaces can provide cost-effective high network bandwidth and high availability. In such systems, it is desirable to adapt the dynamic network loads and manage the system resources efficiently. In this paper, we suggest a novel networking process scheduling scheme called MiAMI for multi-core systems with multiple network interfaces. MiAMI decides an optimal processor affinity based on the processor cache layout, communication intensiveness, and processor loads. The experimental results present that MiAMI implemented in the Linux kernel can improve the effectiveness of processor utilization more than 60% on both Intel SMP and AMD NUMA servers. We also show that, in dynamic application scenarios, MiAMI can improve the network bandwidth and responsiveness more than 30% with less processor resources.