Modelowanie i analiza systemów informatycznych

Projekt

Informatyka
Prowadzący dr hab. inż. Krzysztof Zatwarnicki, prof. PO


Uwagi ogólne

W ramach przedmiotu zajmować będą się państwo zagadnieniami symulacji systemów komputerowych. Zadania wykonywane będą w grupach trzyosobowych. W ramach zajęć, w określonych terminach podanych poniżej, należy oddać do oceny poszczególne etapy pracy. Za zadanie oddane z opóźnieniem o tydzień można otrzymać co najwyżej ocenę 3, zadania oddane w terminie późniejszym nie będą oceniane. Ocena końcowa będzie średnią ocen cząstkowych.

W ramach poszczególnych zadań oddane powinny zostać sprawozdania z każdego etapu pracy. Sprawozdania powinny mieć formą elektroniczną dokumentu PDF+doc i powinny zostać oddane w terminach wskazanych poniżej. Sprawozdania muszą zostać oddane osobiście (nie mogą być przesłane mailem) w obecności wszystkich członków zespołu tworzącego sprawozdanie (osoby, nieobecne przy oddaniu sprawozdania nie otrzymają za nie oceny). Przy oddaniu sprawozdania i wystawieniu za nie oceny prowadzący będzie przepytywał członków poszczególnych zespołów o szczegóły wykonania zadania. Sposób i rzeczowość odpowiedzi na pytania będą miały znaczący wpływ na ocenę za dane sprawozdanie.


Dokumentacja wraz z programami wytworzonymi w danym etapie pracy powinna zostać wgrana na serwer po jej prezentacji i ocenie:
Miejsce wgrywania dokumentów.

Zakres oraz terminy oddania poszczególnych etapów pracy

  1. W ramach pierwszych zajęć omówione zostaną zadania, które będą wykonywane w ramach projektu.
    Pierwsze zadanie polega na wybraniu jednego z tematów zadań podanych na końcu dokumentu. Każdy temat realizowany jest przez daną grupę przez cały semestr. W ramach pierwszego zadania należy wykonać następujące zadania:
    - szczegółowy opis celu i zakresu badań dla proponowanego rozwiązania (co badać, w jaki sposób, jakie będą wyniki),
    - zaproponować i przedstawić strukturę badanego systemu (struktura ma być  zaprezentowana w postaci graficznej i opisana).
    Należy wykonać sprawozdanie oraz mówić je z prowadzącym.
    Termin oddania pierwszego sprawozdania: xxx.04.2019 (oddanie w terminie zajęć).
     

  2. Przedstawienie działającego systemu.
    Termin prezentacji: xxx.05.2019(oddanie w terminie zajęć).
     

  3. Zaprezentować wyniki przeprowadzonych badań (sprawozdanie oraz omówienie). W ramach sprawozdania proszę opisać działanie symulatora lub programu/programów (ich możliwości wykorzystania), opisać sposób prowadzenia badań, parametry systemu (czasy obsługi lub parametry rzeczywistego komputera, użyte oprogramowanie),  przedstawić wyniki badań w postaci tabel i wykresów (wszystkie tabele i wykresy muszą być prawidłowe opisane), przeprowadzić wnikliwą dyskusję nad wynikami.
    Termin oddania sprawozdania z wynikami badań: xxx.06.2019 (oddanie w terminie zajęć).
     

  4. Wystawienie oceny na podstawie informacji dostarczoej w dokumentacji zawierającej wykonane oprogramowanie oraz sprawozdanie w podanym powyżej formacie.
    Wpisy: xxx.06.2019  (w terminie zajęć).

 

Zadania do wykonania:

  1. Przebadać w programie symulacyjnym napisanym w OMNET ++ działanie klastra serwerów WWW zawierającego serwery WWW wraz z serwerami bazodanowymi (każdemu serwerowi WWW odpowiada jeden serwer bazodanowy) oraz przełącznik webowy dystrybuujący obciążenia zgodnie z algorytmami Round-Robin (karuzelowy), Least Connections (działający ze względu na najmniejszą liczbę połączeń), Weighted Least Connections (ważony ze względu na najmniejszą liczbę połączeń). Przy czym przełącznik webowy posiada funkcjonalność caching proxy, gdzie wielkość pamięci podręcznej przełącznika będzie podlegała zmianie (cache działa zgodnie z algorytmem LRU).

  2. Wykonać badania na rzeczywistym komputerze z zainstalowanym systemem Linux Apache wraz z PHP, ASP .NET Core oraz Python. Należy przebadać szybkość działania stron wykorzystujących wskazane technologie. Do badań należy dobrać odpowiednie narzędzia umożliwiające obciążanie serwera żądaniami HTTP i mierzące czas odpowiedzi.

  3. Przeprowadzić badanie wydajności pracy przeglądarek internetowych (co najmniej 3 przeglądarki dla systemu) w systemach Windows 10, android. Eksperymenty należy przeprowadzić dla różnych stron i technologii. Wszystkie eksperymentu muszą być przeprowadzone z wykorzystaniem narzedzi samodzielnie wykonanych.

  4. Porównać protokoły HTTP w wersjach 1.0, 1.1, 2.0. Sprawdzić szybkość pobierania stron internetowych w wykorzystaniem wskazanych protokołów.

  5. Porównać technologie umożliwiające tworzenie chmór obliczeniowych. Przeprowadzić badania umożliwiające porównanie jakościowe i wydajnościowe wybranych rozwiązań.

  6. Zbudować oprogramowanie z wykorzystaniem bibliotek Pcap/winpcap itp. umożliwiające badanie działania przeglądarek internetowych, w tym umożliwiające określenie liczby równocześnie pobieranych plików, pokazanie na wykresie czasu pobierania całej strony i poszczególnych obiektów, określenie przerwy czasowej w pobieraniu poszczególnych plików w ramach pojedynczego połączenia.

  7. Wykonać symulator z wykorzystania oprogramowania Opnet (Riverbed) prezentującego działanie klastrów serwerów WWW umieszczonych w różnych lokalizacjach geograficznych i obsługujących dużą liczbą klientów. Przeprowadzić symulacje i zaprezentować wyniki.

  8. Przeprowadzić badania szybkości działania oprogramowania napisanego w języku C++, C#, Java, Pascal dla programów wykorzystujących działania typowo matematyczne, wielowątkowe, "okienkowe". Badania można również dla porównania przeprowadzić na urządzeniach mobilnych.

  9. Wykonać symulator z wykorzystaniem oprogramowania NS2/NS3. Symulator powinien symulować działanie sieci komputerowej, w której pracuje jeden serwer WWW podłączony do Internetu siecią 10 Mbs. Na serwerze powinno pracować wielu klientów rozmieszczonych w różnych lokalizacjach z różnymi łączami.

  10. Temat własny.