Font Size: a A A

Multi-version Execution For The Dynamic Updating Of Cloud Applications

Posted on:2016-10-18Degree:MasterType:Thesis
Country:ChinaCandidate:F ChenFull Text:PDF
GTID:2348330479953424Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
Softwares usually need to be updated to fix bugs or add new features. O n the other hand, some critical softwares, such as cloud app lications, 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 problem.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. Considering the security of updating, We implement a prototype system called MUC(Multi- vesion for Updating of C loud) on Linux according to DSU via multi- version execution. Additionally, we analyzed the key technology of MUC including stack copying, dynamic software updating and synchronization on system call level. To verify our prototype, we apply MUC to three cloud applications, Redis, Memcached and Icecast, and evaluate the overhead of MUC at runtime. The expirenment shows that MUC can solve the inconsistency problem of dynamically updating cloud applications, and MUC introduces some performance overhead at the same time, Howerver, MUC has spaces to be optimized in terms of performance.
Keywords/Search Tags:Dynamic software updating, multi-version, cloud application
PDF Full Text Request
Related items