Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
ad_rien_
@alebre
Starting with BtrPLace
The main idea of SCHIAAS is to simulate OpenSTack like platforms.
Our goal is to enable researchers to evaluate advanced placement strategies within this framework
The first issue we met is that shareResource is expecting int whereas we using double. Actually, we can make some tricks to be able to give int but we are wondering whether there is a strong constraint for having int vs double
so any hint/advice is more than welcome
Thanks
Fabien Hermenier
@fhermeni
@alebre the point might also be why using doubles ? It requires the implementation to support float numbers and rounding issues which no one like. We are using integers but we do not force any unit which is convenient when you want to scale numbers (up to the overflow of course). What kind of resource would you like to express using double ?
ad_rien_
@alebre
FLOPS
Floatint operatin per second
Fabien Hermenier
@fhermeni
@alebre scale then round them to an amount that sufficient to differenciate 2 VMs
Fabien Hermenier
@fhermeni
BtrPlace 1.9.1 is released to fix a (tiny) performance regression
rajni-cs
@rajni-cs
@fhermeni I have not changed '-Dgpg.skip=true' argument and still facing the installation in BtrPlace scheduler
Fabien Hermenier
@fhermeni
mvn install -Dgpg.skip=true worked on my machine (and not working without the flag).
Patrick Meyer
@HerrSpace
Hey there! I'm currently reading up on btrplace and btrplace.org is broken for a few days now. The domain doesn't resolve and the whois states the domain was last updated 2018-10-04T06:10:07Z
Patrick Meyer
@HerrSpace
@fhermeni
Fabien Hermenier
@fhermeni
It's back. I forgot to renew like a noob. Thanks for the notification
Patrick Meyer
@HerrSpace
Let's say I have a resource and I'm currently over provisioning, but I want btrplace to find a placing where I no longer am over provisioning. Using ShareableResource I get something like "Usage of virtual resource cpu on node node#55851 (32) exceeds its capacity (24.0)" when modelling my current system. How would I go about this problem using btrplace?
Patrick Meyer
@HerrSpace
I probably can't model it with ShareableResource but need to use Constraints, right?
Patrick Meyer
@HerrSpace
@fhermeni Are you at 35C3 or Fosdem by any chance? :)
And the SubstitutedVM Event has an unresolved merge conflict in the example ;)
Fabien Hermenier
@fhermeni
@HerrSpace I am not attending Fosdem. What's / who's in 5C3 ?
Fabien Hermenier
@fhermeni
@HerrSpace I'll fix the doc. About your original request wrt. modelling an over-provisionning resource: ShareableResource exhibit how the resources are shared inside a node, so this indicates the node capacity is too low
here, the notion of over-provisioning does not hold, you just state what you observe. Typically, you cannot have a node loaded at 110%
in terms of CPUs for example
Patrick Meyer
@HerrSpace
35c3 is another congress I'm at this month. I just thought we could meet up would you be there https://en.wikipedia.org/wiki/Chaos_Communication_Congress
Fabien Hermenier
@fhermeni
No, there is no plan for such trips
Patrick Meyer
@HerrSpace
Okidoki. Thanks for taking care of the docs.
Fabien Hermenier
@fhermeni
@HerrSpace no pb. I don't guarantee it is perfect but it exists
Patrick Meyer
@HerrSpace
Is there some way to debug which constraint solving failed on? I'm now looping through lots and lots of fencing constraints and it's taking forever to find the broken ones.
I already set the scheduler verbosity to three but no luck.
I'm close to implement some kind of binary search ^^
Fabien Hermenier
@fhermeni
@HerrSpace You mean inferring for an unsolvable problem the constraint(s) that led to the situation ?
I did that in the past inside SafePlace but eventually I removed the code.
What I did was delta debugging. Then it is a matter of granularity. For example, delta debugging affinity constraints is fine
but delta-debugging resource oriented constraint was not very informative due to the granularity and the arbitrary splits
Fabien Hermenier
@fhermeni
Otherwise, it is quite easy to implement as constraints are immutable and express outside the model (add/remove inside Instance objects). I may end up providing that in the future but for my use cases, most of the time, what need to a non-solution is the resource usage
If you use BtrPlace inside your company, it would be great if we can advertise for that. As an open-source project, this matters for visibility and to acknowledge the work done ;)
Patrick Meyer
@HerrSpace
This is currently my under-the-radar-side-project but I'll let you know should I come up with something we actually use to schedule our VMs. If so chances are I'll opensource it anyway ;) We have a custom stack to manage libvirt VMs made up of: https://github.com/innogames/serveradmin < our CMDB and CMDB client lib and https://github.com/innogames/igvm < our tools and lib to manage libvirt VMs in the CMDB and on the hypervisors. Igvm does automatic placement of VMs but in the sense of "What's the least bad hypervisor for this VM right now". https://github.com/innogames/igvm/blob/302d1eaabaac773c59d94a3f018a371352810fdb/igvm/settings.py#L164
We configure many things from serveradmin data directly but some are just informative. The second kind is sometimes, though seldom, not correct resulting in invalid constraints.
Patrick Meyer
@HerrSpace
So delta debugging would probably work after I have ironed our the initial problems..
Eye, I'll try a bit more.
Fabien Hermenier
@fhermeni
Otherwise, for independent constraints, you can use their associated checkers to see if they are satisfied or not
see Constraint.isSatisfied()
Patrick Meyer
@HerrSpace
Good point 🤦‍♀️ I'll try and hope ;)
Patrick Meyer
@HerrSpace
Btw the fit4green link on the btrplace site links to a CBD store.
Patrick Meyer
@HerrSpace
That worked pretty well, hmm.
Fabien Hermenier
@fhermeni
Delta debugging on top of Constraint.isSatisfied?
Patrick Meyer
@HerrSpace
Even isSatisfied was sufficient to find my broken fencing constraints.