CoMPeL is a framework which Monitors resource utilization of a container, predicts resource utilization and does live migration of containers to achieve efficient resource utilization.This repository consists of live migration modules.
- Configuration to switch migration on and off
- Verify if migration was a correct decision by using timestamp to check if migration would have been done if actual data was given to the migration module.
- Configuration to use number of minimum decisions before migration happens for all metrics [cpu,memory]
- Choose max,avg value of the datapoints to consider to decide migration
- Chooses a candidate for migration and performs further checks - if System already in migration , avoid FalsePositives, Avoid Migration Thrashing.
- Chooses only one candidate for migration and performs the checks..This limitation decreases the complexity that might occur due to parallelism.
{
Timestamp
{
AgentIP{
ContainerID{
PredictedData{
CPU[]
Memory[]
}
}
}
}
}{
SourceAgentIP
ContainerID
DestinationAgentIP
}- Use counter to track decisions of each Metric(Memory or CPU ) before minimum decisions for CPU [Default 3 ] or Memory [Default 1]
- Use Timestamp similar to datafetcher for that timestamp would be required to fetch actual data for accuracy test (Whether it was correct decision to Migrate) - On demand check validity a. ValidChecker() -> returns ActualMetricDecision for both CPU,Memory and PredictedMetricDecision for both CPU,Memory
- Store log of Migration details - Timestamp + PredictedData saved for later retrieval and debugging