COLO - Coarse Grain Lock Stepping: Difference between revisions
Lars.kurth (talk | contribs) No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
COLO or Coarse Grain Lock Stepping is an High Availability solution that builds on top of [[Remus]]. It is one of the features that is tracked in the [http://lists.xenproject.org/archives/html/xen-devel/2014-06/msg02597.html Xen 4.5 Development Update]. |
COLO or Coarse Grain Lock Stepping is an High Availability solution that builds on top of [[Remus]]. It is one of the features that is tracked in the [http://lists.xenproject.org/archives/html/xen-devel/2014-06/msg02597.html Xen 4.5 Development Update]. |
||
= Background = |
|||
COLO FT/HA (COarse-grain LOck-stepping Virtual Machines for Non-stop Service) project is a high availability solution. Both primary VM (PVM) and secondary VM (SVM) run in parallel. They receive the same request from client, and generate response in parallel too. If the response packets from PVM and SVM are identical, they are released immediately. Otherwise, a VM checkpoint (on demand) is conducted. The idea is presented in Xen summit 2012, and 2013, and [http://www.linux-kvm.org/wiki/images/1/1d/Kvm-forum-2013-COLO.pdf academia paper in SOCC 2013]. |
|||
= Components = |
|||
* COLO Manager: |
|||
** COLO Controller - Modifications of save/restore flow (based on Remus). |
|||
** COLO Disk Manager - When primary VM writes data into image, the colo disk manger captures this data<br> |
|||
:: and send it to secondary VM’s which makes sure the context of secondary VM's image is consentient with<br> |
|||
:: the ontext of primary VM 's image. |
|||
* COLO Agent |
|||
: We need an agent to compare the packets returned by Primary VM and Secondary VM<br> |
|||
: and decide whether to start a checkpoint according to some rules. It is a linux kernel module<br> |
|||
: for host. |
|||
= Current Status = |
|||
COLO (based on xm) has already been in development for over three years. A paper has come out at 2013. Since XEN has deprecated xm and turn to xl, we are implementing COLO on xl now. |
|||
The overall status of COLO: |
|||
* COLO Manager([https://github.com/wencongyang/xen/tree/colo-v4 View on Github]): |
|||
** COLO Controller (Under review) |
|||
** COLO Disk Manager (Under review) |
|||
* COLO Agent ([https://github.com/wencongyang/colo-agent View on Github]) |
|||
= Host Requirements = |
|||
= Guest Requirements = |
|||
= Links = |
|||
For more information see: |
For more information see: |
Revision as of 16:03, 1 December 2014
COLO or Coarse Grain Lock Stepping is an High Availability solution that builds on top of Remus. It is one of the features that is tracked in the Xen 4.5 Development Update.
Background
COLO FT/HA (COarse-grain LOck-stepping Virtual Machines for Non-stop Service) project is a high availability solution. Both primary VM (PVM) and secondary VM (SVM) run in parallel. They receive the same request from client, and generate response in parallel too. If the response packets from PVM and SVM are identical, they are released immediately. Otherwise, a VM checkpoint (on demand) is conducted. The idea is presented in Xen summit 2012, and 2013, and academia paper in SOCC 2013.
Components
- COLO Manager:
- COLO Controller - Modifications of save/restore flow (based on Remus).
- COLO Disk Manager - When primary VM writes data into image, the colo disk manger captures this data
- and send it to secondary VM’s which makes sure the context of secondary VM's image is consentient with
- the ontext of primary VM 's image.
- and send it to secondary VM’s which makes sure the context of secondary VM's image is consentient with
- COLO Agent
- We need an agent to compare the packets returned by Primary VM and Secondary VM
- and decide whether to start a checkpoint according to some rules. It is a linux kernel module
- for host.
Current Status
COLO (based on xm) has already been in development for over three years. A paper has come out at 2013. Since XEN has deprecated xm and turn to xl, we are implementing COLO on xl now. The overall status of COLO:
- COLO Manager(View on Github):
- COLO Controller (Under review)
- COLO Disk Manager (Under review)
- COLO Agent (View on Github)
Host Requirements
Guest Requirements
Links
For more information see: