Co to jest maszyna łącząca?

Maszyna łącząca to superkomputer z tysiącami połączonych komputerów. Jego konstrukcja pozwala naukowcom przynajmniej częściowo naśladować procesy zachodzące w ludzkim mózgu. Używając obliczeń równoległych, maszyna łącząca implementuje sztuczną inteligencję. Niektóre z tych obszarów obejmują rozpoznawanie twarzy i innych elementów graficznych, aplikacje do rozwiązywania złożonych problemów w różnych dziedzinach, takich jak medycyna i kryptologia oraz kodowanie i dekodowanie poufnych dokumentów.

W 1981 roku Danny Hillis spisał pierwszy opis architektury maszyny łączącej. Był studentem Massachusetts Institute of Technology (MIT), który pracował w Laboratorium Sztucznej Inteligencji MIT. Pod koniec lat 1970. badania nad ludzkim poznaniem, które obejmowały badanie sposobu myślenia ludzi, spowodowały konieczność poszukiwania możliwości przetwarzania poza tak zwanymi komputerami sekwencyjnymi. W 1983 roku Danny Hillis pomógł również założyć Thinking Machines Corporation, gdzie maszyny łączące CM-1, CM-2 i CM-5 zostały zbudowane odpowiednio w 1985, 1987 i 1993 roku.

Maszyna łącząca wykorzystuje szybkie procesory równoległe. Gdy komputerowi łączącemu zostanie przedstawiony dane wejściowe, takie jak zdjęcie twarzy do rozpoznania, deleguje zadanie rozpoznawania do hierarchii tysięcy komputerów. Jest to analogiczne do dyrektora naczelnego wykonującego ogromne i skomplikowane zadania poprzez delegowanie do niewielkiej grupy osób, z których każdy z kolei deleguje do grupy osób i tak dalej. W rezultacie ogromne zadanie jest wykonywane w stosunkowo krótkim czasie przez „równoległe” jednostki, podobne do równoległych procesorów w maszynie łączącej.

Komputery domowe to komputery sekwencyjne z ograniczonymi możliwościami przetwarzania równoległego. Na przykład procesory graficzne w komputerach domowych to procesory równoległe, które zapobiegają spowolnieniu głównego procesora, dzięki czemu może on komunikować się z użytkownikiem w czasie rzeczywistym. Pełnoprawne komputery sekwencyjne wykonują jedną instrukcję na raz w oparciu o interpretację rozwiązania problemu przez programistę. Komputer domowy jest przydatny do stosunkowo prostych aplikacji, które nie wymagają bardzo skomplikowanej obróbki pod presją czasu i nie są przystosowane do realizacji funkcji automatu łączącego.

Istnieją różne typy komputerów w zależności od szybkości procesora, rozmiaru słowa danych i architektury. Szybkość procesora jest zwykle wyrażona w cyklach na sekundę, przy czym procesor jest taktowany lub synchronizowany czasowo, a czasami jest opisywana jako liczba instrukcji zmiennoprzecinkowych na sekundę. Rozmiar słowa danych to liczba bitów, na których procesor może pracować w jednej instrukcji maszynowej, zwykle 32, 64, 128 bitów lub więcej w przypadku większych komputerów. Architektura to sposób, w jaki części procesorów i komputerów są ze sobą połączone. Istnieją proste komputery równoległe i komputery masowo równoległe, takie jak maszyna łącząca.