Skip to content

An external adaption manager built in python for the SWIM framework based on non proactive self-adaptive learning

Notifications You must be signed in to change notification settings

divyanash911/External_Adaptation_Manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

External_Adaptation_Manager

An external adaption manager built in python for the SWIM framework of self adaptive learning. The current adaptation manager uses TCP communication to work with the SWIM docker container and simulate a network traffic of roughly 1 hours 45 minutes. The load balancer uses a simple approach for load balancing tackling two major conditions :

Overload :

When the average response time is higher than the threshold value (0.75 seconds in our case) , it tries to add a new server if the managed system can support another server. Otherwise it tries to reduce the dimmer value ie , reducing the probability of incorporating optional content in the respone packet.

Underload :

When the average response time is lower than the threshold value and the system has atleast one server with spare capacity it tries to increase the dimmer value ie increase the probability of including optional content in response packet. If their isn't enough spare utility available to increase optional content responses , it removes a server to reduce overhead on the number of servers in the managed system

MAPE-K Framework Implementation:

The adaptation manager implemented works on the MAPE - K framework where we use TCP communication to monitor data , we calculate average response times to analyze the the data , based on the calculated response times we decide to either add/remove the servers or increase/decrease dimmer value based on feasibility and optimality. The planned operations are then executed by the managing system on the managed system using TCP communication to relay the relevant commands to the managed system.

Obtained results

Taking the parameters as follows :

RT_THRESHOLD = 0.75
DIMMER_STEP = 0.1

Plot

Plot of the simulated network traffic using the adaptation manager implemented

References :

Paper on SWIM framework

SWIM Github repository

SWIM Docker container

About

An external adaption manager built in python for the SWIM framework based on non proactive self-adaptive learning

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages