Oto kilka pytań, chciałbym, żebyś mógł mnie oświecić.
- Czy można połączyć moc obliczeniową 2 komputerów?
- Jak mam to zrobić?
Oto kilka pytań, chciałbym, żebyś mógł mnie oświecić.
Odpowiedzi:
Nieprzejrzyste, gdzie działający program może w jakiś sposób użyć drugiego komputera do wykonania kodu, ponieważ są one logicznie oddzielne, bez możliwości komunikacji między jednostkami centralnymi i dostępu do pamięci.
To nie znaczy, że nie możesz łączyć mocy obliczeniowej:
Jeśli chcesz w jakikolwiek sposób wykorzystać drugi komputer, kluczowa jest możliwość zdalnego sterowania. Dwa sposoby osiągnięcia tego celu to zdalny dostęp (RDP, VNC) lub alternatywnie coś w rodzaju synergii +.
Jedna z moich najczęściej używanych linii - tak i nie!
Tak, jest to możliwe - w przypadku niektórych aplikacji zaprojektowanych do działania w ten sposób. (Powszechnie znany jako klaster - dalsze czytanie tutaj )
Nie, nie jest możliwe (przynajmniej o ile mi wiadomo) zdjąć dwa komputery z półki, „związać” je razem i uzyskać połączoną pamięć, moc obliczeniową i wszystko inne.
To bardzo możliwe! Ale sądząc po prostocie twojego pytania, zakładam, że chciałbyś po prostu uruchomić program, który magicznie sprawi, że twój komputer będzie dwa razy szybszy, co nie jest możliwe.
Musisz zrozumieć, że po uruchomieniu program zachowuje swój stan, prowokując procesor do przenoszenia pamięci między HDD, RAM i rejestrami procesora, a także adresów różnych komponentów (takich jak karty graficzne lub karty sieciowe). Problem z użyciem procesora z innego komputera do pomocy polega na tym, że potrzebuje on dostępu do tej samej pamięci. Utrzymanie lustrzanego obrazu pamięci komputera na innym komputerze wymaga tak dużego obciążenia, że z łatwością pokonuje cel próby dodania innego komputera w celu zwiększenia wydajności :)
Ale rodzajami rzeczy, które można podzielić na wiele komputerów, są rendering obrazu lub niektóre obliczenia matematyczne, które mogą działać niezależnie.
Jeśli szukasz metody połączenia mocy obliczeniowej dwóch komputerów w jeden, „najprostszym” sposobem jest skonfigurowanie obu komputerów jako hostów maszyn wirtualnych za pomocą oprogramowania takiego jak VMWare ESXi (należy pamiętać, że będzie to wymagało urządzenie, aby mieć kompatybilny sprzęt) i utworzenie grupy zasobów lub klastra oraz utworzenie maszyny wirtualnej korzystającej z zasobów obu komputerów. To NIE zapewni ci pełnej prędkości 2x (stracisz zasoby z powodu wirtualizacji) i jest ograniczonym rozwiązaniem ze względu na prawdopodobne wymagania kompatybilności, ale jest to najbardziej „poprawna” odpowiedź na twoje pytanie. Maszyna wirtualna będzie działać jak pojedynczy komputer z mocą obliczeniową obu hostów minus narzut wymagany do utrzymania wirtualizacji.
Zgadzam się z innymi odpowiedziami:
Jeśli mówisz o tworzeniu oprogramowania do pracy w środowisku rozproszonym (na wiele komputerów), oto kilka sugestii: