Distribuovaná simulace pomocí OOPN Ivan Schwarz
Motivace Význam distribuovaných aplikací Nutnost nástroje pro modelování, simulaci a prototypování distribuovaných systémů Objektově-orientovaný distribuovaný simulační nástroj Proč distribuovaný simulátor ? Proč mobilita objektů ?
Cíle práce Navrhnout prostředky pro distribuovaný objektově-orientovaný systém určený pro simulaci a rychlé prototypování Realizace na konkrétním systému – distribuovaný PNtalk Důraz na transparentní vzdálené zasílaní zpráv a migraci objektů Navazuje na PNtalk Radka Kočího
Základní rysy systému I Mobilita objektů Transparentní distribuce Uniformní objektový model Jemnozrná granularita Striktně decentralizované řešení Rozšíření metaprotokolu o podporu distribuovaného zpracování
Základní rysy systému II Předávání parametrů referencí Další způsoby předávání parametrů (by-move, by-visit) Ovládání mobility objektů programátorem Podpora dynamického přidávání a odebírání uzlů
Služby systému Lokace objektů Vzdálené zasílání zpráv Mechanismus přesunu objektů Distribuovaný logický čas Distribuovaný garbage-collector
Rozšíření metaprotokolu Nové metody metaprotokolu PNObject a PNtalkProcessor Alternativní způsoby předávání parametrů – úprava performMessage: Vzdálené vytváření objektů – newOn: (remoteNew:) Strategie přesunu objektů
Lokace objektů Slabá lokace – každý uzel drží informaci o poloze objektu, na který existuje reference Silná lokace – metoda přeposílacích adres (forwarding addresses) Při přesunu objekt zanechá na uzlu svou novou adresu, požadavky jsou pak směrovány na tuto adresu
Harmonogram práce pro letošní rok Září - studium Smalltalk verze PNtalku od Radka Kočího a z toho plynoucí rozšíření stávající meta-úrovně systému PNtalk Říjen – řešení problému lokace objektů v distribuovaném prostředí Listopad - analýza a realizace algoritmů pro vzdálené zasílaní zpráv Prosinec – analýza a výběr algoritmů pro přesun objektů v distribuovaném prostředí Leden – řešení synchronní komunikace + analýza možnosti alternativních způsobů předávání parametrů Únor – realizace distribuovaného logického času s systému Březen – realizace distribuovaného garbage-collectingu Duben - vytvoření case study a funkčnosti (hlavně z hlediska výkonnosti, škálovatelnosti, …)