Tematyka

  • Główne składowe

  • Temat 1

    Układ przedmiotu
    Semestr W Ćw Lab Proj Sem Egz ECTS
    4 2 2

    • Temat 2

      Ogólna charakterystyka – cel przedmiotu

      Celem przedmiotu jest wprowadzenie słuchacza w podstawowe zagadnienia programowania współbieżnego. W ramach przedmiotu omawiane są podstawowe pojęcia dotyczące programowania współbieżnego, modele obliczeń równoległych, projektowanie algorytmów równoległych dla omawianych modeli oraz ich analiza. Słuchacz zapoznawany jest z wybranymi językami, systemami i bibliotekami obliczeń równoległych oraz sposobami tworzenia i synchronizacji procesów współbieżnych.
      • Temat 3

        Regulamin przedmiotu

        1. Przedmiot składa się z wykładu odbywającego się w wymiarze dwóch godzin tygodniowo.
        2. Obecność na wykładzie nie jest obowiązkowa.
        3. Pod koniec semestru jest przeprowadzane jedno kolokwium zaliczeniowe, które jest wcześniej zapowiedziane. Warunkiem zdobycia zaliczenia przedmiotu jest uzyskanie z kolokwium oceny co najmniej 3.0.
        4. W przypadku nieusprawiedliwionej nieobecności studenta na kolokwium, automatycznie otrzymuje on z niego ocenę 2.0.
        5. Przewidziane są dwa kolokwia poprawkowe dla studentów, którzy nie uzyskali zaliczenia.
        6. Nie ma możliwości poprawiania ocen pozytywnych z kolokwiów.
        7. W przypadkach nieobjętych regulaminem decyduje wykładowca przedmiotu.
        • Temat 4

          Program wykładu

          1. Definicje podstawowych pojęć: algorytm równoległy, proces sekwencyjny, proces współbieżny, złożoność pesymistyczna algorytmu równoległego. Wady i zalety komputerów równoległych.
          2. Prawo Amdahla, skalowalne przyspieszenie.
          3. Miary jakości algorytmów równoległych: przyspieszenie, koszt algorytmu, efektywność wykorzystania procesorów.
          4. Klasyfikacja modeli obliczeń równoległych według Flynna: modele SISD, SIMD, MIMD, MISD.
          5. Modele SIMD i MIMD z pamięcią wspólną i siecią połączeń.
          6. Sieci połączeń: liniowa, krata, drzewo binarne, piramida, sieć przetasowana, hipersześcian.
          7. Projektowanie algorytmów dla modeli SIMD.
          8. Projektowanie algorytmów dla modeli MIMD.
          9. Semafory.
          10. Monitory i zmienne warunkowe.
          11. Problem producenta i konsumenta: rozwiązanie z zastosowaniem semaforów i monitora.
          12. Problem ucztujących filozofów: rozwiązanie z zastosowaniem semaforów i monitora.
          13. Problem czytelników i pisarzy: rozwiązanie z zastosowaniem semaforów i monitora.
          14. Komunikacja i synchronizacja procesów w systemie Unix: uruchamianie procesów współbieżnych, semafory, kolejki komunikatów, pamięć wspólna, RPC.
          15. Wybrane elementy biblioteki Pthreads: wątki, muteksy, semafory, zmienne warunkowe.
          • Temat 5

            Literatura

            1. Z. Czech: Wprowadzenie do obliczeń równoległych, Wydawnictwo Naukowe PWN, Warszawa 2010.
            2. Praca zbiorowa pod red. Z. Czecha: Programowanie współbieżne. Wybrane zagadnienia, Skrypty uczelniane nr 2191, Wydawnictwo Politechniki Śląskiej,Gliwice 1999.
            3. Praca zbiorowa pod red. Z. Czecha: Systemy operacyjne i języki obliczeń równoległych, Skrypty uczelniane nr 2121, Wydawnictwo Politechniki Śląskiej, Gliwice 1998.
            4. Z. Weiss, T. Gruźlewski: Programowanie współbieżne i rozproszone w przykładach i zadaniach, WNT, Warszawa 1993.
            5. M. Ben-Ari: Podstawy programowania współbieżnego i rozproszonego, WNT, Warszawa 1996.
            6. W. Iszkowski, M. Maniecki: Programowanie współbieżne, WNT, Warszawa 1982.
            7. M.J. Rochkind: Programowanie w systemie Unix dla zaawansowanych, WNT, Warszawa 1997.
            • Temat 7

              • Temat 8

                • Temat 9

                  • Temat 10