In current virtual machine design approaches, two schemes are popularly used by “modern virtual machine memory managers”: shadow paging (SP) and hardware-assisted paging (HAP). Since both schemes perform well, dynamically switching between them is often preferred. The switching between these two modes, which is often done manually, is summarized specifically for a particular architecture. However, the study presented here takes a new machine learning approach that makes decisions automatically and adapts to different systems. The transfer learning adaptive boosting method was adapted for this particular research. The authors use SPEC CPU2006 integer and floating-point benchmarks on three different architectures--Intel i5 760 processor, Intel i7 920 processor, and AMD A8-3850 processor--to prove their learning approach.
For the training dataset, they collected input for the support vector machine (SVM): “[translation lookaside buffer,TLB] miss count and page fault count, the number of instructions retired, and historical data such as average TLB miss and page fault count in the past three intervals.” When the decision model has been learned based on the data collected, it will be “embedded into the dynamic switching” of SP and HAP “in such a way as to minimize additional overhead.” This automated machine learning approach is compared with the hand-tuned manual model.
The benchmark program gcc with SP showed a 40 percent performance improvement. For all other benchmarks, it showed about five percent improvement. For such a training dataset collection, one disadvantage is the training process, which is time consuming and may be impractical for a new machine in a data center environment. Even though machine learning based on an adaptive switching mechanism is more competitive compared to the hand-tuned switching mechanism, this study takes an entirely new automatic switching approach. It presents the feasibility of the machine learning approach and the automatic switching approach. In the future, this approach could gain importance even in a large-scale data center environment.
The authors should have presented more reasons for the SP approach doing better than the HAP approach. The performance improvement for gcc is about 40 percent, whereas the other benchmarks show only five percent. What are some reasons for greater performance when gcc is run? Why does dataset training take more time in this approach? Is there any way to reduce this time in the future? The authors could have discussed the possibility of reducing this cost in the future, as well as the methods to reduce it.