Title :
Multi-version Execution for the Dynamic Updating of Cloud Applications
Author :
Feng Chen;Weizhong Qiang;Hai Jin;Deqing Zou;Duoqiang Wang
Author_Institution :
Services Comput. Technol. &
fDate :
7/1/2015 12:00:00 AM
Abstract :
Softwares usually need to be updated to fix bugs or add new features. On the other hand, some critical softwares, such as cloud applications, need to provide service continuously, thus should be updated without downtime. Conventional Dynamic Software Updating (DSU) systems try to update programs while running, but they hardly consider the communication of the program to be updated with other programs, which may lead to some inconsistency problems. We handle the problem with an improved DSU system by using multi-version execution. When a new update arrives, instead of updating the application to the new version, we fork a new process of the old version and dynamically update it to the new version, then make these two versions run concurrently until the update finishes. We implement a prototype system called MUC (Multi-vesion for Updating of Cloud) on Linux. To verify our prototype, we apply MUC to cloud applications Redis and Ice cast, and evaluate the overhead of MUC at runtime.
Keywords :
"Servers","Software","Synchronization","Prototypes","Linux","Analytical models","Process control"
Conference_Titel :
Computer Software and Applications Conference (COMPSAC), 2015 IEEE 39th Annual
Electronic_ISBN :
0730-3157
DOI :
10.1109/COMPSAC.2015.130