GithubHelp home page GithubHelp logo

imperial-qore / cosco Goto Github PK

View Code? Open in Web Editor NEW
75.0 7.0 44.0 145.83 MB

[TPDS'21] COSCO: Container Orchestration using Co-Simulation and Gradient Based Optimization for Fog Computing Environments

License: BSD 3-Clause "New" or "Revised" License

Python 95.29% Shell 1.67% PowerShell 0.28% Dockerfile 1.07% HTML 1.68%
simulation container-orchestration edge-computing cloud-computing iot-platform

cosco's People

Contributors

dependabot[bot] avatar shreshthtuli avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

cosco's Issues

How to set VMs in Vagrant

Hi, Tuli.
Thank you so much for this wonderful code!
I read the wiki, for the Vagrant, however, I did not find the method of setting VMs in Vagrant.
when i run
python main.py -e Vagrant -m 0
it seems stopped here
resp = requests.get("http://"+IP+":8081/request", data=json.dumps(payload))
i have no idea about 8081.
I wonder if I miss some tutoril about how to set VMs in vagrant
thank you very much if any advance!!!

Why metrics['slaviolations'] can only be 1?

Thanks a lot for your open source code. I have some doubts. I found that metrics['slaviolations'] = len(np.where([c.destroyAt > c.sla for c in destroyed])) in the stats.py file. No matter how many c.destroyAt > c.sla, this metrics['slaviolations'] can only be 1 each time. Is this correct?Hope to hear from you, thank you very much.

AttributeError

hello,When I ran the code, the following problem, how to solve it, thanks for the reply.
Traceback (most recent call last):
File "D:\edgedownload\COSCO-workflow\main.py", line 233, in
datacenter, workload, scheduler, env, stats = initalizeEnvironment(env, logger)
File "D:\edgedownload\COSCO-workflow\main.py", line 134, in initalizeEnvironment
decision = scheduler.placement(deployed) # Decide placement using container ids
File "D:\edgedownload\COSCO-workflow\scheduler\MCDS.py", line 41, in placement
decision = self.run_MCSearch(containerIDs)
File "D:\edgedownload\COSCO-workflow\scheduler\MCDS.py", line 23, in run_MCSearch
apps, edges = self.env.stats.formGraph()
AttributeError: 'Stats' object has no attribute 'formGraph'

Deadline for the Task can be add in the simulator

Hi Team,
Could you please advise me if there is any possibility of adding the deadline for the task or workload SWSD(Workload) or Task() class file where I need to change the modification to make the simulator work

Problem Running the project on gitpod

Hi there,
great job though.

Recently I got to know this project and I was trying to set it up and test it in the gitpod, but when I try to run the main.py, it thoughts some exception to me. like this screemshot:
image

I haven't changed anything after starting a workspace on gitpod so I don't think I have messed up anything.
Can you please help me with this?

Workload description

Could you please help me to know how the scheduling time for each application is defined in the COSCO simulator. I checked the Bitbrains and Azur workload datasets as well where the scheduling time and end time are not defined. Also, could you please explain to me how the container is allocated in the COSCO simulator?

opera_tosca_parser.error.ParseError: [NodeTemplate] Missing requirements: host.

Hi,
I have a problem running the cosco on physical environment. I run it on VLAN mode. I don't have access to azure, AWS or any other famous cloud provider. I have access to 10 VMs with same resources you have been used in Demo video. I have not ran any specific command on my worker VMs, except for copying the public key.
According to your last video on the youtube playlist, we should run some kind of deplyoyment on the VMs, but I couldn't figure out how can I do that with out using the AZ command you used in the video, and I think my error that I have pasted as the subject of this issue happens because of that.
Could any one please help me with how can I deploy worker's applications on my vms without using cloud provider's specific packages?

The getApparentIPS(self) in container.py may get negative number

The function getApparentIPS(self) in container.py
def getApparentIPS(self): if self.hostid == -1: return self.ipsmodel.getMaxIPS() hostBaseIPS = self.getHost().getBaseIPS() hostIPSCap = self.getHost().ipsCap canUseIPS = (hostIPSCap - hostBaseIPS) / len(self.env.getContainersOfHost(self.hostid)) return min(self.ipsmodel.getMaxIPS(), self.getBaseIPS() + canUseIPS)
As hostBaseIPS = self.getHost().getBaseIPS() get number from ips_list, the hostBaseIPS may get big number in a certain interval. When the host is nearly fully loaded, and all containers in the host are not migrated, when container.execute(0) is executed, canUseIPS will appear negative, resulting in a negative execution time.

This happens at runtime. Hope to get your reply to see if my understanding is correct. Many thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.