Changes

Add OpenVZ intro table
Line 28: Line 28:  
! DMTCP
 
! DMTCP
 
! BLCR
 
! BLCR
 +
! OpenVZ
    
|-
 
|-
Line 34: Line 35:  
| x86, x86_64, ARM
 
| x86, x86_64, ARM
 
| x86, x86_64, PPC/PPC64, ARM
 
| x86, x86_64, PPC/PPC64, ARM
 +
| x86, x86_64
    
|-
 
|-
 
| OS
 
| OS
 +
| Linux
 
| Linux
 
| Linux
 
| Linux
 
| Linux
Line 46: Line 49:  
| No
 
| No
 
| No, just need to load module. May be problems with installation on new kernels
 
| No, just need to load module. May be problems with installation on new kernels
 +
| Yes
    
|-
 
|-
Line 52: Line 56:  
| Yes
 
| Yes
 
| Yes
 
| Yes
 +
| No
    
|-
 
|-
Line 58: Line 63:  
| No
 
| No
 
| No
 
| No
 +
| Yes
    
|-
 
|-
Line 64: Line 70:  
| No
 
| No
 
| Yes. There are some difficulties with statically linked applications, and with LinuxThreads (it does not support them at all)
 
| Yes. There are some difficulties with statically linked applications, and with LinuxThreads (it does not support them at all)
 +
| No
      Line 71: Line 78:  
| Yes. It preloadsthe DMTCP library. That library runs before the routinemain(). It creates a second thread. Thecheckpoint thread then creates a socket to the DMTCP coordinator andregisters itself. The checkpoint thread also creates a signal handler.
 
| Yes. It preloadsthe DMTCP library. That library runs before the routinemain(). It creates a second thread. Thecheckpoint thread then creates a socket to the DMTCP coordinator andregisters itself. The checkpoint thread also creates a signal handler.
 
| Yes. CR shall notify processes when a checkpoint is to occur (before the kernel takes a checkpoint) to allow the processes to prepare itself accordingly.
 
| Yes. CR shall notify processes when a checkpoint is to occur (before the kernel takes a checkpoint) to allow the processes to prepare itself accordingly.
 +
| No
      Line 78: Line 86:  
| Yes, because of wrappers on system calls
 
| Yes, because of wrappers on system calls
 
| Yes, because of wrappers on system calls
 
| Yes, because of wrappers on system calls
 +
| No
    
|-
 
|-
Line 84: Line 93:  
| Yes, if both kernels are recent
 
| Yes, if both kernels are recent
 
| Yes, but if all components are the same. Even if prelinked addresses are different,it will not restore, but it can save the whole used libs and localization files to restore program on the different machine
 
| Yes, but if all components are the same. Even if prelinked addresses are different,it will not restore, but it can save the whole used libs and localization files to restore program on the different machine
 +
| Yes
    
|-
 
|-
Line 90: Line 100:  
| No. It doesn't support namespaces, so it probably can’t dump containers  
 
| No. It doesn't support namespaces, so it probably can’t dump containers  
 
| Looks like no
 
| Looks like no
 +
| Yes
    
|-
 
|-
Line 96: Line 107:  
| Yes. OpenMPI, MPICH2, OpenMP, Cilk are alredy supported and Infiniband is in progress
 
| Yes. OpenMPI, MPICH2, OpenMP, Cilk are alredy supported and Infiniband is in progress
 
| Yes. Cray MPI, Intel MPI, LAM/MPI, MPICH-V, MPICH2, MVAPICH, Open MPI, SGI MPT
 
| Yes. Cray MPI, Intel MPI, LAM/MPI, MPICH-V, MPICH2, MVAPICH, Open MPI, SGI MPT
 +
| Yes
    
|-
 
|-
Line 102: Line 114:  
| Yes
 
| Yes
 
| No
 
| No
 +
| Yes
    
|-
 
|-
Line 108: Line 121:  
| Yes, by using vnc
 
| Yes, by using vnc
 
| Looks like no
 
| Looks like no
 +
| Yes, by using vnc
      Line 115: Line 129:  
| Yes. Plugins and API
 
| Yes. Plugins and API
 
| Not yet
 
| Not yet
 +
| Yes. via ioctl calls
    
|-
 
|-
Line 124: Line 139:  
| Yes
 
| Yes
 
| No
 
| No
 +
| Yes
    
|-
 
|-
Line 130: Line 146:  
| Not yet. Developers of dmtcp had no request for this
 
| Not yet. Developers of dmtcp had no request for this
 
| Not yet
 
| Not yet
 +
| Yes
    
|-
 
|-
Line 136: Line 153:  
| Yes
 
| Yes
 
| Not yet
 
| Not yet
 +
| Yes
    
|-
 
|-
Line 142: Line 160:  
| No, but you can write a simple DMTCP plugin that tells DMTCP how you want to reconnect on restart
 
| No, but you can write a simple DMTCP plugin that tells DMTCP how you want to reconnect on restart
 
| No
 
| No
 +
| Yes
    
|-
 
|-
Line 147: Line 166:  
| No
 
| No
 
| Not yet, developing is on the half-way
 
| Not yet, developing is on the half-way
 +
| No
 
| No
 
| No
    
|-
 
|-
 
| Multithread support
 
| Multithread support
 +
| Yes
 
| Yes
 
| Yes
 
| Yes
 
| Yes
Line 157: Line 178:  
|-
 
|-
 
| Multiprocess
 
| Multiprocess
 +
| Yes
 
| Yes
 
| Yes
 
| Yes
 
| Yes
Line 166: Line 188:  
| Yes
 
| Yes
 
| Not yet
 
| Not yet
 +
| Yes
    
|-
 
|-
Line 172: Line 195:  
| No
 
| No
 
| No
 
| No
 +
| Yes
    
|-
 
|-
Line 178: Line 202:  
| No
 
| No
 
| No
 
| No
 +
| Yes
    
|-
 
|-
Line 184: Line 209:  
| Yes
 
| Yes
 
| No
 
| No
 +
| Yes
    
|-
 
|-
Line 190: Line 216:  
| Yes
 
| Yes
 
| No
 
| No
 +
| Yes
    
|-
 
|-
Line 196: Line 223:  
| Yes
 
| Yes
 
| Yes, partially  
 
| Yes, partially  
 +
| Yes
    
|-
 
|-
Line 202: Line 230:  
| Yes
 
| Yes
 
| Not yet
 
| Not yet
 +
| Yes
    
|-
 
|-
 
| Terminals
 
| Terminals
 
| Yes, but only Unix98 PTYs
 
| Yes, but only Unix98 PTYs
 +
| Yes
 
| Yes
 
| Yes
 
| Yes
 
| Yes
Line 214: Line 244:  
| Yes, epoll, eventfd, signalfd are already supported and inotify will be supported in future
 
| Yes, epoll, eventfd, signalfd are already supported and inotify will be supported in future
 
| Looks like no
 
| Looks like no
 +
| Yes
    
|-
 
|-
Line 219: Line 250:  
| Yes
 
| Yes
 
| No. Any counter or timer active since the beginning of a process will consider the restarted process to be a new process.
 
| No. Any counter or timer active since the beginning of a process will consider the restarted process to be a new process.
 +
| Yes
 
| Yes
 
| Yes
   Line 226: Line 258:  
| Yes. System V shared memory(shmget, etc.), mmap-based shared memory, shared sockets, pipes, file descriptors
 
| Yes. System V shared memory(shmget, etc.), mmap-based shared memory, shared sockets, pipes, file descriptors
 
| No, but it is planned to suppord shared mmap regions
 
| No, but it is planned to suppord shared mmap regions
 +
| Yes
    
|-
 
|-
Line 231: Line 264:  
| No
 
| No
 
| Looks like yes
 
| Looks like yes
 +
| No
 
| No
 
| No
   Line 239: Line 273:  
| Yes, looks like null and zero are supported
 
| Yes, looks like null and zero are supported
 
| Yes, /dev/null and /dev/zero
 
| Yes, /dev/null and /dev/zero
 +
| Yes
    
|-
 
|-
Line 245: Line 280:  
| Looks like no
 
| Looks like no
 
| Not yet
 
| Not yet
 +
| Yes
    
|}
 
|}