Consider a data center with an infinite number of servers. Each server has 1 uni
ID: 3602530 • Letter: C
Question
Consider a data center with an infinite number of servers. Each server has 1 unit of CPU available. Three types of VMs (virtual machines) arrive to this system. VMs of type 1 request 1/2 unit of CPU each, VMs of type 2 request 1/4 unit of CPU each, and VMs of type 3 request 1/8 unit of CPU each. In each time slot, the number of VMs which arrive into the system is binomially distributed with parameters N and , and each VM is of type 1, 2, or 3, with probability 1/3 each.
Consider the following two assignment policies.
• FirstFit policy: assign the VM to the lowest indexed server which can accommodate it. Update the available space in the server, once a VM is assigned to it.
• BestFit pllicy: assign the VM to the server with the least amount of space available (among all servers which have enough space to accommodate the VM).
Update the available space in the server, once a VM is assigned to it. VMs of type 1 stay in the system for a geometrically distributed amount of time with mean 10, VMs of type 2 stay in the system for a geometrically distributed amount of time with mean 8, VMs of type 3 stay in the system for a geometrically distributed amount of time with mean 30. Assume the following sequence of events in each time slot: departures occur first, then arrivals occur, followed by assignment of VMs to servers.
• Assume = 0.9. For different values of N, N = 22 , N = 23 , N = 24 , and N = 25 , compute the average number of servers used by simulating FirstFit policy for 105 time slots.
• Assume = 0.9. For different values of N, N = 22 , N = 23 , N = 24 , and N = 25 , compute the average number of servers used by simulating BestFit policy for 105 time slots.
• Plot the average number of servers versus N under two policies, respectively. (in one plot)
Note: 1. As mentioned in class, please do the programming assignment in groups of two.
2. Choose one programming language to do the simulation from C/C++, Matlab, Python, Java, and R.
3. Report should include the plot, simulation code, and annotations.
4. Upload one single PDF file to Moodle for submission.
Explanation / Answer
Processor : It’s the physical components that comes with server, responsible of all processing operations, a server can have more than one processor (1, 2…), we talk so about a multiprocessor server (bi-processor in case of 2).
Core : Inside your physical processor, you can have more than one operations unit, called Core. We can say that a core is like a processor, so 1 Processor with two Cores is like 2 processors with 1 Core (I insist is like not equal). Today all processors are multi-core, and for servers, we usually find 4 or more cores processors (aka Quad Core or more).
Logical Processor : As explained before, we have processors and cores. Normally a Core can handle one thread (aka operation) in the same time (processor time slot). But when the technology Hyper-Threading is activated and supported, the Core can handle two threads in the same time than one (it’s more complicated but i’m touching the point). The number of thread in a machine is the number of logical processor. So if you want to know how much logical processor do you have, just count the total number of threads.
So how to count that:
Cores Count = Processor Count * CoresCountPerProcessor
Logical Processor Count = CoresCount * ThreadCount
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.