Buduję teraz moją nową maszynę domową i jak zwykle będzie to mocno przeciążona stacja robocza, która będzie służyć jako maszyna do programowania i testowania, serwer plików i konsola do gier (a także dodam karty telewizyjne i streaming multimediów dla mojej sieci domowej) .
Ponieważ te przypadki użycia działają przeciwko sobie (serwer plików jest niedostępny, gdy maszyna jest używana jako konsola do gier), zastanawiam się nad użyciem Xen do zapewnienia wszystkiego na raz. Wydajność nie powinna być ogólnie problemem, ale przypadek użycia konsoli do gier zdecydowanie wymaga bezpośredniego dostępu do GPU.
Dlatego mam kilka pytań:
- czy jest to w ogóle wykonalne?
- czy przepustowość GPU jest wystarczająco użyteczna w przypadku GPU innych niż serwer?
- przy zakupie, jakich technologii powinienem szukać na płycie głównej (najprawdopodobniej ponownie wybierając Gigabyte + procesor Intel)
- czy na horyzoncie pojawia się technologia wirtualizacji, na którą warto czekać?
- jak dobry jest Xen w dzieleniu zasobów?
- część serwera plików i strumieniowania multimediów na stacji roboczej musi działać, nawet jeśli część konsoli do gry zjada 100% swoich zasobów i odwrotnie
- system będzie działał na 8 dyskach z oprogramowaniem Raid6 i LVM, czy powinienem kupić dysk dedykowany do konsoli systemu gier?
- Czytałem o problemach z wydajnością Xen i I / O
Wszelkie uwagi będą mile widziane.
PS Nie będę miał nic przeciwko użyciu innej technologii niż Xen, ale nie wiem o żadnej innej platformie wirtualizacji, która obsługuje przekazywanie GPU.
Odpowiedzi:
Informacje na temat przekazywania przez PCI są bardzo nieaktualne i nieprzydatne.
Mam HD 7850 i śmieciową kartę Nvidia tylko PCI VGA, która musi mieć dekadę. Żadne z tych urządzeń nie obsługuje resetowania na poziomie funkcji. Oba działają bezbłędnie, przenoszone do DomUs; Pracuję w domenie Domain0 bez głowy, bez karty graficznej, obie moje karty są wysyłane do pciback przy rozruchu za pomocą argumentu jądra.
Xen jest całkiem dobry w przydzielaniu zasobów do maszyny wirtualnej i nie zezwalaniu na dostęp do innych zasobów; możesz przypiąć vcpus do pcpus (rdzenie, wątki) i przypisać dedykowaną pamięć. Jeśli chodzi o wysokiej klasy Nvidię, możesz mieć dla ciebie trochę pracy - ale trudno to powiedzieć, ponieważ dokumenty / streszczenia, które mówią, że mówią również takie rzeczy jak Reset poziomu funkcji jest koniecznością: już nie jest.
źródło
Krytyczną częścią konfiguracji jest wydajność 3D.
Pracowałem sporo z Xen 2-3 lata temu - przydział zasobów działał wtedy dobrze i jestem pewien, że technologia uległa poprawie. Wszystko oprócz gier albo zużywa bardzo mało zasobów (serwowanie plików, przesyłanie strumieniowe ...), albo nie jest krytyczne w czasie rzeczywistym (kompilacja w systemie deweloperskim itp.).
Nie zrobiłem przejścia przez GPU, ale pobieżne googling nie oznacza, że działa niezawodnie , konieczne jest jego poprawianie. Zasadniczo nie będzie to plug & play - masz całkowitą gwarancję, że kilka / niektóre / wiele gier nie będzie działać.
Najbardziej niezawodną opcją IMHO byłoby użycie Win7 jako hosta i gier oraz uruchomienie innych usług jako maszyn wirtualnych za pośrednictwem VirtualPC lub VirtualBox. To nie jest najbardziej eleganckie rozwiązanie (wszystko zależy od systemu Windows, każde ponowne uruchomienie oznacza zatrzymanie wszystkich maszyn wirtualnych itp.), Ale jeśli chcesz gry, która po prostu działa, jest to właściwa droga (inne niż używanie drugiego komputera).
źródło
Tak. Niedawno wykonałem przejście Xen VGA i działało dobrze. Obejrzyj następujący film: http://www.youtube.com/watch?v=Gtmwnx-k2qg
Tak i nie. Oficjalnie obsługiwane są tylko NVDIA Quadro FX 3800, 4800 i 5800, ale z powodzeniem użyłem karty NVIDIA GeForce GTX 460, jak w poprzednim filmie, a Teo En Ming użył karty GeForce 8400 GS. To zależy od karty graficznej.
Należy upewnić się, że mikroukład obsługuje I / O MMU (AMD-Vi / VT-d), że procesor obsługuje AMD-V / VT-x i że resetowany jest poziom funkcji karty graficznej (FLR).
Pamiętaj, że ta technika nie jest jeszcze dojrzała i nie gwarantuje się jej działania, dopóki jej nie wypróbujesz!
źródło
W zależności od gier, które chcesz uruchomić, lepszym rozwiązaniem może być użycie Wine na Linuksie: sprawdź Baza danych aplikacji Wine , a także istnieją komercyjne wersje Wine, które mogą zapewnić lepszą kompatybilność. Nie potrzebujesz nawet licencji Windows.
W pewnym sensie Wine zapewnia przekazywanie GPU, ale jest na poziomie Windows API, a nie na poziomie PCI. Wydajność 3D jest często porównywalna w systemach Windows i Linux + Wine.
źródło
Na podstawie moich doświadczeń z Xenem, tutaj Q / A:
źródło