Improving (pre-copy) Algorithm in Terms of Time and Productivity - Ahmad, Ahmad Saker; Khalil, Haider (Latakia University Journal -Engineering Sciences Series, 2020)
Live migration is one of the most important features offered by virtual environments. It is defined as the transfer of the virtual machine from one physical server to another server without interrupting the service of the applications on which it operates. The pre-copy algorithm is one of the most important algorithms that implement live migration. Where the principle of this algorithm depends on the repeated transfer of the dirty page during the live migration between the source and the target, so that the frequency stops at a certain threshold. The large change in the memory pages will increase the number of pages sent over the network, increasing the total amount of transmitted memory, thus increasing the network consumption rate, total migration time and downtime, which are the basic criteria for evaluating performance during the implementation of live migration .This algorithm has a problem (page re-send problem), which is to move the same pages repeatedly in each itration, which increases the amount of data sent over the network and increases the total time of migration of the beard, which increases the total number of pages transferred memory much more than the actual size For memory which greatly increases the load on the network. The purpose of this research was to improve the total time of live migration and improve network throughput through the development of the pre-copy algorithm. The modified algorithm lingers before sending variable pages, categorizing these pages into two groups, sending pages that change slightly in the current itration, and highly variable pages are postponed to the last itration, after setting a threshold that defines each group. Keeping pages that change frequently until the last occurrence reduces the unnecessary transfer of the same pages and reduces the total number of pages transferred and thus reduces the total time of live migration compared to the previous algorithm We performed experiments using Centos 7 and XEN-type hypervisor and to analyze the results we used the NMON Performance Analyzer. تعتبر الهجرة الحيَة (live migration) من أهم السمات التي تقدمها البيئات الإفتراضية، وتعرَف على أنها عملية نقل الآلة الإفتراضية من مخدم فيزيائي إلى مخدم فيزيائي آخر دون انقطاع لخدمة التطبيقات التي تعمل عليها، و بزمن توقف صغير جدا يقترب من الصفر. إن خوارزمية النسخ المسبق (pre-copy ) هي أول و أهم الخوارزميات التي تنفذ الهجرة الحية ،حيث يعتمد مبدأ عمل هذه الخوارزمية على النقل المتكرر لصفحات الذاكرة المتغيرة (dirty page) أثناء تطبيق الهجرة الحية بين المصدر و الهدف، بحيث يتوقف التكرار عند عتبة معينة . إن التغير الكبير في صفحات الذاكرة سوف يزيد من عدد الصفحات المرسلة عبر الشبكة مما يزيد من حجم الذاكرة الكلي المنقول، وبالتالي سيزداد معدل استهلاك الشبكة و الزمن الكلي للهجرة و زمن التوقف. تعاني هذه الخوارزمية من مشكلة (page re-send problem)، و هي نقل الصفحات نفسها مرارا في كل دور مما يزيد من كمية البيانات المرسلة عبر الشبكة و بالتالي يزداد الزمن الكلي للهجرة للحية و يصبح مجموع صفحات الذاكرة المنقولة أكبر بكثير من الحجم الفعلي للذاكرة مما يزيد الحمل بشكل كبير على الشبكة . لذلك كان الغرض من هذا البحث تحسين الزمن الكلي للهجرة الحية و تحسين انتاجية الشبكة (throughput ) من خلال تطوير خوارزمية النسخ المسبق ،حيث تقوم الخوارزمية المعدلة بالتريث قبل إرسال الصفحات المتغيرة، و تصنيف هذه الصفحات في مجموعتين و ارسال الصفحات التي تتغير بشكل قليل في الدور الحالي و الصفحات المتغيرة بشكل كبير يتم تأجيل إرسالها الى الدور الأخير، و ذلك بعد تحديد عتبة تحدد كل مجموعة. يؤدي الاحتفاظ بالصفحات التي تتغير بشكل متكرر حتى آخر تكرار إلى تقليل النقل غير الضروري لنفس الصفحات و تقليل العدد الكلي للصفحات المنقولة و بالتالي تقليل الزمن الكلي للهجرة الحية مقارنة مع الخوارزمية السابقة. قمنا بتنفيذ التجارب باستخدام نظام التشغيل Centos 7 و hypervisor من نوع XEN و لتحليل النتائج استخدمنا محلل الأداء NMON .أظهرت النتائج أن الخوارزمية المعدلة قد حسنت من الزمن الكلي للهجرة الحية كما حسنت من معدل استهلاك الشبكة.