1. RV College Of Engineering Software Rejuvenation
Dept Of Information Science Page 6
Chapter 2
SOFTWARE REQUIREMENT AND SPECIFICATION
2.1 Project Description
In this project, we implement six different modules of rejuvenation. These modules are on OS
VM and VMM. Here we implement Cold and Warm rejuvenation techniques for OS VM and
VMM. Each module consist of unique working method, which is explain below
2.2 Module Description
There are mainly six modules, they are: OS cold reboot, OS warm reboot, VM cold reboot, VM
warm reboot, VM migration, VMM reboot.
1. Module for OS Cold rejuvenation
In Cold OS reboot process, the system is rebooted immediately at rejuvenation point.
Rejuvenation point is a point where memory consumption of system reaches a threshold value or
predetermined time. When system consumes high amount of ram the OS must be rebooted,
clearing all internal states. Memory consumption may be done by applications or error prone
codes which run for long time consuming large amount of RAM or OS itself
In this process the memory left is compared to our pre-determined threshold value, if the
memory left is greater than the threshold value, the system is allowed to run in normal state i.e.
system have not reached the threshold point of consumption. If it is lesser i.e. the system have
consumed memory greater than the threshold point, then OS is restarted immediately
The amount of free memory left is extracted and compared with predetermined threshold free
memory value, on results of comparison obtained, further process is taken care.
2. RV College Of Engineering Software Rejuvenation
Dept Of Information Science Page 7
2. Module for OS warm rejuvenation
In OS warm reboot process, before rebooting the kernel state is saved, including all applications
running on kernel, their sates are saved .saving the kernel state is done by creating a complete
image of kernel.
OS reboot process is divided in two stages 1) Suspend, 2) Resume. In Suspend stage kernel is
called to create a snapshot of current system state later snapshot data is written to disk, finally
system is rebooted. In Resume stage, when the system is turned on, grub loader runs from initrd
before mounting any partitions, later all the data of snapshot is read from disk and loaded to
kernel, kernel restores the image and thus system runs from same state where it was suspended.
3 Module for VM cold reboot
In VM cold reboot process, the VM is rebooted immediately at rejuvenation point, hypervisor is
untouched. Rejuvenation point is a point where memory consumption of system reaches a
threshold value or predetermined time. When VM consumes high amount of ram the VM must
be rebooted, clearing all internal states. Memory consumption may be done by applications or
error prone codes which run for long time consuming large amount of RAM or OS itself
In this process the memory left is compared to our pre-determined threshold value, if the
memory left is greater than the threshold value, the system is allowed to run in normal state i.e.
System have not reached the threshold point of consumption. If it is lesser i.e. the system have
consumed memory greater than the threshold point, then rejuvenation time is optimized and
updated to predetermined time, when rejuvenation time is equal to system time then VM is
restarted immediately without saving any state of running VM.
4 module for VM warm reboot
3. RV College Of Engineering Software Rejuvenation
Dept Of Information Science Page 8
In VM warm reboot process, before rebooting the kernel state of particular failing VM is saved,
including all applications running on kernel, their sates are saved .saving the kernel state is done
by creating a complete image of kernel.
VM reboot process is divided in two stages 1) Suspend, 2) Resume. In Suspend stage kernel is
called to create a snapshot of current system state later snapshot data is written to disk, finally
system is rebooted. In Resume stage, when the system is turned on, grub loader runs from initrd
before mounting any partitions, later all the data of snapshot is read from disk and loaded to
kernel, kernel restores the image and thus system runs from same state where it was suspended.
Here this module provide decrease in request failures and high availability to the VM.
5 module for VMM reboot
In VMM cold reboot process, the VMM is rebooted immediately at rejuvenation point, all the
VM’s running on VMM are shut down before rebooting VMM. Rejuvenation point is a point
where memory consumption of system reaches a threshold value or predetermined time. When
VMM consumes high amount of ram the VMM must be rebooted, clearing all internal states.
Memory consumption may be done by applications or error prone codes which run for long time
consuming large amount of RAM.
In this process the memory left is compared to our pre-determined threshold value, if the
memory left is greater than the threshold value, the system is allowed to run in normal state i.e.
System have not reached the threshold point of consumption. If it is lesser i.e. the system have
consumed memory greater than the threshold point, then rejuvenation time is optimized and
updated to predetermined time, when rejuvenation time is equal to system time then VM is
restarted immediately without saving any state of running VM, If VMM memory consumption
reaches its peak point i.e. VMM tending to crash in soon time then VMM is restarted even if all
VM is running in normal state and no state, data is saved but user is given period of one minute
user can cancel the rebooting process or shutdown the VMM completely.
4. RV College Of Engineering Software Rejuvenation
Dept Of Information Science Page 9
6. Module for VM migration
In this module, VM from the failing server is transferred to preconfigured secondary server
before the VM tending to fail, the complete data and application running on the main server is
transferred to the secondary with no interruption for application running. When the complete VM
is transferred to another server and loaded, all the applications which were running in main
server will be in same state even after transferred with no loss of data of applications running. As
this is all done by configuring NFS for both servers and configuring virtual manager and virish
packages initially, applying this concept to our project software rejuvenation, when the server get
huge load of request or high memory is consumed which may lead to hang/crash or failure of the
system, when user set the rejuvenation time and threshold memory value, rejuvenation manager
checks for aging problem in system and if aging problem is detected then the rejuvenation timke
predetermined by user is optimized and system is rejuvenated at rejuvenation time, here for
rejuvenation we use migration technique to migrate the VM running and reboot the server, hence
we provide high availability and decrease in request failure.
2.3 Software requirements:
Table 2.1 Software requirements
Minimum Requirements
Operating
System
Cent OS
Ubuntu OS
Other JDK must be installed to run java codes
KVM/QEMU must be installed on both the servers.
NFS must be configured on both the system to migrate the VM
Note: KVM is a hypervisor or Virtual Machine Monitor, NFS (Network
File System) is distributed file system protocol.
5. RV College Of Engineering Software Rejuvenation
Dept Of Information Science Page 10
2.4 Hardware Requirements:
Table 2.2: Hardware Requirements
Minimum Requirements
Processor
Intel Pentium or better
Memory
2 GB RAM
Hard Disk
100 GB of hard disk space required.
Display
1024x 768 or higher-resolution display with 16 bits colors
2.5 Performance Requirements:
Availability
The system shall achieve 100 percent availability at all time.
Portability
The system should be implemented by the java so it can move easily from one system another
system because it is purely platform independent.
Scalability
The system shall uses in multiple approaches.
Maintainability
The system should be optimize for supportability, or ease of maintenance as for as possible. This
may be achieved through the use documentation of coding standard, naming conventions, class
libraries and abstraction.
Language C, JAVA.
6. RV College Of Engineering Software Rejuvenation
Dept Of Information Science Page 11
2.7 Functional requirements:
As per the functional requirement specifications, the project shall provide following facilities
The system collects the current status of the workload based on the RAM utilized by the
running application.
Check the aging factor which degrades the availability to application. If any aging factor
detected then it will notify.
The system collects the status of the system periodically.
This system keeps track of the system time and it is compared with fixed rejuvenation
schedule. If the tracking time is equal to fixed rejuvenation schedule then the system
rejuvenated.
This system stores the current status of the process; it is useful to again resume the
processor after system rejuvenation takes place.