Obliczenia rozproszone to dziedzina informatyki badająca projektowanie i zachowanie systemów, które zawierają wiele luźno powiązanych komponentów. Komponentami takich systemów rozproszonych może być wiele wątków w jednym programie, wiele procesów na jednej maszynie lub wiele procesorów połączonych przez wspólną pamięć lub sieć. Systemy rozproszone są niezwykle podatne na nondeterminizm, gdzie zachowanie systemu jako całości lub poszczególnych komponentów jest trudne do przewidzenia. Taka nieprzewidywalność wymaga szerokiego zakresu nowych technik wykraczających poza te stosowane w tradycyjnej informatyce.

Jak inne dziedziny informatyki, informatyka rozproszona obejmuje szeroki zakres tematów, od stosowanych do bardzo teoretycznych. Od strony teoretycznej, informatyka rozproszona jest bogatym źródłem matematycznie interesujących problemów, w których algorytm jest konfrontowany z przeciwnikiem reprezentującym nieprzewidywalne elementy systemu. Analiza algorytmów rozproszonych często ma silny posmak teorii gier, ponieważ ich wykonanie wiąże się ze złożoną interakcją pomiędzy zachowaniem algorytmu a odpowiedziami systemu.

Michael Fischer jest jednym z pionierskich badaczy teorii obliczeń rozproszonych. Jego praca nad wykorzystaniem argumentów przeciwników do dowodzenia niższych granic i wyników niemożliwości ukształtowała wiele badań w tej dziedzinie. Obecnie jest aktywnie zaangażowany w badanie zagadnień bezpieczeństwa w systemach rozproszonych, w tym narzędzi kryptograficznych i zarządzania zaufaniem.

Badania Jamesa Aspnesa kładą nacisk na wykorzystanie randomizacji do rozwiązywania fundamentalnych problemów w informatyce rozproszonej. Wiele problemów, które okazują się trudne lub niemożliwe do rozwiązania przy użyciu algorytmu deterministycznego, można rozwiązać, jeśli procesy mogą rzucać monetami. Analiza powstałych algorytmów często wymaga użycia nietrywialnych technik z teorii prawdopodobieństwa.

Badania systemów rozproszonych w Yale obejmują prace zarówno nad wsparciem języków programowania dla obliczeń rozproszonych, jak i nad wykorzystaniem technik systemów rozproszonych do wsparcia programowania równoległego. Taka praca ma na celu zdjęcie części ciężaru zrozumienia złożonych systemów rozproszonych z barków projektantów systemów rozproszonych poprzez umożliwienie kompilatorowi lub bibliotekom run-time’owym obsługi zagadnień związanych z harmonogramowaniem i komunikacją.

Projekt FLINT prowadzony przez Zhong Shao skupia się na opracowaniu nowej architektury kodu mobilnego wspierającej wydajną migrację danych i programów na rozproszonych i heterogenicznych platformach obliczeniowych. FLINT używa wspólnego typowanego języka pośredniego do wspierania bezpiecznego wykonywania kodu napisanego w wielu językach programowania, takich jak Java, C i ML.

Praca Davida Gelerntera nad rozwojem języka koordynacji Linda i związanych z nim narzędzi jest przykładem wykorzystania technik systemów rozproszonych do wspierania programowania równoległego. Linda zapewnia wirtualną „przestrzeń kafelków”, przez którą procesy mogą się komunikować bez względu na lokalizację. Jego obecny projekt Lifestreams w podobny sposób upraszcza zadania związane z zarządzaniem informacją, uwalniając użytkownika od wielu obowiązków urzędniczych narzucanych przez tradycyjne systemy plików. Avi Silberschatz specjalizuje się w technikach zarządzania transakcjami, które odnoszą się zarówno do rozproszonych systemów baz danych, jak i systemów wielobazowych.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *