3 ms·
My big question is how will hypervisors handle this heterogenous architecture, and how much it will affect them. All cores are not equal which means vCPUs are n
by w7 5y ago
My big question is how will hypervisors handle this heterogenous architecture, and how much it will affect them. All cores are not equal which means vCPUs are no longer just vCPUs. I believe most guest workloads are somewhat opaque to the hypervisor, and as far as I know there isn't yet a way for guests to be aware of or demand on what cores its workloads are scheduled on any of the major hypervisors.
- Wowfunhappy 5y agoHow does this work today with processors that have more threads than physical cores?
- jiggawatts 5y agoCurrently, all hyperthreads are equal. In this new model, some cores are hyperthreaded, and some aren't. Some cores are "full spec", some aren't.
- sudosysgen 5y agoHyper threads are not equal! If you thread a task over two hyper threads that belong to the same core you will see much less of a performance improvement. Similarly, even if a hyperthread has low utilisation, if it's twin is busy you will see lower performance.
- jiggawatts 5y agoThey're all equal in the sense that physically they're all the same. If you load every hardware thread equally, they run at equal speed. In a sense each thread is exactly 1/2 of a core. It's not like "logical CPU 3" is slower than "logical CPU 7"! This is like a highway with equal width lanes. Sure, there might be more traffic in some lanes, but the lanes themselves are equal. The new Intel CPU is like 8 wide lanes that can be used by up to 16 motorcycles or 8 cars (or combinations thereof), alongside 8 medium-width lanes only usable by small cars. It's bizarre for a desktop CPU. PS: Looking at the die shots, it boggles the mind that they didn't include 16 efficiency cores! They're so tiny that it would have been a negligible area increase, but given the relative performance it seems like it would have been worthwhile. I'm guessing memory bandwidth limits are holding them back somewhere...
- Wowfunhappy 5y agoWouldn't hyper-threading be more like a highway in which certain pairs of lanes occasionally merge into a single lane temporarily? If one lane has loads of traffic, you're going to want to enter the highway on a non-adjacent lane.
- w7 5y agoFor the most part guests are freely scheduled across threads/cores. Though I do know VMware's ESXi will prefer to place a guest's workloads on threads that do not share the same physical core if free resources allow. An important difference though is that guests do not have to be aware of most of this scheduling behavior, the exception being NUMA. My guess at this point is we might see something similar to virtual NUMA topologies, but for big-little.
- dragontamer 5y agoIt'd assume its just "asymmetric SMT" as a model. Each "hardware core" is seen as 2x big hardware thread + 1x small hardware thread. The 2x big hardware threads are from the big-core (SMT / Hyperthreading), while the 1x small hardware thread is the small-core. Since this chip is 8-big cores + 8 little cores, the math works out. ----- A future chip is rumored to be 8-big cores + 16 little cores, which can be implemented instead as 2x big-threads + 2x little-thread cluster (1x big core + 2 little cores per cluster). Though of course, that depends heavily upon the implementation details of this "Thread Director".