framework pentru aplicaţii de calcul distribuit

13
Framework pentru aplicaţii de calcul distribuit Framework-ul DCalc

Upload: daphne

Post on 19-Mar-2016

38 views

Category:

Documents


3 download

DESCRIPTION

Framework pentru aplicaţii de calcul distribuit. Framework-ul DCalc. Reducerea timpului de evaluare a unei probleme Maximizarea performanţelor prin execuţie paralelă şi distribuită Folosirea resurselor puţin utilizate în companii / instituţii Minimizarea costurilor - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Framework pentru aplicaţii de calcul distribuit

Framework pentru aplicaţii de calcul distribuit

Framework-ul DCalc

Page 2: Framework pentru aplicaţii de calcul distribuit

Scopul proiectului Premise de implementare

Reducerea timpului de evaluare a unei probleme

Maximizarea performanţelor prin execuţie paralelă şi distribuită

Folosirea resurselor puţin utilizate în companii / instituţii

Minimizarea costurilor Alte sisteme distribuite

asemănătoare: JPPF (Java Paralel

Programming Framework) LAM (Local Area

Multicomputer)

Structură de tip framework

Stabilitate Flexibilitate Extensibilitate Simplu integrabil

Page 3: Framework pentru aplicaţii de calcul distribuit

Sisteme de calcul paralel

Sisteme multi-procesor Sisteme multi-computer

Distribuţie Paralelism

PROBLEMĂ

CALC CALC

CPU CPU CPU CPU

Page 4: Framework pentru aplicaţii de calcul distribuit

Platformă şi tehnologii

Framework-ul .NET .NET Reflection .NET CodeDom TCP Sockets HTTP XML

Page 5: Framework pentru aplicaţii de calcul distribuit

Algoritmi Probleme acceptate

Interfaţa IScript Interfaţa

IAlgorithm Interfaţa

IAlgorithmProvider Clasa ScalarSet Tipuri de date

acceptate

Probleme natural paralelizabile

Preferarea funcţiilor pure

Principiul “divide and conquer”

Page 6: Framework pentru aplicaţii de calcul distribuit

Compilarea dinamică

Interfaţa IScriptAssembler Interfaţa ICompileScript Clasa CSharpScriptAssembler Clasa DotNetCompiledScript Utilizarea unui nou Application

Domain

Page 7: Framework pentru aplicaţii de calcul distribuit

Evaluarea datelor Distribuţia

Interfaţa IRunner

Clasa LocalMachineRunner

Cozile de execuţie Interfaţa IWorkQueue Clasele WorkQueue şi

ThreadedWorkQueue

Clasa RemoteMachineRunner

Conceptul de “poartă” şi interfeţele IRemoteGateClient, IRemoteGateServer

Comunicarea prin protocolul HTTP

Comunicarea prin protocolul TCP

Împachetarea datelor

Page 8: Framework pentru aplicaţii de calcul distribuit

Module de echilibrare Dispecerul ale încărcării

Echilibrarea cozilor de execuţie

Echilibrarea între calculatoare

Interfaţa ILoadBalancer

Metoda Round-Robin Metoda “corectă” Metoda “corectă” cu

puncte de penalizare

Mod simplificat de acces a facilităţilor oferite de framework

DataPlanner – planificatorul de date

Firul de auto-reglare Moduri de rulare:

Doar local Doar la distanţă Combinat

Page 9: Framework pentru aplicaţii de calcul distribuit

Principiul de funcţionare client

Algorithm Provider

Algorithm

Dispatcher

Data Planner

Load Balancing

Runner (Http)

Runner (Local)

Threaded Work Queue

Queue

Queue

Remote machine

Script Assembler

Load Balancing

Page 10: Framework pentru aplicaţii de calcul distribuit

Threaded Work Queue

Queue

Queue

Script Assembler

Load Balancing

Listener Service

Client Output Queue

Runner(Local)

Client registration data store

Principiul de funcţionare server

Page 11: Framework pentru aplicaţii de calcul distribuit

Avantajele sistemului DCalc Distribuţia algoritmilor în forma “cod sursă”

permite utilizarea unui mediu ne-omogen Posibilitatea implementării unui număr larg de

module de asamblare specifice fiecărui limbaj Execuţia algoritmului compilat într-un Application

Domain separat ce sporeşte robusteţea sistemului Framework-ul poate fi extins pentru un număr mai

larg de probleme, cum ar fi grupul de probleme MapReduce

Adăugarea noilor probleme sub formă de “plug-in” Posibilitatea implementării unui server DCalc cu

câteva linii de cod Practic orice componentă din framework poate fi

schimbată sau rescrisă

Page 12: Framework pentru aplicaţii de calcul distribuit

Dezavantajele sistemului DCalc

Securitatea scăzută în cadrul comunicării pe reţea, se recomandă utilizarea unei reţele închise;

Are sens utilizarea acestui framework doar pentru evaluarea problemelor intensiv computaţionale;

Necesită o reţea ce permite viteze mari de transfer;

Nu poate fi utilizat în cazul problemelor ce necesită comunicare nod la nod.

Page 13: Framework pentru aplicaţii de calcul distribuit

Concluzii

Framework-ul DCalc oferă toate facilităţile necesare rezolvării problemelor natural paralelizabile doar prin adăugarea unor noi “plug-in”-uri;

DCalc poate fi extins şi pentru rezolvarea problemelor mai complexe;

DCalc permite creşterea vizibilă a performanţelor de calcul prin adăugarea unui nod nou în reţea;

DCalc are sens utilizarea framework-ului doar pentru probleme intensiv computaţionale.