Seminarium: Systemy Rozproszone
17 lutego 2011, godzina 12:15, sala 4070
Tomasz Dubrownik


Nowe Paradygmaty w Programowaniu Rozproszonym



Zarządzanie obliczeniami na tysiącach maszyn to trudne zadanie. By uwolnić od niego programistę aplikacji wprowadza się kolejne poziomy abstrakcji. Takie abstrakcje pozwalają ukryć różnice między rdzeniami obliczeniowymi czy ich liczbę, zapewnić bezpieczeństwo sekcji krytycznych i spójność komunikacji. Są one nieodzowne dla szybkiego tworzenia poprawnych aplikacji wysokiej wydajności na potrzeby współczesnego rynku. Niestety, ukrycie części problemów przed programistą musi wiązać się z pewnymi kosztami.

Popularny obecnie trend to ekstremalne uproszczenie programowania za koszt zauważalnego zmniejszenia siły ekspresji. Sztandarowym przykładem jest tu MapReduce - ten elegancki model pozwala uniknąć zupełnie zakleszczeń czy problemów żywotności, usuwa też zupełnie komunikację ze strefy ingerencji programisty. Ceną tego jest jednak ograniczenie się wyłącznie do schematu scatter-gather. Praktyka pokazała, że schemat ten jest niewystarczający dla wielu napotykanych problemów, czy to pod względem kosztu opracowania mieszczącego się w tym schemacie rozwiązania, czy też z powodu niskiej wydajności, wynikającej z ograniczonej komunikacji w tym modelu.

Na seminarium opowiem o dwóch stosunkowo nowych pomysłach, które zwiększają ekspresywność, jednocześnie zachowując łatwość programowania. Będą to:

Opowiem też o Habanero C - projekcie badawczym rozszerzającym C o nowe konstrukcje współbieżne. Celem HC jest maksymalna eksploatacja systemów wyróżniających wiele stopni lokalności przy minimalnym wysiłku programisty. Dostarczane przez niego konstrukcje są bardzo podobne do pełnych wątków, ale wciąż chronią programistę przed zakleszczeniem.

Serdecznie zapraszam!
Tomasz Dubrownik