Czy kilka starszych komputerów można połączyć by tworzyły mocniejszą maszynę?Jak?


(ebb6) #1

Czy kilka starszych komputerów można połączyć by tworzyły mocniejszą maszynę?Jak?


#2

Wszystko zależne od oprogramowania i od pracy którą mają wykonać takie komputery.
Masowe łączenie komputerów przez sieć wdrożono np. w projektach NASA a konkretniej w projektach ESI.
Setki tysięcy komputerów oddawał jakiś ułamek czasu procesora do obliczeń i w ten sposób zsumowano wydajność tysięcy pojedyńczych PC. W domu pod Windows raczej ciężko będzie Ci coś takiego wykonać. Prędzej linux + konkretne oprogramowanie pisane pod samego siebie lecz z tą prędkością będzie różnie.
Chodzi o przepustowość sieci LAN którą posiadasz, o szybkość komunikacji między PC oraz o szybkość działania kodu i oprogramowania. Stworzyć mega komputer w chałupie dało by się lecz największym problemem będzie oprogramowanie. Jakiś soft musi działać wielozadaniowo, musi umieć dzielić zadanie na części, umieć rozesłać przez sieć do innych PC, te inne PC muszą umieć zrozumieć to jakiej pracy zażądał od niego komputer główny, wykonać te pracę i odesłać a na koniec główny PC musi umieć to poskładać i wykorzystać. Jak dla mnie robota na rok dla kilku programistów napaleńców a i tak nie wiadomo czy się uda. Główny komputer musi być naprawdę silny by udźwignął w czasie rzeczywistym to co wykonują dla niego pozostałe PC zatem jeśli na pokładzie masz np. 10 x jakieś Pentium4 które mają 2GB RAM i to wszystko działa w mega szybkiej sieci LAN to wypadało by by centralny PC miał moc 30% wyższą jak pozostałe 10 bo inaczej się zapcha.
Stworzyć taką platformę jest jak najbardziej możliwe ale na bank nie pod Windowsem. tylko Linux, tylko własny soft.
Musisz określić co chciał byś wykonywać na takim kombajnie.
Można też oczywiście podzielić pracę standardowego PC i rozesłać ją do różnych PC przez sieć tak by każdy z nich wykonywał co innego np. jeden zajmuje się tylko i wyłącznie dźwiękiem, dwa inne dzielą pracę na grafice, centralny jest odpowiedzialny za zarządzanie itp. lecz tak naprawdę zbudować coś takiego jest bardzo ciężko. Podstawowym i jedynym problemem jest system operacyjny i oprogramowanie.

Kolejna sprawa to zarządzanie sprzętem, sterowniki, porty, EFI i inne. By zacząć dzielić pracę wykonywaną przez CHIPSET graficzny komputera centralnego będziesz musiał przerobić pod siebie nawet i BIOS systemowy łącznie ze sterownikami grafiki itp. itd. Kodów źródłowych w 99,99998% przypadków nie uda Ci się zdobyć.

Podstawą do rozpoczęcia budowy takiego mega sprzętu jest możliwość sterowania z poziomu kodu każdym elementem na płycie głównej od biosów począwszy na sterownikach zakończywszy.
Do tego pisany pod siebie system operacyjny (np. Linux). Dopiero wtedy mogąc sterować sprzętem i portami we/wy będziesz mógł sterować strumieniem danych czyli brzydko mówiąc wysyłać dane w inne miejsca jak dotychczas.
Kod taki wbrew pozorom nie jest ciężki ale wymaga naprawdę masy pracy. Kod taki tłumaczony na język czytany to nic innego jak:

wczytaj dane, coś tam rób, jeśli procesor 1 zajęty 100% prześlij dane do CPU2 i tak dalej.
W przypadku pojedynczego PC będzie tak że jeśli procesor 1 = 100% zajętości to czekaj.
Program (sterownik bios, czy system op.) musi wiedzieć co robić z daną porcją danych.

Wykombinowanie takiego mega komputera w pojedynkę graniczy z cudem.
Są w necie różne programiki do różnych zdań które pracują w sieci ale to chyba nie to o co pytasz.


(tobexor) #3

ale się rozpisałeś podziwiam to że ci się chciało
o ile pamiętam z gimby nauczyciel to kiedys tłuczmaył
sprawa jest taka że łączysz komputery kablem ethernet 1000Gb/s stawiasz server/claster i masz o ile wiem na zwykłym windows tego nie zrobisz jedynie co to na linuksie ale nawet jeśli to i tak tego nie wykorzystach gry nie są do tego przystosowanie i i tak ci wszystko poleci na 1 kompie a oprogramowania do tego brak


#4

Soft pewnie takowy istnieje choć by w Intelu czy NASA ale jest to oprogramowanie niekomercyjne. Nie znajdziesz tego w sklepie w pudełku. Ci od badań kosmosu z NASA potrzebują naprawdę mega wydajnych procesorów do obliczeń więc myślę że jeśli istnieje program ESI to na bank coś innego też wewnątrz firmy mają ale najczęściej są to softy pisane przez pracowników programistów na użytek wewnętrzny.
Z czymś takim by połączyć w LAN kilka PC i używać kompletu jako jednego silnego PC np. do gier to się jeszcze nie spotkałem. Tak jak wyżej - nie ma softu który by podzielił pracę pojedynczego PC, rozdzielił i później poskładał. Nawet chyba linuksowcy nic w tym temacie nie obmyślili ale tu mogę się mylić.
Magistrala łącząca dane przesyłane między CPU, pamięcią, kartami graficznymi, dźwiękowymi, monitorem, dyskami i masą innych to tak naprawdę olbrzym pomimo tego że dzisiejszy PC to liliput.

Jeśli taki temat interesuje Cię na maksa i jesteś początkującym programistą to zacznij od pisania własnego systemu operacyjnego by zrozumieć w przyszłości jak to wszystko działa. Możesz zacząć od kodów źródłowych jakiegoś linuksa lub nawet od uwolnionego kodu MS-DOSa.
Z życia jednak wiem że jedna głowa ma ogromny problem z ogarnięciem tego wszystkiego.
MSDOS z lat 80-tych to nie dzisiejszy Windows i przede wszystkim sprzęt.

Mój obecny folder WINDOWS (Win7pro) zawiera obecnie:
22,9 GB (bajtów: 24 673 755 136) danych
164 575 plików, 24 306 folderów

Weź to ogarnij w pojedynkę by stworzyć coś na wzór Windowsa … masakra
jednak nie trzeba się opierać na Windowsie.
Można było by zacząć od najlżejszego w świecie jakiego uda się znaleźć linuksa.
Z tego co wiem to skromne 250-450MB na pendrive’ie jest już wstanie uruchomić PCta i go obsługiwać.
Musiał byś sobie zbudować zestaw składający się z np. 3PC + PC główny - razem 4, połączyć to Switchem w sieć i zacząć pisać (przerabiać) jakiegoś linuksa od podstaw.
Tak przez chwilę zacząłem się zastanawiać nad tym wszystkim i powiem szczerze że zaciekawił mnie ten temacior :slight_smile:
Fajnie było by stworzyć coś takiego… ale wiesz co?
Jakiś czas temu ktoś w necie na upartego (naprawdę upartego) szukał ludzi do pomocy przy pisaniu nowego systemu operacyjnego. Nawet na elektrodzie mi się o uszy obiło.
Śledziłem temat kwartał i później w koszu wylądował bo wszyscy mieli pretensje że ktoś coś chce a gościu szukał jedynie brygady informatyków do projektu. Szukał i nie znalazł. Nie znalazł bo po głębszej debacie wyszło na to że zacząć by trzeba było od BIOSU by zacząć sterować sprzętem w inny jak dotychczas sposób.