Time slicing in a shared partition
View Patent ↗An operating system in a shared processor logical partitioned data processing system is given a target percentage. The hypervisor assigns the target processor percentage to the operating system. The operating system also has a predetermined time slice to allot to threads in a multitasking environment. The operating system adjusts the time slice based on a per-virtual-processor percentage.
1. A computer implemented method for time slicing in a shared processor logical partitioned environment, the computer implemented method comprising:
identifying a processor percentage for an instance of an operating system running in a given partition in the shared processor logical partitioned environment, wherein the processor percentage is a percentage of a physical processing unit used by the given partition;
wherein the instance of the operating system is assigned a number of virtual processors, and wherein identifying a processor percentage comprises calculating a processor percentage per virtual processor to form a per-virtual-processor percentage;
adjusting a previously assigned time slice based on the processor percentage to form an adjusted time slice, wherein adjusting the previously assigned time slice comprises multiplying a value of the previously assigned time slice by the per-virtual-processor percentage; and
allotting the adjusted time slice to a thread running in the instance of the operating system.
2. The computer implemented method of claim 1 , wherein identifying the processor percentage comprises setting a target processor percentage for the instance of the operating system.
3. The computer implemented method of claim 1 , further comprising:
responsive to a virtual processor being added to or removed from the given partition, recalculating the per-virtual-processor percentage; and
readjusting the adjusted time slice based on the recalculated per-virtual-processor percentage.
4. The computer implemented method of claim 1 , wherein the shared partition is assigned a total processor percentage and wherein calculating a processor percentage per virtual processor to form a per-virtual-processor percentage includes dividing the total processor percentage by the number of virtual processors.
5. The computer implemented method of claim 4 , further comprising:
responsive to the total processor percentage changing, recalculating the per-virtual-processor percentage; and
readjusting the adjusted time slice based on the recalculated per-virtual-processor percentage.
6. The computer implemented method of claim 1 , wherein the physical processing unit is a processor chip or a processor core on a processor chip.
7. The computer implemented method of claim 1 , wherein the physical processing unit is a symmetric multi-threading processor, the computer implemented method further comprising:
adjusting the previously assigned time slice based on an anticipated percentage of a processor's capabilities provided by a thread in the symmetric multi-threading processor.