Skip to content

Commit

Permalink
completed and tested timed containers with the real-world setup
Browse files Browse the repository at this point in the history
  • Loading branch information
saeid93 committed Apr 6, 2023
1 parent 56da408 commit 62114a1
Show file tree
Hide file tree
Showing 10 changed files with 32 additions and 24 deletions.
10 changes: 8 additions & 2 deletions Dockerfiles/service/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,12 @@
SUCCESS_MESSAGE = "Resources allocated successfully"
app = Flask(__name__)


DURATION = int(os.environ['DURATION'])
logging.info(f'DURATION set to: {DURATION}')



def stop_server():
print('Stopping Flask app...')
# Send a SIGTERM signal to the current process
Expand All @@ -35,7 +41,7 @@ def index():

try:

logging.info("received new configuration from sdghafouri/utilization-server-smart-scheduler: {}".format(
logging.info("received new configuration from sdghafoLIFETIMEuri/utilization-server-smart-scheduler: {}".format(
request.form
))

Expand Down Expand Up @@ -86,7 +92,7 @@ def index():
# logging.info('running stress-ng: "{}"'.format(command))
# os.system(command)

timer = threading.Timer(10, stop_server)
timer = threading.Timer(DURATION, stop_server)
timer.start()

# logging.info("serving 'app' on port {}".format(PORT))
Expand Down
2 changes: 1 addition & 1 deletion docs/docker-server-setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
open cv and dm_tree, solution -> wait for opencv and upgrade pip for dm_tree
4. error 2
```
>>> import ray.rllib.agents.pg as pg
>>> import ray.rllib.algorithms.pg as pg
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/homes/sg324/python-envs/development/lib/python3.8/site-packages/ray/rllib/__init__.py", line 5, in <module>
Expand Down
2 changes: 1 addition & 1 deletion docs/problems/eecs-server-setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
open cv and dm_tree, solution -> wait for opencv and upgrade pip for dm_tree
4. error 2
```
>>> import ray.rllib.agents.pg as pg
>>> import ray.rllib.algorithms.pg as pg
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/homes/sg324/python-envs/development/lib/python3.8/site-packages/ray/rllib/__init__.py", line 5, in <module>
Expand Down
10 changes: 5 additions & 5 deletions experiments/analysis/check_learned.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@
from ray.rllib.utils.framework import try_import_torch
import pprint
import gym
import ray.rllib.agents.ppo as ppo
import ray.rllib.agents.a3c as a3c
import ray.rllib.agents.impala as impala
import ray.rllib.agents.pg as pg
import ray.rllib.agents.dqn as dqn
import ray.rllib.algorithms.ppo as ppo
import ray.rllib.algorithms.a3c as a3c
import ray.rllib.algorithms.impala as impala
import ray.rllib.algorithms.pg as pg
import ray.rllib.algorithms.dqn as dqn
from pprint import PrettyPrinter
pp = PrettyPrinter(indent=4)
from copy import deepcopy
Expand Down
10 changes: 5 additions & 5 deletions experiments/analysis/test_rls-debug.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@
from ray.rllib.utils.framework import try_import_torch
import pprint
import gym
import ray.rllib.agents.ppo as ppo
import ray.rllib.agents.impala as impala
import ray.rllib.agents.a3c as a3c
import ray.rllib.agents.pg as pg
import ray.rllib.agents.dqn as dqn
import ray.rllib.algorithms.ppo as ppo
import ray.rllib.algorithms.impala as impala
import ray.rllib.algorithms.a3c as a3c
import ray.rllib.algorithms.pg as pg
import ray.rllib.algorithms.dqn as dqn
import pandas as pd
from pprint import PrettyPrinter
pp = PrettyPrinter(indent=4)
Expand Down
12 changes: 6 additions & 6 deletions experiments/analysis/test_rls.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@
from ray.rllib.utils.framework import try_import_torch
import pprint
import gym
import ray.rllib.agents.ppo as ppo
import ray.rllib.agents.impala as impala
import ray.rllib.agents.a3c as a3c
import ray.rllib.agents.pg as pg
import ray.rllib.agents.dqn as dqn
import ray.rllib.algorithms.ppo as ppo
import ray.rllib.algorithms.impala as impala
import ray.rllib.algorithms.a3c as a3c
import ray.rllib.algorithms.pg as pg
import ray.rllib.algorithms.dqn as dqn
import pandas as pd
from pprint import PrettyPrinter
pp = PrettyPrinter(indent=4)
Expand Down Expand Up @@ -308,7 +308,7 @@ def fix_grid_searches(
@click.option('--train-series', required=True, type=int, default=121)
@click.option('--type-env', required=True,
type=click.Choice(['sim-scheduler', 'kube-scheduler']),
default='sim-scheduler')
default='kube-scheduler')
@click.option('--cluster-id', required=True, type=int, default=19)
@click.option('--workload-id', required=True, type=int, default=0)
@click.option('--experiment-id', required=True, type=int, default=0)
Expand Down
2 changes: 1 addition & 1 deletion experiments/utils/callbacks.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from packaging import version
from tabulate import tabulate
if version.parse(ray.__version__) < version.parse('1.9.0'):
from ray.rllib.agents.callbacks import DefaultCallbacks
from ray.rllib.algorithms.callbacks import DefaultCallbacks
else:
from ray.rllib.algorithms.callbacks import DefaultCallbacks
from ray.rllib.env import BaseEnv
Expand Down
2 changes: 1 addition & 1 deletion experiments/utils/callbacks_update.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from packaging import version
from tabulate import tabulate
if version.parse(ray.__version__) < version.parse('1.9.0'):
from ray.rllib.agents.callbacks import DefaultCallbacks
from ray.rllib.algorithms.callbacks import DefaultCallbacks
else:
from ray.rllib.algorithms.callbacks import DefaultCallbacks
from ray.rllib.env import BaseEnv
Expand Down
Binary file modified rewards-23.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -411,7 +411,8 @@ def schedule(self, service_id: int, node_id: int) -> bool:
if schedule_success:
self.schedule_on_kube(
service=self.pending_services[service_index],
node=self.kube_nodes[node_id])
node=self.kube_nodes[node_id],
duration=self.pending_services[service_index].duration)
self.pending_services.pop(service_index)
# return true if successful
return schedule_success
Expand Down Expand Up @@ -578,7 +579,7 @@ def done(self):
return False


def schedule_on_kube(self, service: Service, node: KubeNode):
def schedule_on_kube(self, service: Service, node: KubeNode, duration: int):
# TODO add scheduling success
pod = construct_pod(
name=service.service_name,
Expand All @@ -589,6 +590,7 @@ def schedule_on_kube(self, service: Service, node: KubeNode):
service.requests[0]),
limit_cpu="{}".format(
service.requests[1]),
env={'DURATION': str(duration)}
)

svc = construct_svc(
Expand Down

0 comments on commit 62114a1

Please sign in to comment.