Relative Weight and vCPU allocation query

Hi all
I've done a lot of reading around this subject mainly starting here:
http://social.technet.microsoft.com/wiki/contents/articles/1234.hyper-v-concepts-vcpu-virtual-processor.aspx
So I know the technical descriptions and some of the background but there is one key area on which I am seeking some clarification if possible.
Most of my Hyper-V experience is with 2008 and 2008R2 so that's what I will be asking about (but it would be useful to know if 2012 changes anything).
I understand the concept of virtual CPUs (vCPU) as given to a VM via the VM settings dialog box. I understand that giving a VM 1 to 4 vCPUs does not give the VM any sort of 1:1 or exclusive right to any of the parent's CPU cores. My understanding is that
(basically) the parent server's cores are formed into a 'pool' and each VM is given a 'time share' of this pool of CPU. I know it is more complex than that due to the way threads may not easily be moved from core to core but let's ignore that!
I understand the 'relative weight' option is used to distribute the 'grunt' from the pool of parent CPU to the VMs such that each VM gets a proportion of the parents CPU-pool as per the ratio of the relative weight scores.
So as an arbitrary, simplified example let's imagine the parent has 2 physical quad core CPUs running at 2.0Ghz. So that's 8 cores running at 2Ghz. So let's imagine the CPU-pool 'grunt' is 16Ghz. (Grunt could be also called 'power', 'horsepower' etc.) I
know it doesn't work out quite like this but this is simplified.
So we add some VMs.
Let's add 4 VMs all with 1 vCPU and all equal 100 relative weight (RW). For the sake of argument all the VMs are 'busy' so that they always need CPU. Let's say each of them shows fairly constant 80% CPU activity in Task Manager within the VM. None of the
VMs are Terminal Servers. Let's also ignore the Hyper-V parent partition's draw on CPU as negligible.
So in this case, if there is contention for the parent CPU, then each of the 4 VMs would be allocated an equal time share of the parent's pool of CPU. So it might be said that on average each VM runs as if it had 4Ghz of 'grunt'. Inside each VM the applications
would see a single vCPU running at 4Ghz. (Bear with me on Ghz, I could have called Ghz 'gruntz' or indeed anything, but I think it helps to talk in terms of Ghz as this is familiar).
Is this correct? Assuming it is then ...
So now I need more 'grunt' to be available to the first VM. So some people may consider two options. Increase the number of vCPU assigned to the VM or increase the Relative Weight. This is where I am confused.
So my question is if the RW is kept constant does increasing the number of vCPU make any more grunt available to a VM or is the grunt simply divided up. For example:
I change VM1 so have 4 vCPU. My understanding is that because RW has not changed then the applications running on VM1 see things change from 1 vCPU running at 4Ghz to 4 vCPUs running at 1Ghz. I surmise this because the RW is what dictates the amount of time
a VM gets on the parent pool of CPU so the VM's allocation (of 4Ghz) must be divided by the number of vCPU.
However I am continually faced with clients asking to allocate more vCPU because they feel this improves the performance of the applications running on the VM, hence I wanted some clarification on whether my understanding is correct or not.
I know that Brian Ehlert, and others, have often stated that it is best to try and give VMs as few vCPUs as possible so that the VM's OS doesn't need to spend time shuffling threads. If this is the case then what is the background or reason for increasing
the allocation of vCPU to a VM? Why add more? When does it have benefit? Is it also required to increase the RW at the same time as adding the vCPU?
It would be great if there was an in-depth article from Microsoft explaining how this all works, in the meantime I'm hoping for some enlightenment from this forum.
Thanks in advance.
Ian

Thanks for your input Ben, that is a very interesting document indeed.
The section that is most pertinent is this one:
<<18.2.3       CPU
Weight
The CPU weight is a relative weight assigned to each of the virtual processors of the partition. Unless otherwise constrained by reserves and caps, the scheduler will attempt to weight the run time of the virtual processors scheduled on
a given logical processor according to their relative weights. Let’s consider the case where three partitions, each with one virtual processor are being scheduled on a single logical processor, their weights are 100, 200 and 700, no reserves or caps are in
effect, and all three of the virtual processors have work to perform (that is, they are not idle). In this case, the fraction of physical CPU capacity provided to the three virtual processors would be approximately
10%, 20%, and 70%.
The CPU weight value is expressed as a decimal value from 1 to 10,000 where 100 (the geometric mean) is the typical value.
By default, a partition’s weight is set to 100.>>
After having read this (and your statement about scheduling processors not VMs) I have had a 'lightbulb moment' where I first understand that the various 'switches' such as Relative Weight are per vCPU and not per VM.
I went back to the online help from Hyper-V and it points to this document:
Performance Tuning Guidelines for Windows Server 2008
http://msdn.microsoft.com/en-us/windows/hardware/gg463394.aspx
In this document there are some useful statements that I was not aware of i.e.
<<Hyper-V in Windows Server 2008 supports up to 16 logical processors and can use all logical processors if the number of active virtual processors matches that of logical processors. This can reduce
the rate of context switching between virtual processors and can yield better performance overall.">>
This is not something that I was aware of. I thought that if you had fewer vCPU than logical CPUs on the host then the vCPU would be shared around the logical CPUs in order to fully utilise the parent CPUs. After reading this above it is obvious that this
is not the case.
And this statement:
<<Virtual Processors
Hyper‑V in Windows Server 2008 supports a maximum of four virtual processors per VM. VMs that have loads that are not CPU intensive should be configured to use one virtual processor. This is because of the additional overhead that is associated
with multiple virtual processors, such as additional synchronization costs in the guest operating system. More CPU-intensive loads should be placed in 2P or 4P VMs if the VM requires more than one CPU of processing under peak load.>>
These two statements lead me to the feeling that it is better to add more vCPU to VMs than fewer if you want to 'make the most of' the CPU you have available on the parent. So going back to my original example of a parent with two quad core CPU (no hyper-threading)
we have 8 logical CPUs available. If we have four VMs that running approximately equal, and busy workloads, we should set each VM to at least 2 vCPU. This would ensure all 8 logical CPUs were used.
First question: What would the potential downside be to setting all four VMs with 4 vCPU which would overcommit the vCPU to logical CPU by a factor of 2. Would this cause scheduling overhead and therefore wasteful of CPU?
Second Question: If I wanted to give a greater share of parent CPU to one of the VMs how would it be best done? Adding more vCPUs to the VM or changing the Relative Weight? Or both? Assuming I was using a Hyper-V 2012 parent that allows more than 4 vCPU
per VM which would be the best way of boosting the performance of one of the VMs:
a) VM1 gets 8 vCPU and each other VM (VM2, VM3 & VM4) each gets 4 vCPU
or
b) VM1 gets 200 Relative Weight and 4 vCPU and each other VM (VM2, VM3 & VM4) each gets 100 Relative Weight and 4 vCPU
Many, many thanks for helping me here.
Ian

Similar Messages

  • Query reg. Resource and time allocation in cProjects

    Wondering if someone can answer this query related to -  Resource and time allocation in cProjects.
    I understand the following regarding creating cProject -
    1 - Project manager creates a cProject for any upcoming new project in the organization.
    2 - Phases and Tasks will be created automatically (at our end) based on the template selected while creating the cProject.
    3 - Project manager assigns the resources to the project.
    4 - Allocate start date and end date for the resources against Tasks or Phase -
    > This is the point where there isn't enough documentation to help me progress further. Please can someone suggest how and where do we specify the start date and end date to a resource in cProject.
    A sample document on the BEST approach to create cProject, assign reources to tasks, allocate start date and end date would indeed help further clarify my doubt.
    I wante to create a cProject with various tasks, assign resources, start and end date for each task. As the project progresses,
    I want to execute a report to track the progress of this cProject as resources go on completing a task.
    Thanks,
    RB

    Hi Pramod,
       Thanks for your reply. Below are some queries based on few points mentioned by you.
    Allocate start date and end date for the resources against Tasks or Phase -
    When we prepare Project template, we define all project structure with phase, tasks, milestones, etc. - OK
    Also we define phase and task depedency, duration for tasks. - OK
    In actual Project execution PM creates project with reference to template, he add or delete any task / phase, changes duration if required. - How do you change duration of the task ? What series of events or clicks need to be followed ? Would be nice if atleast one option is listed.
    While in project planning, planner has to enter start and end date for project. - OK
    cProject scedules all other dates accordingly. We need not to go to individual phase or task to adjust dates. one can adjust only duration and depency to get required dates for tasks. This is standard planning phelosophy used in CPR, MSP or Primavra I believe. - At phase level, I can see Earliest start + finish and Latest start + finish dates populated automatically. In addition Start date constraint and Finish data constraints fields are available and empty. Is it mandatory to enter these dates ?
    While doing resource assignment, the start and end dates are coming from task assigned to particular Project Role. - At Task level, I can see Earliest start + finish and Latest start + finish dates populated automatically. In addition Start date constraint and Finish data constraints fields are available and empty. Is it mandatory to enter these dates ?
    cProjects automatically schedules the plan in create status, once the project released and actual status updated in cProjects, Project plan needs to schedules manually with help of schedule button in Project menu.- When I click Schedule button, message - Bottom-up scheduling was carried out is populated on screen. What is Bottom-up scheduling ?
    Would be nice to get reply to above queries.
    Thanks,
    RB

  • Related to InfoObject display in Query as Key and Text

    Hello all,
              I have problem with my two queries which is created on same InfoProvider.
    Problem:
                I have Q1 and Q2 queries which fetch data from DT1 data target
    > Both the Q1 and Q2 has the same InfoObject 'IO'.
    > Properties of InfoObject in both Q1 and Q2 are same.
    While Q1 and Q2 is expected to return the same result. Q1 returns the key and text but Q2 is returning only key for same infoObject 'IO' .
    Additional Information:
    > In query result, The 'IO' properties for Q1 it is key and text and Q2 is only key.
    > I cannot change the Q2 's 'IO' properties to show key and text in query result as i donot have the authorization.             Q2 query is created on development server and tranported to production, where as Q1 query created on production.
    I want Q2's 'IO' to display key and text.
    Please let me know if you need more information.
    Thanks,
    Umashankar

    Hello all,
          Thanks to all for your response. Here I can conclude all of your saying.
    1. Change the Q2 in development and transport it to production.
              To do this I need to have applicable data in dev or QA, unfortunately there is no applicable data found in any of the system except Prod.
    2. Change the Q2 in production by having authorization.
              It will solve the problem but I hope Client will not agree to provide authorization to change.
    excuse me these will not resolve the problem. If you any new Idea please let me know.
    My way to resolve this is
    1. Delete the Q2 from Prod
    2. Copy the query Q1 to Q3 in Prod.
    3. Reverse transport Q3 to Dev and tranport again to Prod.
    4. Check the query result.
                Here you may ask why you need Q3 if you have Q1 and Q2, the answer is Q1 is created by user and now he need Q2 (same as Q1) but it should not be in changeable mode. Hence we have created the query Q2 in Dev and transported to Prod (In previous case).  But the only difference in both the queries is one InfoObject values is shown as Key and Text in Q1 and Key as Q2.
    I'm not sure whether the way mentioned here solve the problem.

  • SQL Dev 2.1:Ability to save and load visual query models?

    At SQL Dev 2.1, do we now have the ability to save and load visual query models as with TOAD? Or has that functionality been rolled into the for-pay Data Modeler extension? Seemed strange to hide the functionality deep within SQL Worksheet, then not allow query models to be saved or loaded. From what I recall, load/save was scheduled to be in 2.0.
    I've not yet downloaded and installed 2.1, but also as I recall, it was promised to be a significant (e.g. new-feature rich) release. Has it lived up to that promise? Hoping also that it's not so buggy as to not merit an upgrade. At my workplace, folks have different versions of SQL Dev 1.X installed, each for the purpose of retaining functionality that got broken in future releases, etc. Would love to be able to advise them to retire their 1.X installs in favor of 2.1.
    Edited by: Dana N on Jan 21, 2010 6:45 AM

    Dana, We are working on the query builder. We have not done anything with it in recent releases as we knew that it needed completely overhauled and a
    couple of bug fixes were not going to give us the query builder we needed. Sue will be able to tell you more as the we get closer to releasing it as a feature.Thanks Barry. I know it's probably impossible to give firm dates, but my colleagues would love to know, ballpark, when query builder might be ready. Any particular year/quarter that's targeted for?
    A lot of the bugs in the 2.1 are probably my fault as we decided to build a framework which allowed tasks to be scheduled like eclipse and push them to the
    background. Coupled with this, we tore apart the worksheet to allow us to fit tasks in, but to also give us the ability to do some of the enhancement requests
    that you guys, our users, have been asking for. While its not perfect, I believe its getting much better from both a functionality and performance standpoint. The
    worksheet will not change again and there are no enhancements logged or scheduled which will do that. The issues that have come as part of 2.1 are being
    addressed and we are fixing the highest priority ones as we speak. One of my priorities is to make these components as rock solid as possible.Thanks again. It really is a nice tool to work with, and I'm grateful to have it. I would choose stability for existing features over new ones, but I suppose there always has to be a balance in development. What was really scary in the past was getting bizarre / wrong answers in query results--that's a complete show stopper; e.g. clicking on a row/col intersection in a result set row would show strange and false values. New features can wait, but core functionality must be solid. If one can't presume integrity of query results, it's game over--using a version of SQL Developer that returns inconsistent result sets between runs could be Considered Harmful, or so it is to me.
    Anyway, thanks for responding and I hope Oracle Corp gets you whatever assistance you need to improve the quality of existing functionality while adding new features; with one not being at the expense of the other. :-) Glad also to see Sue has authored a book on the tool. Hopefully that will drive customer demand and force increased allocation of development resources toward the product. I'd like to think having out-of-the-box tools that are a joy to use might even increase market share.
    Data Modeler I would love to use, but am completely priced out of it. Enterprise Architect from Sparx Systems is the best value there so far as I can tell.
    Dana

  • Gross weight and net weight of line item in a delivery

    Hi what exactly the meaning of gross weight and netweight of delivery line item?
    Where can i see these 2 fields in the transaction?How weight differs to the quantity for a particular delivery item?
    Thanks in advane
    Mahesh

    Hi,
    <b>Gross Weight</b>
    The system can use the <b>gross weight</b> at a later stage, depending on what kind of capacity check you run, to check storage bin capacity for warehouse management purposes.
    The system calculates the gross weight of each item by multiplying the delivery quantity by the gross weight per unit that comes from the sales order. If there is no related sales order, the system uses the gross weight from the material master record. You can change the gross weight manually in the delivery document.
    <b>Net weight</b>
    The total net weight of all items in the delivery.
    Use
    The system calculates the net weight of each item by multiplying the delivery quantity by the net weight per unit that comes from the sales order. If there is no related sales order, the system uses the net weight from the material master record.
    Please reward if helpful.
    Thanks & Regards
    Sadhu Kishore

  • Weight and Volume in ODO is Blank

    Hello Brothers in EWM,
    I have a question regarding the ODO deliveries in EWM.  The item weight and volume are blank and this is because the data coming in from ECC does not have volume or weight.  We don't maintain weight and volume in ECC.  When i look at the additional quantities tab in PRDO screen I see that the system is set up to expect the those values from the external system (in this case ECC).  We do maintain weight and volume in EWM and was wondering how i can set it up so to make the default to read master date from EWM.  in this case the filed Value Determination Indicator needs to be blank.  Any ideas?  Please see attached screen shot.
    Thanks,
    Faical

    Hi Tien,
    please, check go to the 'Form settings' on the landed cost window, select 'volume' column and you will find the 'volume' field is blank. Input the correct 'volume' value and the landed cost can be allocated by volume. Test it and see if your issue is solved.
    Regards,
    Wesley

  • Weight and volume in Landed cost!

    Hi, everybody
    Can you tell me about Weight and Volume in Landed cost.
    I want use load and unload expense, i use Allocation By is Weght and volume, But when i choose expenditure in Detail Tab as Yes.
    An error appear: Variable costs can be added only if you split landed cost
    Can you explain for me! Thank you very much

    Hi Tien,
    please, check go to the 'Form settings' on the landed cost window, select 'volume' column and you will find the 'volume' field is blank. Input the correct 'volume' value and the landed cost can be allocated by volume. Test it and see if your issue is solved.
    Regards,
    Wesley

  • How to relate Campaign and Sales Order in WebGUI?

    Hi experts,
    When I am working on WINGUI side I see that there are fields to store item and header information for Campaign. On WebGUI side I can not find them. So, how can I relate Campaign and Sales Order on WEBGUI side?
    Thanks in advance
    Erkan

    HI Erkan,
    It might be because your Field is been hidden in the Web GUI.
    Take teh Component ID and goto component enhancement workbench, then goto configuration see the Available fields option. You should select your field and display .
    Hope this solves your query.
    Regards
    Arun Kumar

  • Sales Order Line Times Weight and Volume

    Hi All,
    Iam creating a sales order
    i have given line item and quantity and it give some weight and volume based on that material
    if i change the weight or volume than i saved after saving user exit calls
    now how can i find the changed weight or volume
    all the weight and volumes are in VBAP than how can i write select statement for that
    Please Give suggestion
    THanks
    Surendra

    u have to write code in userexit MV45AFZZ FROM SE38
    USEREXIT_SAVE_DOCUMENT_PREPARE   
    U WILL GET VBAPs data in XVBAP
    like u have to read xvbap-VOLUM and xvbap-NTGEW FOR CURRENT VALUE
    AND FOR PREVIOUS VALUE U HAVE TO WRITE SELECT QUERY LIKE
    SELECT * FROM VBAP INTO WA_VBAP
    WHERE VBELN = XVBAP-VBELN
    AND POSNR = XVBAP-POSNR.
    THEN CHECK
    XVBAP-VOLUM = WA_VBAP-VOLUM  .. LIKE THAT U CAN COMPARE VALUES
    THANKS

  • Product hierarchy and Product allocation

    Dear SD Gurus,
    Can I have some good docs on Product hierarchy and Product allocation related to SAP SD.
    my mail id is [email protected]
    Regards,
    Rakesh

    Hi
    Product allocation helps in allocating prodects based on customer requirement.
    Please go through this link for product allocation
    http://www.sap-img.com/sap-sd/implement-the-product-allocation-functionality.htm
    For product hierarchy go through this link
    http://help.sap.com/saphelp_46c/helpdata/en/77/1a39516e36d1118b3f0060b03ca329/frameset.htm
    give points if this useful
    Thanks
    Anil

  • Soft and hard allocation

    Hi,
    I know we can soft allocate and hard allocate the resourse for the task in cProjects.
    Can anybody tell me , where can I get the entry for soft and hard allocate BP in the SAP table.
    I know ,. this report is available in xRPM with BI integration.
    But is there any SAP table where I can get the the list of soft and hard allocation , so that with the help of SAP query we can write the report.
    Regards,
    Nitin Bhagat

    Hello!
    Please check table: DPR_BUPA_LINK.
    It's here if I remember well.
    BR
    Matthias
    Edit: I confirm, field name is BOOKING_TYPE

  • How to link a non-linkable query and a plsql query in the datamodel

    Hi,
    I am creating a matrix group....
    Where in I get my
    1) Column values from a non-linkable query - Period (Jan, Feb....)
    2) Row values from a plsql query (ref cursor). Group is also from this query
    3) Cross product is on the above two queries.
    4) Cell info comes from a plsql query (refcursor).
    I created a group link from the cross product group (3) to the cell info query (4)
    I prepared the layout and executed the report... I am getting redundant data....
    The reason being the (4) and (1) are not linked properly.
    From google, About non-linkable queries column.... I understood that to link two non-linkable queries, we need to create a group link and then add a where clause in the child query referring the parent query column.
    But my case is a non-linkable query (which is a parent ) and a plsql query which is the cell.
    Any help...?
    Thanks in advance.
    KK

    Hello Sam,
    >
    I was wondering if you could have any link or examples to show how to make a form with report and an insert form in the same page, these two forms are related to the same table. Our customer wants a user can add new row to the table in a form and see all of rows created by this user in a report, this report should provide edit link as well. the problem is: whenever I inserted a new row or edit a row or delete a row, and submitted, and return to this page, all of hidden items lost their values, so report is blank, and some display only items also lost their values. Could anyone give me suggestions?
    >
    This will help:
    http://www.grassroots-oracle.com/2011/09/apex-tutorial-form-report-sharing-same.html
    Hope it helps!
    Regards,
    Kiran

  • When I try open a .pdf file my Adobe Reader 11 only allows the download / save opening the related window and don't show me both options 1) open with ... and 2) save as.... probably someone flagged the choise... always perform this way ....

    When I try open a .pdf file my Adobe Reader 11 only allows the download / save opening the related window and don't show me both options 1) open with ... and 2) save as.... probably someone flagged the choise... always perform this way ....
    Could some one give help and let me know where I can probably find the settings option that allows me to change and switch to previous situation where it was possible to decide time to time how to proceed either opening the file or saving it ??
    Thanks in advance
    David

    What is your operating system?
    Open a PDF from where?  If online, in what browser?

  • Update new material master weight and dimension in open sales orders and de

    Hi,
    Iu2019m maintaining gross weight, net weight, volume in material master. When the time of sales order entry in VA01 its calculating weight and dimensions based on material master and order quantity. And I create deliveries in VL01N.
    If I made a correction in the net and gross weight in material master after I created the sales order will the correct net and gross weight will pick up at the delivery creation.
    In other term is the VL01N net and gross weight is taking from which is available in SO or Material master.
    Is there any standard transaction to update already existing open sales order, delivery net and gross weight once it is corrected in material master?
    Please advice.
    Sam

    Is there any standard transaction to update
    No it is not possible to update the weight in existing sale order or delivery.  You have to change it manually or create a new sale order.   Weight in delivery will be fetched from sale order only and hence,  whatever delivery you create referencing a sale order, system will copy whatever is there.
    thanks
    G. Lakshmipathi

  • Retrieving data from a relational table and CLOB as a whole XML file

    I created the table lob_example and I have managed to insert XML document into it using XML SQL Utility. In this document I put contents of <DESCRIPTION> tag into CDATA section.
    LOB_EXAMPLE
    Name Null? Type
    ID NOT NULL NUMBER
    DESCRIPTION CLOB
    NAME VARCHAR2(40)
    But I could not retrieve this data properly. I can think of only one solution - to parse and build the whole XMLDocument. I found the suggestion of another solution to use Oracle8i views to do that in http://technet.oracle.com/tech/xml/infoocs/otnwp/about_oracle_xml_products.htm, but this text is not clear enough for me.
    I would like to quote the fragment from document mentioned above, which is ambiguous for me:
    "Combining XML Documents and Data Using Views
    Finally, if you have a combination of structured and unstructured XML data, but still want to view and operate on it as a whole, you can use Oracle8i views. Views enable you to construct an object on the "fly" by combining XML data stored in a variety of ways. So, you can store structured data (such as employee data, customer data, and so on) in one location within object -relational tables, and store related unstructured data (such as descriptions and comments) within a CLOB. When you need to retrieve the data as a whole, you simply construct the structure from the various pieces of data with the use of type constructors in the view's select statement. The XML SQL Utility then enables retrieving the constructed data from the view as a single XML document."
    The main question is - how to use type constructors in the view's select statement?

    Hello
    Sorry for asking the same question again, but any responses would be greatly appreciated.
    How to use type constructors in the view's select statement?
    I could not find any answers for this question on Technet. Maybe the other approaches are more efficient to combine the part of data from CLOB with data from other column types?
    Thank you

Maybe you are looking for