by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Aug 04 07:29
    Coverage (#undefined) +undefined%
  • Aug 04 07:27
    Coverage (#undefined) +undefined%
  • Aug 04 07:24

    dependabot-preview[bot] on maven

    (compare)

  • Aug 04 07:23

    fhermeni on master

    Bump testng from 7.1.0 to 7.3.0… Merge pull request #245 from bt… (compare)

  • Aug 04 07:23
    fhermeni closed #245
  • Aug 04 07:23
    fhermeni assigned #245
  • Aug 04 07:23
    fhermeni milestoned #245
  • Aug 04 07:22

    dependabot-preview[bot] on maven

    (compare)

  • Aug 04 07:22

    fhermeni on master

    Bump mockito-core from 3.4.0 to… Merge pull request #244 from bt… (compare)

  • Aug 04 07:22
    fhermeni closed #244
  • Aug 04 07:22
    fhermeni milestoned #244
  • Aug 04 07:22
    fhermeni assigned #244
  • Aug 03 07:17
    codecov[bot] commented #245
  • Aug 03 07:17
    codecov[bot] commented #245
  • Aug 03 07:17
    Coverage (#undefined) +undefined%
  • Aug 03 07:16
    Coverage (#undefined) +undefined%
  • Aug 03 07:14
    dependabot-preview[bot] labeled #245
  • Aug 03 07:14
    dependabot-preview[bot] opened #245
  • Aug 03 07:14

    dependabot-preview[bot] on maven

    Bump testng from 7.1.0 to 7.3.0… (compare)

  • Jul 30 06:45
    codecov[bot] commented #244
Fabien Hermenier
@fhermeni
So when I work on that aspect, I run in debug mode, breakpoint, and look at the number
Aditya Ramesh
@adramesh
ok; got it
There are 74181 variables and 20357 constraints
Fabien Hermenier
@fhermeni
I pushed the environment factory
Aditya Ramesh
@adramesh
ok; thanks for making the change quickly
Fabien Hermenier
@fhermeni
A simple one and the workaround looks clean to me so no worry
Fabien Hermenier
@fhermeni
btrplace v.046 released and available from maven central repository. Better performances and better code (thanks @adramesh )
Michael Drogalis
@MichaelDrogalis
@fhermeni Upgraded Onyx to use BtrPlace 0.46. Test suite is passing ^^
Nice to be back on the most recent version.
Fabien Hermenier
@fhermeni
@MichaelDrogalis great. Thanks for this feedback. Keep me in touch if your users have some issues that seem to be related to btrplace
Michael Drogalis
@MichaelDrogalis
Will do!
Aditya Ramesh
@adramesh
@fhermeni: One question with regards to determining migrations
Currently, we only allow a migration if there is enough capacity on both the source and the destination for each of the resources. This model works well for memory where there needs to be enough capacity on both nodes but not for other resources like network or cpu where it's okay for there to be temporary starvation. Is there support for discrete and continuous constraints for resources as well?
Fabien Hermenier
@fhermeni
@adramesh currently, there must be enough resource on the destination node to perform the migration, but on this node, you can have some VMs (to leave possibly) that are consuming their current consumption. So you can play with the notion of current consumption to simulate that starvation
could you illustrate through a gantt or any plan showing the resource dispatch over a node ?
Aditya Ramesh
@adramesh
consider this example:
{"model":{"mapping":{"readyVMs":[],"onlineNodes":{"0":{"sleepingVMs":[],"runningVMs":[0]},"1":{"sleepingVMs":[],"runningVMs":[1]}},"offlineNodes":[]},"attributes":{"nodes":{},"vms":{}},"views":[{"defConsumption":4,"nodes":{},"rcId":"CPU","id":"shareableResource","defCapacity":7,"vms":{}}]},"constraints":[{"nodes":[0],"vm":0,"continuous":false,"id":"ban"},{"nodes":[1],"vm":1,"continuous":false,"id":"ban"}],"objective":{"id":"minimizeMTTR"}}
Here, we need to migrate both VMs to the other host. However, live migration cannot succeed as there is not enough CPU capacity during the migration. However, since CPU can be time shared, it is okay if there is not enough capacity as only performance will suffer during the migration. So, it should be okay for the migration to continue.
Essentially, every resource should have a guarantee factor which specifies how much of the resources should be preserved during migration.
Memory must be 1 (all of the memory must be allocated) while things like CPU and storage are more fungible and can be around 0.25-0.5.
Fabien Hermenier
@fhermeni
side note, I need to enhance the demo to copy paste such stuff and visualise :D
Fabien Hermenier
@fhermeni
at first sight, it prevent to model a consumption using a rectangle which is not desirable to compute the scheduling
a possible workaround would be to declare a reduced current consumption for the VMs while using Preserve to ask for the right amount
bedtime. I'll be back
Aditya Ramesh
@adramesh
problem with that approach is that now we need a constraint for every VM for each of the resources which need not be guaranteed during live migration
Fabien Hermenier
@fhermeni
It will not be an issue in terms of performance (such a constraint is already state the usage by default)
Aditya Ramesh
@adramesh
To clarify, is this an example of what you're saying to do (if CPU during migration needs be given at most 50%):
{"model":{"mapping":{"readyVMs":[],"onlineNodes":{"0":{"sleepingVMs":[],"runningVMs":[0]},"1":{"sleepingVMs":[],"runningVMs":[1]}},"offlineNodes":[]},"attributes":{"nodes":{},"vms":{}},"views":[{"defConsumption":2,"nodes":{},"rcId":"CPU","id":"shareableResource","defCapacity":7,"vms":{}}]},"constraints":[{"nodes":[0],"vm":0,"continuous":false,"id":"ban"},{"nodes":[1],"vm":1,"continuous":false,"id":"ban"},{"rc":"CPU","amount":4,"vm":0,"id":"preserve"},{"rc":"CPU","amount":4,"vm":1,"id":"preserve"}],"objective":{"id":"minimizeMTTR"}}
Essentially, all VMs will have the consumption be the reduced consumption and the Preserve constraint ensures that the consumptions ends up getting reset to the default.
Fabien Hermenier
@fhermeni
yes, that look correct
the "real consumption" is 4, reduced to 2 to allow a temporary sharing. Back to 4 at the end necessarily
Aditya Ramesh
@adramesh
ok; will try out with this modification and see how performance goes
Aditya Ramesh
@adramesh
But, what is the issue of ensuring that during a migration, the shareable resource can be lower and if the end state violates the constraint, then we end up backtracking.
Much like how the discrete constraint gets treated
Fabien Hermenier
@fhermeni
don't get it
Aditya Ramesh
@adramesh
why is it necessary to have a rectangular constraint during a move
can't we do the following
when deciding when placing a VM to move, see whether the destination host has enough enough capacity for the migration cost (which should be <= the actual VM cost)
at the end of the plan, see if the VM can actual cost can be satisfied
if so, we are done, otherwise we backtrack
essentially, it's a way of integrating this constraint into the reconfiguration problem instead of modeling it via multiple constraints.
Fabien Hermenier
@fhermeni
ok
but in any case we have to model the consumption of a VM (the current and the next one)
backtracking is not an issue. It is natural as the problem is a combinatorial one, and we use a solver as a meta heuristic
if you don't set a preserve constraint, btrplace still use a similar mechanism implicitly to state the VM consumptio
n
Preserve is just the user entry point to manipulate the value
Fabien Hermenier
@fhermeni
Aside, representing the resource usage over time with a rectangle is common in scheduling. It allows to simplify the computation of the horizon by reducing the moments where the profile are changing
Michael Drogalis
@MichaelDrogalis
@fhermeni We cleared that bug on our end. Thanks for looking into it, sorry for the noise. :)
Fabien Hermenier
@fhermeni
BtrPlace 1.0 released. It's about time.
Lucas Bradstreet
@lbradstreet
Congratulations!
Fabien Hermenier
@fhermeni
It should have been done a long time ago. The major number always frightened me :D
Fabien Hermenier
@fhermeni
@adramesh Issue #122 should be fixed
Fabien Hermenier
@fhermeni
/all any pending issue, I can release this week if needed
@adramesh are your opened issues fixed ? If so, I can release
Aditya Ramesh
@adramesh
@fhermeni: Yes, the fixes for 122 and 123 work for me and you can push out a new release
Fabien Hermenier
@fhermeni
Ok. I have a pending regression (not pointed out here, weird). Then I will release
Fabien Hermenier
@fhermeni
@adramesh Hi, no pending issue ? So I can release
Fabien Hermenier
@fhermeni
BtrPlace 1.1 released