Universitatea Tehnică din Cluj-Napoca



Yüklə 226,16 Kb.
səhifə4/5
tarix12.11.2017
ölçüsü226,16 Kb.
#31486
1   2   3   4   5

Sisteme reconfigurabile


Cum am menţionat în introducere, „calculul reconfigurabil” se răspândeşte ca tehnologie viabilă pentru susţinerea Societăţii Sistemelor Digitale din viitor. Facilitatea lui primară este capacitatea de a efectua calcule în hardware , pentru creşterea performanţelor, în acelaşi timp păstrând, în mare parte, flexibilitatea unei soluţii software. Ca şi software ul, circuitul este flexibil, şi poate fi schimbat chiar şi în timpul funcţionării sistemului. In acest caz, performanţa creşte şi mai mult, deoarece circuitele pot fi optimizate pe baza condiţiilor din timpul funcţionării. În acest fel, performanţa unui sistem reconfigurabil se poate apropia sau poate chiar trece de cele ale unui ASIC (circuit integrat specializat).

Ca un factor pozitiv, se poate aminti că acest „calcul reconfigurabil” permite diferenţierea produselor, una din forţele conducătoare în implementările de sisteme înglobate, pe lângă timpul la piaţă („time to market”), performanţe şi cost. În acest aspect, soluţiile de calcul reconfigurabile au un avantaj clar în faţa majorităţii alternativelor care ar putea ajuta la stabilirea sistemelor reconfigurabile în viitor.

In această discuţie, preferăm să fim cât mai generali posibil, fără a intra în detaliile arhitecturilor curente şi a aplicaţiilor bazate pe Sisteme Reconfigurabile. Totuşi, dorim să accentuăm „motivele comportamentale” sau „auto abilităţile” care, în general, sunt suficiente pentru aplicarea la toate scenariile de aplicaţii viitoare şi care vor fi necesare unui individ pentru supravieţuirea în Societatea de Sisteme Digitale:


  • Auto adaptare: capacitatea de a şi adapta comportamentul pentru a răspunde unor schimbări în mediu;

  • Auto optimizare: capacitatea de a optimiza resursele disponibile într un mediu pentru obiective date (în general, non funcţionale);

  • Auto­ configurare: abilitatea de a implementa strategii specifice pentru rezolvarea unei probleme, bazată pe capacitatea de a şi reconfigura arhitectura (adică relaţiile dintre componentele sistemului) pentru a garanta proprietăţi de nivel înalt, definite la nivel arhitectural;

  • Auto reparare: capacitatea de a detecta şi a corecta defecte funcţionale;

  • Auto protejare: capacitatea de a detecta şi rezolva automat probleme de securitate.

Agenţi de date mobili


Recent, agenţii autonomi şi mobili au devenit tot mai populari în multe ramuri de inginerie software. Pe larg, agenţii mobili sunt programe care pot traversa fizic o reţea şi pot efectua autonom sarcini pe maşini care pot găzdui agenţi, pentru a realiza o funcţie în numele proprietarului lor. Agenţilor le este permisă migrarea de la calculator la calculator, şi/sau de a si crea copii care sunt executate pe maşini diferite. Mai mult, spre diferenţă de apelurile de procedură tradiţionale, codul executabil al agenţilor „călătoreşte” şi interacţionează cu baze de date, sisteme de fişiere, servicii de informaţii şi alţi agenţi.

Ideea agenţilor mobili nu este chiar nouă şi poate fi văzută ca o particularitate a conceptului de mobilitate a codului [5]. Recent, mobilitatea codului a câştigat atenţie fără precedent, în toate încarnările sale, de la migrarea proceselor la agenţi mobili.. În particular, noţiunea de agent ca paradigmă specială pentru ingineria software a fost cumva împrumutată din domeniul inteligenţei artificiale, unde aspecte de nivel înalt, teoretice, ale agenţilor autonomi au fost studiate adânc şi discutate încă din mijlocul anilor optzeci [14]. În acel caz, scopul principal a fost modelarea unor entităţi raţionale şi autonome, în stare să re creeze unele aspecte ale inteligenţei umane. În domeniul specific al ingineriei software, agenţii sunt programe de calculator care pot activa în numele oamenilor [9] şi au atribute ca comportament autonom, proactivitate, reactivitate şi adaptivitate [14]. Cuplat cu noua idee de mobilitate al codului, noţiunea de agent a dus la conceptul de acum bine definit al agenţilor mobili definiţi ca şi componente software ce posedă atribute de mobilitate şi abilitatea de a „se muta de la gazdă la gazdă din proprie iniţiativă” [4]. Termenul de agent mobila fost introdus în articolul despre limbajul Telescript [13], deşi a suferit mai multe reinterpretări în decursul ultimelor zece ani.

Cum am subliniat mai sus, un aspect important al agenţilor mobili este că migrarea (adică procesul de a se muta de pe o maşină gazdă pe alta) este decisă şi iniţiată de agentul însuşi, nu de sistemul de dedesubt. Aceasta realizează una din proprietăţile fundamentale ale agenţilor mobili, autonomia. În toate domeniile de aplicare, autonomia este un aspect central deoarece permite agentului să implementeze propria strategie pentru a şi atinge obiectivele. În particular, comportamentul agentului poate fi bazat în mare parte pe propria experienţă, astfel putând avea caracteristici subiective şi puternic dinamice (ca, de exemplu, în căutarea distribuită). Aceasta este o diferenţă crucială faţă de structuri în care migrarea este impusă procesului, ca sistemele tradiţionale de distribuire a încărcării (load balancing), unde procesul este mutat în funcţie de condiţiile de mediu. Aceeaşi diferenţă deosebeşte agenţii mobili de sisteme generale cu obiecte mobile, unde obiectele de regulă nu şi declanşează propria „migrare”, în schimb sunt mutate la cererea proceselor care folosesc aceste obiecte.

O consecinţă inevitabilă şi importantă a acestei mobilităţi voluntare este conştienţa de locaţie [5], [11]. Un agent mobil ştie unde se află şi unde alege să se deplaseze, situaţie diferită de sistemele de operare distribuite: acolo, un proces nu este sau nu ar trebui să fie conştient de locaţia obiectelor cu care lucrează, aşadar nici de propriul loc de execuţie. Diferenţele dintre conştienţa de locaţie şi transparenţa locaţiei sunt fundamentale în toate scenariile de aplicaţie planificate.

Autonomia, proactivitatea şi conştienţa de locaţie sunt aspecte esenţiale ale agenţilor mobili. Adiţional, agenţii mobili sunt sociali. De fapt, pentru atingerea obiectivului sau terminarea trebii, un agent mobil individual de obicei se foloseşte de serviciile locale, sau interacţionează cu alte obiecte locale sau la distanţă. Adiţional, în scenarii complexe, agentul poate decide dacă să interacţioneze cu alţi agenţi independenţi, conform unei strategii distribuite, pentru a atinge un obiectiv comun. Comportamentul social este, de regulă, o caracteristică cheie când agenţii mobili sunt folosiţi la probleme complexe şi distribuite, unde acesta duce la conceptul de societate de agenţi.

În scenarii practice, agenţii s au dovedit utili în special în domeniul calculului distribuit şi mobil [6] şi s a demonstrat că ei cresc semnificativ performanţele multor aplicaţii distribuite, cum ar fi căutarea distribuită de date [7], achiziţia de informaţii [3] şi servicii web [10].



Yüklə 226,16 Kb.

Dostları ilə paylaş:
1   2   3   4   5




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin