AMD presenterar kvartalsrapport för Q4 2017 – gör vinst för helåret

Permalänk
Medlem
Skrivet av Yoshman:

det finns ett "all but Intel" tryck på marknaden, framförallt datacenter då man vill komma ur att Intel har väldigt nära 100 %. Problemet för AMD är att virtualiseringstekniken på x86 är inte kompatibel mellan Intel och AMD, man får en "lock-in" mot endera Intel eller AMD.
Detta är så vitt jag förstått inte fallet för ARMv8 då även virtualisering ingår i specifikationen. Givet utvecklingen borde nog AMD fortsatt med K12. Självklart behövs x86 för konsumentmarknaden p.g.a. Windows, men Epyc hade nog varit i ett klart bättre läge om den var en ARMv8 då man i det läget väljer mellan lock-in mot Intel alt. lock-in mot ARMv8 fast där finns ju flera leverantörer av plattformen![/li]

Är inte det beroende på hypervisor ? Kör själv en del KVM maskiner blandat Intel & AMD och har inga problem med live migreringar o.s.v. Har även satt CPU flaggor till "host", d.v.s. använd alla finesser på CPU:n som finns.
Har man en jätteny CPU och en jättegammal lär det bli problem, men då går det ju att sätta en lägre baseline.

Permalänk
Datavetare
Skrivet av ddelin:

Är inte det beroende på hypervisor ? Kör själv en del KVM maskiner blandat Intel & AMD och har inga problem med live migreringar o.s.v. Har även satt CPU flaggor till "host", d.v.s. använd alla finesser på CPU:n som finns.
Har man en jätteny CPU och en jättegammal lär det bli problem, men då går det ju att sätta en lägre baseline.

KVM är en "typ 2" hypervisor och i det läget borde det vara fullt möjligt att OS som har HW-access (Linux i KVM fallet) abstraherar bort alla skillnader i virtualiseringsstöd. Hela poängen med ett OS är ju att abstrahera HW-detaljer.

Det kräver dock fortfarande att man bara använder sådant i sin "host" som alla CPUer man live-migrerar till har stöd för. Du använder därför uppenbarligen inte TSX (vilket Linux normalt automatiskt använder i alla pthreads applikationer om det finns), MPX, SGX, AVX512 eller liknande (alla dessa finns bara på Skylake SP, inte på Epyc).

Ändå lite märkligt då KVM har stöd för Intel-only hypervisor-finesser som t.ex. "posted interrupts", VMCS shadowing och APIC virtualization. Du kanske inte använder något av detta, gissar att du i så fall inte heller gör något speciellt I/O-intensivt i dina gäster, eller?

Det är är i alla fall överhuvudtaget inte möjligt att live-migrera mellan Intel och AMD för "typ 1" hypervisors som Xen, Hyper-V och ESXi. T.ex. så säger Microsoft detta om Hyper-V

"Live migration requires two or more servers that run Hyper-V, that support hardware virtualization, and use processors from the same manufacturer, such as all AMD processors or all Intel processors, for example."

Är dock inte alls någon expert på detta område (kör lite KVM och Hyper-V för husbruk samt Hyper-V på Azure men där är ju eventuella migreringar MS huvudvärk), dock sett frågan samt svaret på huruvida live-migrering är möjligt många gånger.

Lite google nu pekar på att det är möjligt på KVM med "rätt" konfiguration (rätt här verkar betyda att man använder en väldigt liten mängd finesser både från VM och host). Specifikt säger KVMs dokumentation detta

"You can migrate a guest between an AMD host to an Intel host and back. Naturally, a 64-bit guest can only be migrated to a 64-bit host, but a 32-bit guest can be migrated at will. "

Det jag ställer mig frågan till då är: hur står sig KVMs I/O-prestanda jämfört med t.ex. Hyper-V eller ESXi? I/O-prestanda med Linux-gäst är riktigt bra i Hyper-V. Det jag använder KVM för (köra virtualiserade *BSD på Linux) är för enklare testning så där har jag aldrig behövt bry mig om prestanda.

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer