Re: Dynamic scaling support for KVM

2019-09-12 Thread Wei ZHOU
Totally agree with Andrija.

-Wei

On Thu, 12 Sep 2019 at 17:41, Andrija Panic  wrote:

> Guys,
>
> My 2 cents:
>
> I've played with dynamically increasing CPU number and RAM memory size
> across all 3 hypervisors (during my analysis of how currently cpu/ram
> overprovisioning works, in order to see the feasibility of dynamic
> overprovisioning i.e. do any changes (reductions in cpu/ram) that we
> already do after the VM is stopped and started - this dynamic apply of
> overprovisioning is not a subject atm, just mentioning it for sake of
> completeness.
>
> Balloning driver is officially an abandoned project (I explicitly pinged an
> RH engineer to confirm what they stated on the balooning driver home
> page...), so dynamically scalling down ram for KVM is not possible to be
> done in the graceful maner. That beings said, you can still just blindly
> reduce amount of ram (and cause kernel panics and such).
>
> Atm, we support dynamic scalling UP only, for XS and VMware - idea is that
> we support the same for KVM - to be able to change Compute Offering to a
> bigger one, on the fly.
> This is possible with minor changes in XML, ad Rohit stated already and a
> simple call to libvirt (i..e.virsh).
>
> From my point of view, we are not considering any special use cases etc, we
> simply want to allow upgrading Compute Offering on the fly.
>
> Does this makes sense, any feedback?
>
> Cheers
>
>
>
> On Thu, Sep 12, 2019, 02:16 Riepl, Gregor (SWISS TXT) <
> gregor.ri...@swisstxt.ch> wrote:
>
> > > Just to add some context, this was awhile back that I tried it,
> > > years. The idea was that we could just set max memory to some crazy
> > > high number and then “unlock” just the amount in the offering, and
> > > adjust on the fly. As mentioned I found it was trivial for VM users
> > > to unlock the full amount and get a “free” upgrade, so it was
> > > useless. There was also a non trivial amount of RAM overhead just
> > > lost to support balloon, if I recall.
> >
> > IMHO, supporting full dynamic scaling included shrinkage has a limited
> > number of use cases. If you want a workload to be dynamically scalable,
> > it would usually be much better to look into horizontal scaling, i.e.
> > deploying more instances as load increases. If your workload is too
> > small to make horizontal scaling effective, you should probably ask
> > yourself the question if you need scaling at all.
> >
> > Limiting scaling to memory increase only might have some merit and
> > should be much easier to implement by means of memory hotplug
> > emulation. Though, is it really worth the complexity when an offline
> > upgrade would normally only cause a very short downtime (or none at all
> > in a HA setup)?
> >
> >
>


Re: Dynamic scaling support for KVM

2019-09-12 Thread Sven Vogel
I agree with Andrija.

Von meinem iPhone gesendet


__

Sven Vogel
Teamlead Platform

EWERK DIGITAL GmbH
Brühl 24, D-04109 Leipzig
P +49 341 42649 - 99
F +49 341 42649 - 98
s.vo...@ewerk.com
www.ewerk.com

Geschäftsführer:
Dr. Erik Wende, Hendrik Schubert, Frank Richter
Registergericht: Leipzig HRB 9065

Zertifiziert nach:
ISO/IEC 27001:2013
DIN EN ISO 9001:2015
DIN ISO/IEC 2-1:2011

EWERK-Blog | LinkedIn | Xing | Twitter | Facebook

Auskünfte und Angebote per Mail sind freibleibend und unverbindlich.

Disclaimer Privacy:
Der Inhalt dieser E-Mail (einschließlich etwaiger beigefügter Dateien) ist 
vertraulich und nur für den Empfänger bestimmt. Sollten Sie nicht der 
bestimmungsgemäße Empfänger sein, ist Ihnen jegliche Offenlegung, 
Vervielfältigung, Weitergabe oder Nutzung des Inhalts untersagt. Bitte 
informieren Sie in diesem Fall unverzüglich den Absender und löschen Sie die 
E-Mail (einschließlich etwaiger beigefügter Dateien) von Ihrem System. Vielen 
Dank.

The contents of this e-mail (including any attachments) are confidential and 
may be legally privileged. If you are not the intended recipient of this 
e-mail, any disclosure, copying, distribution or use of its contents is 
strictly prohibited, and you should please notify the sender immediately and 
then delete it (including any attachments) from your system. Thank you.
> Am 12.09.2019 um 17:41 schrieb Andrija Panic :
>
> Guys,
>
> My 2 cents:
>
> I've played with dynamically increasing CPU number and RAM memory size
> across all 3 hypervisors (during my analysis of how currently cpu/ram
> overprovisioning works, in order to see the feasibility of dynamic
> overprovisioning i.e. do any changes (reductions in cpu/ram) that we
> already do after the VM is stopped and started - this dynamic apply of
> overprovisioning is not a subject atm, just mentioning it for sake of
> completeness.
>
> Balloning driver is officially an abandoned project (I explicitly pinged an
> RH engineer to confirm what they stated on the balooning driver home
> page...), so dynamically scalling down ram for KVM is not possible to be
> done in the graceful maner. That beings said, you can still just blindly
> reduce amount of ram (and cause kernel panics and such).
>
> Atm, we support dynamic scalling UP only, for XS and VMware - idea is that
> we support the same for KVM - to be able to change Compute Offering to a
> bigger one, on the fly.
> This is possible with minor changes in XML, ad Rohit stated already and a
> simple call to libvirt (i..e.virsh).
>
> From my point of view, we are not considering any special use cases etc, we
> simply want to allow upgrading Compute Offering on the fly.
>
> Does this makes sense, any feedback?
>
> Cheers
>
>
>
> On Thu, Sep 12, 2019, 02:16 Riepl, Gregor (SWISS TXT) <
> gregor.ri...@swisstxt.ch> wrote:
>
>>> Just to add some context, this was awhile back that I tried it,
>>> years. The idea was that we could just set max memory to some crazy
>>> high number and then “unlock” just the amount in the offering, and
>>> adjust on the fly. As mentioned I found it was trivial for VM users
>>> to unlock the full amount and get a “free” upgrade, so it was
>>> useless. There was also a non trivial amount of RAM overhead just
>>> lost to support balloon, if I recall.
>>
>> IMHO, supporting full dynamic scaling included shrinkage has a limited
>> number of use cases. If you want a workload to be dynamically scalable,
>> it would usually be much better to look into horizontal scaling, i.e.
>> deploying more instances as load increases. If your workload is too
>> small to make horizontal scaling effective, you should probably ask
>> yourself the question if you need scaling at all.
>>
>> Limiting scaling to memory increase only might have some merit and
>> should be much easier to implement by means of memory hotplug
>> emulation. Though, is it really worth the complexity when an offline
>> upgrade would normally only cause a very short downtime (or none at all
>> in a HA setup)?
>>
>>


Re: Dynamic scaling support for KVM

2019-09-12 Thread Andrija Panic
Guys,

My 2 cents:

I've played with dynamically increasing CPU number and RAM memory size
across all 3 hypervisors (during my analysis of how currently cpu/ram
overprovisioning works, in order to see the feasibility of dynamic
overprovisioning i.e. do any changes (reductions in cpu/ram) that we
already do after the VM is stopped and started - this dynamic apply of
overprovisioning is not a subject atm, just mentioning it for sake of
completeness.

Balloning driver is officially an abandoned project (I explicitly pinged an
RH engineer to confirm what they stated on the balooning driver home
page...), so dynamically scalling down ram for KVM is not possible to be
done in the graceful maner. That beings said, you can still just blindly
reduce amount of ram (and cause kernel panics and such).

Atm, we support dynamic scalling UP only, for XS and VMware - idea is that
we support the same for KVM - to be able to change Compute Offering to a
bigger one, on the fly.
This is possible with minor changes in XML, ad Rohit stated already and a
simple call to libvirt (i..e.virsh).

>From my point of view, we are not considering any special use cases etc, we
simply want to allow upgrading Compute Offering on the fly.

Does this makes sense, any feedback?

Cheers



On Thu, Sep 12, 2019, 02:16 Riepl, Gregor (SWISS TXT) <
gregor.ri...@swisstxt.ch> wrote:

> > Just to add some context, this was awhile back that I tried it,
> > years. The idea was that we could just set max memory to some crazy
> > high number and then “unlock” just the amount in the offering, and
> > adjust on the fly. As mentioned I found it was trivial for VM users
> > to unlock the full amount and get a “free” upgrade, so it was
> > useless. There was also a non trivial amount of RAM overhead just
> > lost to support balloon, if I recall.
>
> IMHO, supporting full dynamic scaling included shrinkage has a limited
> number of use cases. If you want a workload to be dynamically scalable,
> it would usually be much better to look into horizontal scaling, i.e.
> deploying more instances as load increases. If your workload is too
> small to make horizontal scaling effective, you should probably ask
> yourself the question if you need scaling at all.
>
> Limiting scaling to memory increase only might have some merit and
> should be much easier to implement by means of memory hotplug
> emulation. Though, is it really worth the complexity when an offline
> upgrade would normally only cause a very short downtime (or none at all
> in a HA setup)?
>
>


Re: Dynamic scaling support for KVM

2019-09-12 Thread Riepl, Gregor (SWISS TXT)
> Just to add some context, this was awhile back that I tried it,
> years. The idea was that we could just set max memory to some crazy
> high number and then “unlock” just the amount in the offering, and
> adjust on the fly. As mentioned I found it was trivial for VM users
> to unlock the full amount and get a “free” upgrade, so it was
> useless. There was also a non trivial amount of RAM overhead just
> lost to support balloon, if I recall.

IMHO, supporting full dynamic scaling included shrinkage has a limited
number of use cases. If you want a workload to be dynamically scalable,
it would usually be much better to look into horizontal scaling, i.e.
deploying more instances as load increases. If your workload is too
small to make horizontal scaling effective, you should probably ask
yourself the question if you need scaling at all.

Limiting scaling to memory increase only might have some merit and
should be much easier to implement by means of memory hotplug
emulation. Though, is it really worth the complexity when an offline
upgrade would normally only cause a very short downtime (or none at all
in a HA setup)?