3 ms·
I think the key word is 'concurrently'. My guess is that micro and small instances indeed share CPUs, just never 'at the same time' and L1 is flushed before tra
by ssambros 8y ago
I think the key word is 'concurrently'. My guess is that micro and small instances indeed share CPUs, just never 'at the same time' and L1 is flushed before transition from one VM to another.
I work for Google Cloud, but not related to security or OS development, so am not aware how it is actually being done.
- jshap70 8y agoseems slow. Having to flush on every swap, I mean. I wonder if there wont be a move away from offering these kinds of offers: if offering 0.2 of a core means putting in 0.3 effort, that's a 20-30% drop in how many you can run per core.
- Dylan16807 8y ago512 entries, 12 cycles to refill each entry from L2, at 3GHz that's only 2 microseconds worst case to refill the L1 cache. And that's if you keep the same task in it. If you're switching tasks most of it is going to get evicted anyway. GCE uses KVM, which defaults to the linux scheduler with time slices from 0.75ms to 6ms, so the extra impact should be negligible. It's possible they tuned it weirdly, but I can't think of any reason to do so. Flushes that occur from hypervisor calls could possibly have an impact, but those will happen whether you share a CPU or not.
- sabas123 8y ago> and L1 is flushed before transition from one VM to another. Is this true?