| With the rapid development of the Internet,the existing Internet architecture has been unable to meet the growing diverse demand,for which the relevant scholars applied virtualization technology to network architectures,through network virtualization support multi-network system co-exist to solve the existing problems in single network system.Virtual router,as the key support of virtualization technology,has got a lot of attention and researched,in which deploy virtual router in the general-purpose multi-core platform,with its highly scalable,portable,programmable and high-performance characteristics,has become the focus of academic.For traffic isolation problems among multiple virtual routers in the general purpose multi-core platform,we propose an efficient traffic isolation scheduling framework.This framework is mainly composed of two parts,the packet transceiver module and traffic isolation module,wherein the packet transceiver module is responsible for the completion of the packet from the NICs direct access to the shared memory in an efficient manner in user level,traffic isolation scheduling module uses multiple scheduling engine to work together to complete traffic isolation between multiple virtual routers scheduling needs.The framework,using pure software way to achieve traffic isolation goal,not only avoid the difficult portability with hardware but also eliminates the overhead of additional resources with the system-level virtualization.There are three key points in the framework design and implementation process:First,our proposed framework is based on Click modular router,but Click is restricted with I/O mechanism in user level,which results in poor performance.Thus,we propose an optimized I/O mechanism for accelerating packet processing ability by using three technologies including poll mode,zero copy and packet prefetching.In addition,packet transceiver module provides multi-queue that allowing each traffic isolation scheduling module to receive/send packets from the sole queue,which can fundamentally avoid resource completion among several traffic isolation scheduling module..The experimental results show that packet processing ability in optimized I/O mechanism is 121 times than native ability.Secondly,dynamic traffic many result in low resource utilization in the platform,because of that when the maximum traffic’s need is met,low traffic will result in low resource utilization.Thus,we presents a traffic-aware scheduling engine adjust algorithm.The core idea of this algorithm is that the length of the buffer queue is changing follow the step of actual traffic and by measuring the buffer length we can determine the actual traffic rate to determine how and how many scheduling engines to adjust.As the experiment shows,the algorithm can improve overall system resource utilization,while meet the need of the traffic.Finally,through analysis and studies,we found that when using a token bucket approach to solve resource constraints,multiple schedule engines’ simultaneous accessing of the same token bucket will become the performance bottleneck of the system.This paper presents a self-adaptive token pre-allocation algorithm;the core idea of the algorithm is distinguish the token with pre-allocated token and shared token combination,using pre-assigned token increase the parallelism of the system,and using share token control accuracy.The simulation experiment shows that the algorithm can achieve efficiently increase the parallelism of the system and keep a high accuracy in resource constraints. |