Projekt i implementacja narzędzia do analizy modeli spójności
Transkrypt
Projekt i implementacja narzędzia do analizy modeli spójności
Projekt i implementacja narzędzia do analizy modeli spójności PROMOTOR: DR INŻ. ANNA KOBUSIŃSKA FRYDERYK RACZYK KONRAD SZAŁKOWSKI Plan prezentacji Zadanie Podstawowe definicje Przebieg prac Użyte technologie Co już działa? Kalendarium Zadanie • Cel pracy: projekt i implementacja narzędzia do graficznego konstruowania diagramów przestrzenno-czasowych przetwarzania rozproszonego. • Dane wejściowe: historia przetwarzania wprowadzona przez użytkownika. Zadanie • Wyjście: •XML, •status weryfikacji obrazów historii pod kątem modeli spójności, •automatycznie generowane obrazy historii. Model spójności Model spójności określa (specyfikuje) wymagane własności systemu rozproszonego. Model spójności określa własności gwarantowane przez system rozproszonego. Model spójności określa gwarancje dotyczące spójności replik, dawane aplikacji (równoległej) przez system rozproszony. Istnieją 2 podejścia do modeli spójności Danocentryczne Modele spójności, które określają własności systemu, które zostaną zagwarantowane w odniesieniu do uporządkowania operacji odbywających się na pojedynczych obszarach pamięci. Klientocentryczne Modele spójności, które określają własności systemu, które zostaną zagwarantowane w odniesieniu do uporządkowania operacji zlecanych przez pojedynczego klienta. Zdefiniowane modele spójności Danocentryczne Klientocentryczne Spójność PRAM Writes follow reads Koherencja Read your writes Spójność procesorowa Monotonic reads Spójność przyczynowa Monotonic writes Spójność sekwencyjna Przebieg prac 1. Implementacja narzędzia do analizy spójności modeli dano-centrycznych 1. 2. 3. 4. 5. 2. Projekt i implementacja modelu przetwarzania Projekt i implementacja GUI Implementacja możliwości zapisu i odczytu modelu z formatu XML Implementacja narzędzi do analizy modelu (weryfikacja legalności historii, weryfikacja spełniania danych modeli spójności) Implementacja narzędzia do generowania obrazów historii spełniających zadane modele spójności Rozszerzenie możliwości narzędzia o analizę modeli kliento-centrycznych Technologie wykonania Java JRE v. 1.6 JUnit v. 4.0 SWT v. 3.6.5.0 Java API for XML processing (W3C) Log4J v. 1.2.16 Narzędzia developerskie Eclipse Helios v. 3.6 Subclipse v. 1.6 Jigloo v. 4.6 SVN Assembla Dia Diagram Editor v. 0.97 Aktualne stadium - model Aktualne stadium - serializacja <?xml version="1.0" encoding="utf-8" standalone="no"?> <model name="test"> <variables> <variable name="zm 2"> <value read_event="0" value="1" write_event="true" /> </variable> <variable name="zm 1"> <value read_event="2" value="2" write_event="true" /> </variable> </variables> <processors> <processor name="Procesor 3" /> <processor name="Procesor 2" /> </processors> <history> <local_history processor="Procesor 3"> <read_event_bind time="52" value="2" variable="zm 1" /> </local_history> <local_history processor="Procesor 2"> <write_event_bind time="29" value="2" variable="zm 1" /> <write_event_bind time="61" value="1" variable="zm 2" /> <read_event_bind time="74" value="2" variable="zm 1" /> </local_history> </history> <history_views/> </model> Aktualne stadium - GUI Aktualne stadium - GUI Aktualne stadium - GUI Aktualne stadium - GUI Aktualne stadium - GUI Aktualne stadium - GUI Aktualne stadium - walidacja Wykonano algorytmy walidacji poprawności Rozwijany jest łańcuch przetwarzania obrazu historii Aktualne stadium - generowanie Szukanie koncepcji rozwiązania Przegląd algorytmów grafowych Kalendarium Marzec Ukończenie implementacji modelu danocentrycznego i jego narzędzi Kwiecień Testy i poprawki modelu danocentrycznego i jego narzędzi Implementacja generowania obrazów historii przy zadanych modelach spójności Implementacja modelu klientocentrycznego i jego narzędzi Maj Rozpoczęcie pisania pracy Czerwiec Finalizacja implementacji Poprawki pracy Dziękujemy za uwagę