GS-LinkHQ
is a reinforcement learning based agent that generates policy for both computation offloading and distributed caching in the GEdge-Platform
. The policy supports horizontal (between cloud edge and neighbor cloud edge) and vertical (between cloud edge and core cloud) collaboration.
- Providing offloading service developers (or service providers) with edge resource allocation policies and capabilities required to implement policies for offloading service development
- Supporting offloading service provisioning: Optimized resource allocation
- Resource allocation policy
- Where to deploy
- How to deploy
- Collaborative deployment or Noncollaborative deployment
- Horizontal, vertical and horizontal + vertical collaboration
- Policy provide point
- Service development point
- When quality of service decreases → When scale out or scale up
- Choosing load balancing method
The information considered to decide the policy is as follows.
- Offloading service definition
- CPU specification
- GPU usage and specification
- Storage/cache specification
- Service properties (network delay sensitive, availability sensitive, etc.)
- Cloud-edge (include neighbor edge's information) system resource status information
- CPU usage
- GPU usage
- Storage/cache usage
- Deployed offloading services quality
GS-LinkHQ consists of three components
vedge
: Develop proposed methods first with simulator- Collaborative multi-cluster environment
- Include resource map, network performance map, and offloading service(task) definition
agent
: Reinforcement learning agent developed with the above two projects- Real-world (
GEdge-Platform
) environment
- Real-world (
Each componets communicates through RESTful API
- Nvidia Docker
- Docker compose
git clone https://github.com/gedge-platform/gs-linkhq.git
# docker-compose.yml
version: "3.9"
services:
...
agent:
...
environment:
ENV_ADDRESS: vedge
ENV_PORT: 80
LOG_LEVEL: ${LOG_LEVEL:-INFO}
MEM_CAPACITY: 100000
BATCH_SIZE: 1000
GAMMA: 0.99
EPS_START: 0.9
EPS_END: 0.00001
EPS_DECAY: 20000
TAU: 0.005
LR: 0.0001
...
docker compose up --build
cd srv
docker build --tag linkhq:4.0 .
docker run -p 80:80 linkhq:4.0