On 5/6/13 10:16 AM, "Musayev, Ilya" <imusa...@webmd.net> wrote:

>Hi Kelven,
>
>> 2) Serialize VM operations
>> Currently, state transition handling always happens at in-place
>>context, for example, when management server receives hypervisor VM
>>state report, the handling of the report is processed within the
>>context, even if there may be another thread that is handling user
>>request on the same VM. Although we try to coordinate by checking the
>>state of the VM, by simplify failing it with concurrent-access
>>exception.  
>> In the new design, we will try to serialize activities to the same VM
>>through job facility, since there always be one active operation is in
>>executing, the state transition logic can be simplified. Take the VM
>>migrating case, as it involves with two hosts, in previous model,  with
>>VM state report from different hosts, we have to handle it carefully as
>>the host report may come at un-predicted order.
>
>It is my understanding that by serializing the operations - we fix the
>issue with concurrent tasks for the same object. How would this affect
>the end user performance, assuming 10 users execute 10 tasks on 10
>different VMs, would they all go in the queue and wait for their turn?

There is another aspect of job control, which is system concurrency
control. Serialization of processing logic has little relation to end-user
performance, as the serialization is not due to that system wants to
artificially enforce that, but more due to the logic itself (i.e, you
can't do start/stop at the same time), waiting on a serialization to
finish on one object does not mean that you can't do other operation on a
different object. The reason we want to consolidate system internal
activities and external activities into single place of control is exact
for the purpose to improve system concurrency management as well.

AsyncJobMonitor class is added for system concurrency monitoring, it
monitors system concurrency level through message bus facility and we
should now be able to tell what exactly "system busy" means by looking at
the percentage of activity jobs in executing among all available threads
in pool.


>
>Thanks
>ilya
>
>
>> -----Original Message-----
>> From: Kelven Yang [mailto:kelven.y...@citrix.com]
>> Sent: Friday, May 03, 2013 10:37 PM
>> To: dev@cloudstack.apache.org
>> Subject: [PROPOSAL] VMSync improvement to better co-operate with
>> external managers for features like HA/DRS and FT
>> 
>> I would like to propose an improvement effort on VMSync. This is to help
>> build better interaction with external virtualization manager (i.e.,
>>vCenter)
>> for features like native HA, DRS and FT.
>> 
>> https://cwiki.apache.org/confluence/display/CLOUDSTACK/FS+-
>> +VMSync+improvement
>> 
>> Since it is a low-level change and hard to describe it in short, only
>>high-level
>> principals are detailed in FS.
>> 
>> Please review the first draft of FS and provide your comments and
>>feedback.
>> 
>> Kelven
>

Reply via email to