INDICE INTRODUZIONE...1

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "INDICE INTRODUZIONE...1"

Transcript

1 INDICE INTRODUZIONE CACHING DISTRIBUITO PER MATERIALE MULTIMEDIALE DIVERSE TIPOLOGIE DI CACHING MODELLO CLIENT - SERVER E RELATIVI SVILUPPI INTRODUZIONE AL WEB CACHING MULTIMEDIA PROXY CACHING PARAMETRI DI VALUTAZIONE DI UNA CACHE POLITICHE DI GESTIONE CONCLUSIONI REMOVAL POLICIES: ANALISI E VALUTAZIONI CLASSIFICAZIONE DELLE POLITICHE STRATEGIE RECENCY STRATEGIE FREQUENCY STRATEGIE RECENCY/FREQUENCY STRATEGIE BASATE SU FUNZIONI STRATEGIE RANDOM CACHING DI OGGETTI MULTIMEDIALI CONCLUSIONI GLI AGENTI MOBILI E LE TECNOLOGIE UTILIZZATE: SOMA, MUM E JMF LA MOBILITÀ DI CODICE E IL PARADIGMA AD AGENTI MOBILI SOMA Caratterstche prncpal dell ambente SOMA MUM Fruzone del materale multmedale Gestone de contenut multmedal Gestone dello streamng JAVA MEDIA FRAMEWORK (JMF) Il componente Player Il componente Processor Il componente DataSource Il componente DataSnk CONCLUSIONI ANALISI E PROGETTAZIONE DEL SISTEMA DI CACHING PER MATERIALE MULTIMEDIALE INQUADRAMENTO GENERALE DEL PROBLEMA ANALISI DEI REQUISITI Poltche d gestone PROBLEMATICHE AFFRONTATE I format vdeo Organzzazone nterna della cache Memorzzazone de vdeo Poltche d rmpazzamento Opzon d personalzzazone PROGETTAZIONE La cache...58

2 4.4.2 Il gestore del sstema La confgurazone della cache Le poltche d gestone La gestone delle lste Concluson IMPLEMENTAZIONE E TESTING DEL SISTEMA DI CACHING IMPLEMENTAZIONE DEL SISTEMA DI CACHING Gestone de contenut multmedal Le poltche d gestone La gestone delle lste La confgurazone del sstema TESTING LRU vs LRU-Mn LRU vs LRU* CONCLUSIONI...80 CONCLUSIONI...81 BIBLIOGRAFIA...83

3 Introduzone Il mondo dell Informaton Technology è n contnuo e rapdo svluppo. Oltre a processor, questo svluppo ha convolto, e convolge, tutt gl altr component ad esso strettamente legat. Il settore che pù ha rsentto d queste rapde evoluzon è quello relatvo alle nfrastrutture d rete. La motvazone prncpale è che s è cercato d utlzzare nfrastrutture d collegamento gà esstent e che permettessero d raggungere un elevato numero d utent. Lo studo d nuov mezz d collegamento è sempre progredto, ma l problema sostanzale è rmasto quello dell mpossbltà d estendere n manera globale le nuove tpologe d cablaggo. Tutto questo parallelamente al costante aumento d prestazon che vene rchesto a tal nfrastrutture. Contrbusce, n manera fondamentale, a questo ncremento d prestazon rcheste, la dffusone d materale d tpo multmedale. Questa categora comprende, ad esempo, materale audo/vdeo d tpo dgtale. È possble pensare a servz qual la televsone dgtale nterattva o le vdeoconferenze. Quest servz necesstano d una gestone n tempo reale e per questa motvazone rsulta naturale pensare sstem multmedal come sstem d tpo real-tme. La dffusone d questa tpologa d dat rchede che, l sstema utlzzato per la loro gestone, garantsca una certa qualtà d servzo. Questa garanza è necessara per asscurare l rspetto de temp a cu dat sono vncolat. Dverse sono le rsorse convolte nella gestone della qualtà d servzo. Una d queste è la larghezza d banda. Propretà mportante relatva al cammno che le nformazon devono compere per passare dal server d orgne al clent. Per cercare d rsolvere problem ntrodott dalle lmtazon relatve alla larghezza d banda, v sono due possbl approcc: la replcazone e l proxy cachng. Il prmo approcco è quello che rguarda l ntroduzone d cosddett mrror server. S tratta, n pratca, d replcare le nformazon contenute nel server d orgne, n altr server spars all nterno della rete. Questo approcco d tpo statco rsulta essere molto dspendoso, specalmente nel caso n cu l contenuto del server orgnaro camb frequentemente. Il secondo approcco, l proxy cachng, rsulta mglore, n 1

4 quanto adattable alle caratterstche della rete e delle nformazon che vaggano all nterno d essa. Questo secondo approcco è quello che verrà affrontato all nterno d questa tes. Vengono ntrodotte delle enttà denomnate proxy, ntermede fra clent e server, attraverso le qual passano le nformazon transtant tra due end pont della comuncazone. Queste nformazon possono essere ntercettate e memorzzate nella memora cache del proxy per mglorare le prestazon d access successv. Convolgendo la tpologa d dat multmedal precedentemente ntrodotta, verranno trattate prncpalmente le problematche relatve al Multmeda Proxy Cachng. Un ruolo mportante assumeranno alcun parametr tpc de contenut multmedal, qual, ad esempo, l occupazone d memora e la qualtà. L obbettvo fnale d questo documento è la realzzazone d un sstema d cachng. I prm captol rguarderanno le argomentazon general convolte nella realzzazone del progetto. In partcolare, l prmo captolo ntrodurrà le dverse tpologe d cachng realzzabl, con partcolare attenzone al multmeda proxy cachng. Vengono pres n consderazone parametr d valutazone relatv ad una memora cache e le poltche convolte nella sua gestone. La categora d poltche che prncpalmente sarà presa n consderazone è quella delle poltche d rmozone, affrontata all nterno del secondo captolo. Nel terzo captolo c s occuperà dell ntroduzone delle tecnologe utlzzate o n qualche modo convolte: SOMA, MUM e l Java Meda Framework. Rsulta necessara, per queste tecnologe, una breve ntroduzone, ndvduandone gl aspett pù sgnfcatv per l lavoro d tes. All nterno del quarto captolo c s occuperà delle fas d anals e progettazone rguardant l sstema d cachng da realzzare, evdenzando le scelte effettuate. Il qunto ed ultmo captolo esporrà la fase d mplementazone del progetto ed alcune consderazon relatve ad una successva fase d testng. 2

5 CAPITOLO 1 1 Cachng dstrbuto per materale multmedale Questo prmo captolo s pone lo scopo d ntrodurre ed llustrare le problematche ed alcune delle possbl scelte mplementatve rguardant l cachng n ambente dstrbuto. Consderando motv per cu è auspcable ntraprendere questa strada ed vantagg che questo comporta, ponendo partcolare attenzone alle tpologe d dat che pù nteressano questo progetto d tes: dat multmedal. La cache è soltamente ntesa come una memora d non elevate dmenson, utlzzata per la memorzzazone d nformazon, che s rtene possano essere rcheste n stant d tempo abbastanza vcn, n modo da renderne pù rapdo l repermento. L dea della realzzazone d questa tpologa d memore nacque nzalmente per colmare l dvaro, n termn d veloctà, tra le CPU e la memora prncpale. Quest concett sono ogg applcat, con opportune modfche e partcolartà, a dvers ambt nformatc, che andamo a descrvere brevemente nel prossmo paragrafo. 1.1 Dverse tpologe d cachng Il cachng, con la sua dea fondamentale d memorzzazone, s è svluppato n dvers settor, seguendo lo svluppo della tecnologa. Lo scopo fondamentale d questa operazone è la memorzzazone d nformazon atta a consentrne un pù rapdo repermento, n modo da ottenere un ncremento delle prestazon global del sstema preso n consderazone. Soltamente queste memore sono gestte tenendo present due concett: la localtà spazale e la localtà temporale. Qu c ponamo l obbettvo d analzzare rapdamente dvers ambt n cu vengono normalmente effettuate operazon d cachng. 3

6 Sstem monoprocessore Qu la cache è soltamente una memora veloce e d dmenson abbastanza rdotte, anche se può essere organzzata, come avvene ne mcroprocessor attualmente prodott, su pù lvell. L dea d fondo è la stessa delle memore prncpal, ma graze alle dmenson lmtate rescono ad essere gestte n manera pù veloce. La localtà spazale è ntesa come l fatto che dat probablmente rchest saranno quell mmedatamente successv, n termn d ndrzzo, a quell utlzzat al momento e che vengono qund precarcat nella memora. La localtà temporale afferma che l ultmo dato usato sarà probablmente l prossmo rchesto. Sstem multprocessore a memora condvsa Questa archtettura prevede d avere pù CPU che condvdono una stessa memora, tramte l utlzzo d un comune bus d accesso. Ogn CPU, n questo caso, sarà dotata d una propra memora d cache. Oltre al rspetto de concett d localtà ctat per sstem monoprocessore, s deve tenere presente anche l rlevante problema della consstenza de dat contenut nelle sngole cache. È necessaro gestre questo tpo d sstema n modo che venga garantto l utlzzo dell stanza d dat pù aggornata. Effettuando l cachng d una grande quanttà d dat, le pù recent verson d quest sstem, sono n grado d rdurre notevolmente temp d accesso alla memora e d rdurre la banda necessara al bus che connette le memore condvse, dal momento che la maggor parte delle rcheste vene soddsfatta dal sstema d cache. Fle system dstrbut I fle system dstrbut devono essere n grado d gestre operazon concorrent su nformazon present su pù nod facent parte della stessa nfrastruttura come se queste avvenssero su fle local. Anche se temp d accesso a rsorse local non potranno ma essere equparat a temp d accesso a rsorse remote, l operazone d cachng auta n manera consderevole nel rdurre quest ultm. L obbettvo delle operazon d cachng è quello d rdurre l numero d trasmsson fra le part convolte e d lmtare l trasfermento d grand quanttà d dat. Posso avere, nel caso 4

7 d modello clent-server, un cachng sul server, che dmnusce gl access al dsco, guadagnando veloctà, ed un cachng sul clent che rduce l numero d access al server, guadagnando sempre n termn d temp d rsposta. Una frequente organzzazone d questo modello prevede che la cache venga mantenuta sul clent medante l utlzzo d cachng su dsco, che consente un mgloramento delle prestazon nel caso d access successv al sstema. La cache su dsco ha l grande vantaggo d poter essere d dmenson notevolmente superor rspetto a quella posta n memora prncpale. World Wde Web L espansone capllare della rete delle ret ha portato a dover affrontare problem d trasporto relatv alla mole d dat crcolant sulla rete. La pù naturale soluzone per far fronte a questo problema sarebbe quella d ntervenre a lvello hardware nella rete, aumentando, ad esempo, la larghezza d banda. Questa strada rsulta però mpratcable sa dal punto d vsta tecnologco che dal punto d vsta economco. L attenzone vene rvolta allora al mgloramento de protocoll d comuncazone e soprattutto all utlzzo delle tecnche d cachng. Così facendo s resce a rdurre l traffco nella rete e ad aumentare la veloctà d rsposta ne confront degl utent. Esstono noltre, altr ambent dstrbut oltre a quell ctat, ognuno de qual può presentare esgenze e caratterstche dverse nella gestone d un propro sstema d cachng. Queste caratterstche possono varare a seconda del tpo d nformazon che vengono trasmesse, e qund memorzzate, nel sstema, a seconda del traffco presente n meda sull nfrastruttura d nterconnessone oppure a seconda della frequenza delle rcheste. 5

8 1.2 Modello clent - server e relatv svlupp In una parte del paragrafo precedente s è accennato ad un modello d nterconnessone fra untà d elaborazone denomnato clent - server. Andamo a vederne brevemente le caratterstche prncpal, che rsultano utl per ntrodurre concett utlzzat nel proseguo della trattazone. Clent Server Fgura 1.1: classco modello Clent-Server. Questo è probablmente l modello d comuncazone dvenuto pù famoso nell ambto delle ret d computer, graze anche alla capllare dffusone d Internet, realtà orma dvenuta parte ntegrante della nostra vta quotdana. Consste prncpalmente n due part logche che assumono, uno l denttà d server e l altro quella d clent. Il componente chamato server ha soltamente l ruolo d forntore d servz che attende, n manera passva, l arrvo d una rchesta da parte d uno o pù clent, la serve e rtorna al rchedente l rsultato della sua elaborazone. Il componente clent è nvece colu che rchede un determnato servzo all enttà server a cu s collega. Cò presuppone la conoscenza da parte del clent dell ndrzzo del server, mentre la conoscenza da parte del server dell ndrzzo del clent non rsulta essere necessara a pror. Lo stato nterno del server rsulta nascosto a var clent che v s collegano, qual possono utlzzare l server solamente attraverso servz da questo offert. Il vantaggo prncpale d questo modello è la semplctà d realzzazone, anche se s può arrvare ad avere sovraccarch del server e del canale d comuncazone. Questa classca archtettura è anche ndvduata dalla denomnazone clent-server 2-ter, dove l clent 6

9 nteragsce drettamente con l server, senza passagg ntermed. Una sua caratterstca negatva rsulta essere però la bassa scalabltà, n quanto al crescere del numero d utent collegat, decrescono le prestazon del server. Un modello che rsulta essere pù nteressante ed applcable vede l nsermento d un ulterore untà. Un server può anche agre come clent ne confront d un altro server, nel caso n cu, ad esempo, delegh a questo l esecuzone d un sottoservzo. Allo stesso modo un clent può fungere da server ne confront d un altro clent. Il caso n cu fra l clent ed l server c sa la presenza d un componente ntermedo, c porta a defnre una archtettura clent-server 3-ter. Questo componente ntermedo può svolgere var ruol, come ad esempo quello d fltro o d blancamento del carco d lavoro su pù server per ovvare al problema d dmnuzone delle prestazon. Tale untà ntermeda può essere conoscuta anche con l nome d proxy server, enttà che s comporta da server ne confront de clent, e da clent ne confront de server. Se le untà ntermede sono pù d una s parla n manera generca d modell n-ter. Clent Server Proxy Server Fgura 1.2: Archtettura Clent-Server 3-ter. In queste archtetture l clent può comportars prncpalmente n due mod: può effettuare la rchesta d un servzo e pors n attesa della rsposta oppure effettuare la rchesta e po svolgere altr compt. Questo 7

10 ultmo modo d operare dentfca due schem d funzonamento caratterzzat da dverse responsabltà delle enttà convolte: modello pull, n cu è l clent che s carca della responsabltà d ottenere le nformazon rcheste, medante nterrogazon cclche; modello push, n cu è l server ad essere ncarcato d nvare l nformazone se e quando è dsponble. Il paradgma clent-server sta alla base d successve tecnche d comuncazone e fruzone d servz da termnale remoto, qual le chamate a procedure remote (RPC) e le nvocazon d metod remot (RMI). 1.3 Introduzone al web cachng In generale ogn rchesta che vene effettuata ad una cache, ndpendentemente dalla sua tpologa specfca, può portare a due tp d rsultato denomnat cache ht o cache mss. Quando l documento, o pù n generale l oggetto, rchesto è presente all nterno della cache e può qund da questa essere reperto s verfca un cache ht. Al contraro, se l oggetto non è presente s verfca un cache mss, che comporterà l noltro della rchesta non soddsfatta verso un altra enttà. La grande crescta della rete Internet ha portato ad affrontare problem d sovraccarco della rete e problem d eccessvo rtardo nel repermento d nformazon. Per ovvare a quest nconvenent sono state svluppate evolute tecnche d cachng. Il web può essere vsto come un nseme dstrbuto d server e clent, conness fra loro medante una nfrastruttura d rete. In questo nseme posso ndvduare tre lvell d cachng: un cachng effettuato su clent, uno su server ed uno realzzato all nterno della rete stessa. Clent cache Per quanto rguarda questa tpologa d cachng, s può dre che essenzalmente è effettuata all nterno del web browser utlzzato dall enttà clent per l repermento d nformazon sulla rete. La sua poltca d gestone s basa essenzalmente sul fatto che vene fatta una copa degl 8

11 oggett caratterzzat da un elevato numero d access. Così, ad esempo, vengono memorzzat tutt var component (mmagn, testo, ) contenut n una determnata pagna web, puntando sul fatto che un determnato utente tende a vsonare gl stess document con una certa frequenza. Anche questa operazone deve tenere presente la consstenza delle nformazon contenute nella cache, n modo che, se rsultano obsolete, venga prevsto l noltro della rchesta attraverso l nfrastruttura d rete, per ottenere document aggornat. Server cache Questa tpologa d soluzone può essere mplementata effettuando l cachng del fle system del server ottenendo così una rduzone del numero d access al dsco (che ntroducono rtardo) sul lato server. Verranno mantenute n memora prncpale le nformazon maggormente rcheste, n modo da avere temp d rsposta pù brev. Anche se a prma vsta questa potrebbe sembrare una valda soluzone, per come è realzzato e per come opera un fle system, non rsulta assolutamente suffcente per sopportare l traffco presente sul web. È qund necessaro realzzare una cache autonoma che non s appogg sul fle system, ma che sa gestta a pù alto lvello, n modo da consentre al server d gestre document n essa contenut senza convolgere l propro fle system. In sostanza, l server cachng è prncpalmente utlzzato per rdurre l carco d lavoro sul server e mglorare tempo d rsposta e throughput. Cache d rete Oltre al cachng effettuato su nod estrem della lnea d comuncazone, s sta sempre pù dffondendo un cachng all nterno della rete stessa, denomnato generalmente proxy cachng. Questa soluzone s pone come obbettvo prncpale la rduzone de temp d rsposta relatv alle nterrogazon effettuate da clent conness alla medesma cache d rete. Soltamente vengono utlzzate cache d elevate dmenson, n modo da poter servre n manera effcace un elevato numero d utent. In sostanza nella proxy-cache verranno memorzzat,seguendo opportune poltche, document rchest n precedenza da clent appartenent ad una 9

12 determnata area d rfermento. In questo modo una successva rchesta d tal nformazon sarà caratterzzata da temp d attesa decsamente nferor. Pratcamente la cache del proxy server consente d aumentare notevolmente la veloctà d accesso al web, d rsparmare n termn d larghezza d banda, n quanto dmnuscono le rcheste effettvamente noltrate sul web, e d rdurre l carco d lavoro sul lato server. 1.4 Multmeda Proxy Cachng Entramo ora n un ambto pù specfco, ed n partcolare ad occuparc del proxy cachng relatvo a materale d tpo multmedale. Quando s parla d materale multmedale è necessaro ntrodurre l concetto d flusso (stream), ntendendo un astrazone ntrodotta per ndcare l recapto ed l renderng d un sngolo oggetto multmedale. Un oggetto multmedale può essere nteso come un partcolare tpo d dato (ad esempo: vdeo o audo) che annovera tra le sue caratterstche prncpal l fatto d varare con contnutà e d essere soggetto a vncol temporal. La qualtà d trasmssone d uno stream multmedale n un archtettura end-to-end d tpo clent-server rsulta essere lmtata da alcun cosddett coll d bottgla. Quest possono essere ndvduat dalla larghezza d banda, dalle prestazon della CPU e dalla quanttà d memora dsponble. Delle tre problematche appena ndcate quella che pone vncol pù strngent è scuramente la larghezza d banda della connessone tra server e clent. La larghezza d banda dentfca pratcamente la portata del canale trasmssvo ed è soltamente ndcata n bt/secondo (bps). Se la connessone del clent al propro punto d accesso alla rete è caratterzzata da un ampa larghezza d banda, questo s aspetterà d rcevere stream multmedal d elevata qualtà. Queste aspettatve possono non essere soddsfatte, n quanto n quella parte d rete che s trova tra l punto d accesso del clent ed l server su cu rsedono le nformazon, posso avere collegament (anche solamente uno) con larghezza d banda lmtata, che m fungono da coll d bottgla. Charamente se l clent possede un 10

13 accesso alla rete avente larghezza d banda lmtata, non è possble ottenere contenut multmedal d qualtà elevata, a causa prncpalmente de temp d download necessar. Una tecnca dnamca, per eludere le lmtazon mposte dalla larghezza d banda nella connessone tra server e clent dotat d access a banda molto ampa, è appunto l multmeda proxy cachng. Vene convolta una nuova enttà, ntrodotta n precedenza e denomnata proxy server, che rsulta essere un server collocato nelle pù mmedate vcnanze d un pù rstretto numero d clent. Le dmenson della memora cache sul proxy sono proporzonal al numero d clent che ad esso fanno rfermento. Una caratterstca de contenut multmedal da tenere n consderazone, nel dmensonamento della cache, è anche che la loro dmensone può varare a seconda del lvello d qualtà con cu sono memorzzat. Tutto l materale multmedale rchesto da clent vene ad ess trasmesso passando sempre attraverso l proxy, che può ntercettarlo e memorzzarlo. L utlzzo d queste stazon ntermede permette un mgloramento della qualtà della trasmssone ne confront d que clent che hanno a dsposzone una buona quanttà d banda. Il proxy può noltre adattare la qualtà degl stream multmedal alla larghezza d banda dsponble ed allo stato della connessone fra esso ed l clent nteressato. Questa soluzone ntroduce comunque vantagg sa per clent che hanno a dsposzone una banda ampa sa per quell che usufruscono d una larghezza d banda nferore. S hanno nfatt mglorament d varo genere, come ad esempo: rduzone de temp d rsposta relatv al controllo della rproduzone de contenut multmedal da parte de clent che usufruscono del servzo; l supporto d access contemporane alle rsorse; rduzone del tempo d latenza nzale ntrodotto dalla lnea d trasmssone. Tutto questo senza dmentcare la consderevole rduzone del carco d lavoro sul server e sulla stessa nfrastruttura d rete. 11

14 I clent noltrano la rchesta al proxy corrspondente, l quale controlla la presenza o meno delle nformazon rcheste all nterno della propra cache. In caso d cache mss la rchesta vene noltrata o ad un altra enttà ntermeda o al server d orgne, che s occuperà drettamente d soddsfarla. Se consderamo l ntervento del server, la qualtà della trasmssone e del contenuto multmedale nvato sono lmtate dalla larghezza d banda meda della connessone tra server e clent. Se s verfca un cache mss l clent non trae alcun benefco dalla presenza della proxy cache. In caso d cache ht, l proxy s comporta come un server ed nza a soddsfare la rchesta noltratagl dal determnato clent. Per evtare problem d congestone de canal d trasmssone sarà cura del proxy adattare la qualtà degl oggett multmedal alla larghezza d banda dsponble. 1.5 Parametr d valutazone d una cache Per poter avere una sorta d valutazone della valdtà d una memora cache, esstono una sere d ndcator prncpal che possono essere analzzat. Defnamo alcune varabl necessare: r: l numero totale d rcheste; d : la dmensone n byte dell -esmo oggetto; c : che assumerà valore 1 nel caso d cache ht e 0 nel caso d cache mss. Presentamo ora brevemente quest prncpal ndcator. Ht rate Rappresenta l rapporto tra l numero d rcheste soddsfatte dalla cache ed l numero totale d rcheste da essa rcevute: W j = = 1 r r c 12

15 Questa semplce tecnca d valutazone rsulta essere effcace nel caso n cu gl oggett present all nterno della cache abbano la medesma dmensone. Relatve ht rate Identfca l rapporto tra W W j j max dove W j max è l ht rate ottenuto con una cache d dmenson nfnte. Byte ht rate Vene espresso come l rapporto tra la quanttà d byte trasfert dalla cache n seguto ad un ht e la quanttà totale de byte trasfert: W b r = 1 = r d = 1 d c Relatve byte rate È l rapporto tra W W b b max dove W b max è l ht rate ottenuto con una cache d dmenson nfnte. Latency rato È defnto come l rapporto tra la somma de temp d download relatv a stuazon d cache mss e la somma de temp total d download: W t = 1 = r r lat = 1 (1 lat c ) 13

16 dove lat dentfca l tempo d download dell -esmo oggetto. L ndcatore pù sgnfcatvo per quanto rguarda l ambto multmedale è forse l byte ht rate, n quanto vene presa n consderazone la dmensone degl oggett present nella cache, che nel caso d oggett multmedal può essere elevata. Senza trascurare naturalmente l mportanza della rduzone de temp d download e qund l latency rato. 1.6 Poltche d gestone L effettva gestone d una memora cache, poszonata n un proxy server, convolge un elevato numero d scelte progettual necessare, qual ad esempo la scelta degl element da memorzzare, d quell da elmnare o sostture e molte altre ancora. Per aver una vsone d nseme d queste dverse poltche le presentamo brevemente, ndcandone le prncpal caratterstche. Prefetchng polces Il problema che s propongono d rsolvere queste poltche è quello d prevedere le esgenze future degl utent che usufruscono del servzo d cachng. Questo n modo da poter pre-carcare n memora que document che s pensa possano essere rchest da un determnato clent, n modo da poter avere un mgloramento delle prestazon gà relatvamente ad un prmo accesso a queste nformazon. Questo è possble ad esempo tramte l anals statstca de document pù rchest. Routng polces Quando l nfrastruttura d rete tende ad espandere notevolmente le sue dmenson, aumentano n manera consderevole anche le memore cache dslocate all nterno dell archtettura. Il problema che s presenta è l ndvduazone della cache che contene l materale rchesto. La funzone 14

17 d queste poltche è quella d ottmzzare questa rcerca, n modo che temp d rsposta sano pù brev possbl. Placement polces Quando l espansone del sstema dventa molto elevata, anche l utlzzo d cache d grand dmenson, può non bastare. A questo punto rpensa a strutture d cache cooperant fra loro, la cu effcaca rsulta essere proporzonale al numero d utent e d oggett condvs. Esstono dverse tpologe d collaborazone tra cache, che ntroducono l problema sostanzale d dove memorzzare determnate nformazon. Ovvero, a quale lvello ed n quale cache è convenente memorzzare cert oggett, per fare n modo che l effcenza dell archtettura sa massmale. Coherence polces Come accennato n precedenza, l problema d un sstema d cachng, può essere quello della consstenza delle nformazon gestte. Per questo s rscha d fornre agl utent nformazon orma obsolete, che non rspecchano contenut attual. Questa tpologa d poltche s occupa appunto d gestre l problema della consstenza de contenut delle memore, n modo che quest rsultno sempre aggornat. Replacement polces L effcaca d una sngola memora cache dpende, n manera preponderante, dalle tecnche d rmpazzamento de dat n essa contenut una volta raggunta la saturazone della medesma. In sostanza queste poltche dovranno occupars d ndvduare qual element possono essere elmnat per lberare spazo e consentre la memorzzazone d nuov contenut. Queste poltche rappresentano un argomento fondamentale per la realzzazone d questo progetto d tes e verranno affrontate n manera pù approfondta nel captolo successvo. 1.7 Concluson In questo prmo captolo s è cercato d llustrare gl argoment prncpal convolt nella realzzazone d questo progetto. Sono stat 15

18 ntrodott nzalmente concett baslar rguardant l cachng e le sue possbl dverse tpologe. S è cercato d ndvduare vantagg fondamental dovut all applcazone d tale tecnca, ma anche d rconoscere le vare problematche sorte per ottenere soluzon che rsultno effcac. Illustrando le vare poltche rguardant la gestone d un sstema d cache abbamo ndvduato quelle che pù nteressano questo lavoro, e d cu c occuperemo nel captolo successvo. 16

19 CAPITOLO 2 2 Removal polces: anals e valutazon Come è gà stato spegato nel captolo precedente, vantagg ntrodott dall'utlzzo d un sstema d cachng, sono prncpalmente: rduzone della larghezza d banda necessara ne collegament d rete; rduzone de rtard percept dall'utente fnale; rduzone della quanttà d nformazon crcolant sulla rete; rduzone del carco d lavoro sul server orgnaro. Una delle prncpal caratterstche che nfluenza le prestazon d una memora cache è l utlzzo d una determnata poltca d rmozone e/o sosttuzone puttosto che un altra. Questa tecnca vene utlzzata quando lo spazo lbero n cache non è suffcente a contenere l'oggetto che a questa è destnato. Mrano sostanzalmente a prevenre o rsolvere stuazon d saturazone della memora dsponble. S rende qund necessara la rmozone d uno o pù oggett, consderat orma obsolet, per lberare la quanttà d memora suffcente. Cò che nfluenza le prestazon del sstema d cache è la scelta d qual oggett rmuovere e qual mantenere n memora. Bsogna n partcolare cercare d ndvduare qual document potrebbero essere rchest n un mmedato futuro e qual, nvece, s rtene possano essere elmnat senza provocare un deteroramento sgnfcatvo delle prestazon global. Possamo pensare d suddvdere, n alcune dfferent categore, tutte le vare stratege d rmpazzamento che prendamo n consderazone. Questa suddvsone può essere effettuata prendendo n consderazone prncpal fattor che caratterzzano gl oggett da memorzzare n cache e che possono nfluenzare le dfferent poltche consderate. 2.1 Classfcazone delle poltche Come ndcato n precedenza, le vare poltche d rmozone o rmpazzamento che possono essere prese n consderazone, sono 17

20 classfcabl all nterno d dverse categore. Sono state fatte negl ann dverse classfcazon, ognuna delle qual mra a prendere n consderazone alcun aspett caratterzzant, delle stratege d rmpazzamento. Prma d ntrodurre la classfcazone proposta, rtenamo utle presentare le prncpal propretà degl oggett d cu può essere necessaro effettuare l cachng. Propretà che possono nfluenzare l effcenza del processo d rmozone o sosttuzone. Queste caratterstche sono: recency: ndca l stante temporale n cu è stato rchesto l ultma volta l oggetto consderato; frequency: ndca l numero d rcheste d cu è stato fatto oggetto lo specfco documento; sze: ndca la dmensone dell oggetto da memorzzare o memorzzato n cache; costo: ndca l costo necessaro, n termn d tempo, per reperre l determnato oggetto dal server d orgne; modfcaton tme: ndca l stante d tempo n cu è stata apportata l ultma modfca al documento; expraton tme: ndca un tempo trascorso l quale l oggetto preso n consderazone può essere consderato obsoleto e qund essere sosttuto. Quest sono prncpal fattor che possono essere consderat, anche se, la maggor parte delle tecnche conoscute attualmente s lmtano ad utlzzare le prme quattro propretà. Una possble classfcazone delle poltche d rmozone può essere la seguente: stratege recency : consderano prncpalmente l attrbuto recency, abbnandolo eventualmente a costo e/o sze; stratege frequency : consderano prncpalmente l attrbuto frequency, abbnandolo eventualmente a costo e/o sze; stratege recency/frequency : consderano entramb gl attrbut recency e frequency ed eventualmente valor fss o varabl d costo e/o sze; 18

21 stratege basate su funzon: questa classe d stratege è contraddstnta da funzon che prendono n consderazone pù parametr contemporaneamente, assegnando ad ess un opportuno peso; stratege random: sono stratege d rmozone d tpo non determnstco, che prendono, ad esempo, n consderazone la casualtà oppure determnat calcol d probabltà. Molt degl algortm presentat n letteratura sono stat studat per ottmzzare la gestone d cache contenent oggett d ugual dmensone, anche se alcun d quest sono faclmente applcabl ad ambt pù general, gestendo oggett con caratterstche dverse fra loro. Ne prossm paragraf approfondremo le class d stratege che qu abbamo ntrodotto, andando ad analzzare alcune delle poltche esstent. 2.2 Stratege Recency Questa tpologa d stratege agsce consderando l fattore recency come attrbuto prncpale. Come gà accennato nel captolo precedente, la localtà caratterzza l abltà d prevedere futur access n base a quell passat. Esstono due tp d localtà: spazale e temporale. La localtà temporale s rfersce alla possbltà d avere access rpetut al medesmo oggetto n stant d tempo mmedatamente successv all ultma rchesta rcevuta. Questo mplca che un oggetto rchesto recentemente abba un buon numero d probabltà d essere rchesto nuovamente entro un breve lasso d tempo. La localtà spazale mplca nvece che la rchesta d un oggetto aument n manera consderevole la probabltà che un altro specfco oggetto venga rchesto successvamente. Questa tpologa d poltche tene n consderazone prncpalmente la localtà temporale. Andamo ora ad llustrare brevemente alcun algortm che rcadono all nterno d questa categora. LRU (Least Recently Used) Questa poltca agsce sostanzalmente rmuovendo, n caso d saturazone della memora, l oggetto o gl oggett che sono stat rchest 19

22 meno recentemente. È una delle stratege pù classche ed è basata sulle consderazon effettuate rguardo la localtà temporale. Vene utlzzata n dvers ambt applcatv, qual la gestone d database, l pagng e la gestone d buffer su dsco. LRU - Threshold Questa poltca rappresenta una modfca d quella appena presentata, dove vene effettuata una selezone su document da memorzzare oppure no. In partcolare se un oggetto ha dmensone (s ) maggore d una sogla prestablta (threshold), questo oggetto, non vene memorzzato nella cache. Tutto questo a prescndere dagl altr parametr. Per l resto opera esattamente come l algortmo LRU. SIZE La lnea adottata da questa stratega prevede la rmozone dell oggetto d dmensone maggore, consentendo d lberare un maggor quanttatvo d memora. Nel caso d presenza d oggett d ugual dmenson, quello o quell da rmuovere vengono determnat graze all utlzzo della poltca LRU. LRU - Mn Questa poltca rsulta essere una varante della LRU, che cerca d mnmzzare l numero de document rmoss. Introduce due parametr, L 0 e T, dove l prmo ndca una lsta ed l secondo un valore d sogla. Vene mpostato l valore d T ad S, che rappresenta la dmensone del documento da memorzzare. Nella lsta L 0 vengono nsert tutt gl element avent dmenson maggor o ugual a T, tenendo presente che la lsta potrebbe essere vuota. Dopodché vene applcato l algortmo LRU sulla lsta creata, rmuovendo oggett fno a che vene lberato spazo almeno par a T, oppure fno a che la lsta non è vuota. Se a questo punto non ho ottenuto suffcente spazo lbero, mposto T al valore T/2 e rpeto pass appena descrtt. 20

23 LRU - LSC Questa stratega utlzza una normale lsta LRU per determnare un parametro che dentfca l attvtà degl oggett mantenut n cache. Durante l processo d rmozone, gl oggett contraddstnt da una mnor attvtà vengono poszonat n una seconda lsta, la cu dmensone totale deve essere nferore al valore d ΘB. B rappresenta la dmensone totale della cache e Θ è un parametro (0 < Θ < 1) che rappresenta quale frazone della memora totale debba essere nserta nella nuova lsta. Valore che può essere mpostato dnamcamente o statcamente. La nuova lsta è ordnata secondo l valore spc = c /s t che rappresenta l attvtà degl oggett, dove c è l costo, s la dmensone e t l stante d tempo dell ultma rchesta dell oggetto. Vengono rmoss oggett dalla nuova lsta, nzando da quell caratterzzat da spc mnore, fno ad ottenere lo spazo lbero necessaro. Parttoned Cachng Questa poltca abbastanza generale prevede la suddvsone degl oggett n tre prncpal categore, n base alla loro dmensone, etchettate come small, medum e large. Ogn classe ha un propro spazo d memora ed è gestta n manera completamente ndpendente dalle altre due seguendo la stratega LRU. Consderando S C la dmensone totale della cache e S c1, S c2 e S c3 le dmenson delle tre partzon (small=1, medum=2, large=3) ho che S C = S c1 + S c2 + S c3, con S c1 < S c2 < S c3. Bsogna da tenere presente che queste consderazon possono essere rtenute abbastanza general, n quanto rsulta charo, come sa possble utlzzare questa suddvsone n categore abbnandola a poltche dverse dalla LRU. Le stratege recency presentate sono accomunate fra loro da dverse caratterstche che permettono d ndvduare alcun vantagg ed alcun svantagg d questa famgla. Tra vantagg possamo ndvduare l fatto che consderno la localtà temporale come fattore d prncpale nfluenza e che rescano ad adattars n manera dnamca a cambament del sstema. Inoltre rsultano generalmente abbastanza semplc da mplementare e veloc nello svolgmento de compt loro assegnat. Inserment e 21

24 cancellazon dalla lsta, nfatt, rchedono soltamente operazon non molto complesse. Mentre tra gl svantagg possamo consderare l fatto, che le semplc mplementazon d LRU, non dano la gusta mportanza alla dmensone degl oggett da mantenere n memora. Non vene realzzato un gusto blancamento tra l parametro recency e la dmensone dell oggetto, fatta eccezone, naturalmente, per quanto rguarda la stratega SIZE. Un altro svantaggo ndvduato rsulta essere la mancanza d consderazone ne confront dell nformazone sulla frequenza degl access ad un determnato oggetto. 2.3 Stratege Frequency Queste poltche d gestone d una memora cache utlzzano l parametro frequency come fattore decsonale prmaro. Sono prncpalmente estenson della pù classca stratega LFU (Least Frequently Used), che verrà ndcata n seguto, e s basano sul fatto che un oggetto può essere pù o meno rchesto d un altro. Possamo avere due mod d procedere: Perfect LFU: n questa modaltà vengono conteggate tutte le rcheste relatve ad un determnato oggetto e questa nformazone è mantenuta memorzzata anche se l oggetto n questone vene elmnato dalla memora cache. Il numero delle rcheste per tutt quegl oggett che sono stat memorzzat n cache almeno una volta è mantenuto n memora anche quando quest oggett sono stat rmoss dalla cache; In-cache LFU: n questa modaltà l numero d rcheste relatve a cascun oggetto vene aggornato e mantenuto n memora fno a quando l oggetto è n cache. Un nuovo oggetto che vene memorzzato nella cache avrà un contatore azzerato. Questo non rvela tracca della sua stora passata, ovvero non è possble sapere se è gà stato memorzzato nella cache n precedenza. In questo modo ho l vantaggo d rdurre notevolmente le 22

25 nformazon che devo mantenere n memora, molte delle qual sarebbero potute essere pressoché nutl. Per le motvazon appena evdenzate assumeremo nel seguto della trattazone l utlzzo esclusvamente della modaltà In-cache LFU. Illustramo ora alcune stratege rentrant n questa categora. LFU (Least Frequently Used) Questa è la poltca pù semplce della categora ed mplementa le scelte tpche che la contraddstnguono. Per ogn oggetto contenuto all nterno della cache è presente un relatvo contatore che verrà ncrementato ad ogn rchesta del medesmo. In caso d saturazone della memora cache verrà rmosso l oggetto o gl oggett che caratterzzat dal mnor numero d rcheste, ovvero da una mnor frequenza d accesso. LFU - Agng Utlzzando la poltca precedente è possble andare ncontro a stuazon d logco malfunzonamento. Se un oggetto contenuto nella cache vene, per un certo perodo d tempo, rchesto molte volte, potrebbe rmanere n memora anche quando non è pù rchesto da molto. Questo è dovuto all alto valore assunto dal suo contatore degl access, ottenuto nel momento d maggor popolartà. Per rmedare a questo nconvenente e lmtare l effetto d una prolungata permanenza nel tempo, eventualmente non gustfcata, n cache, s ntroduce un valore d sogla. Se l valore medo de contator delle rcheste degl oggett n cache supera questo valore d sogla, l valore d tutt contator vene dvso per due. Inoltre questa stratega prevede un valore massmo per quest contator. SwLFU (Server Weghted LFU) Questa stratega prevede l utlzzo d contator d rcheste pesat. Il peso w dell oggetto rappresenta una stma quanto, l server orgnaro contenente l oggetto, promuova l cachng del medesmo. È qund l server che nfluenza drettamente questa stratega. In caso d rmozone vene applcato l algortmo LRU agl oggett avent l medesmo valore d rcheste del contatore pesato. 23

26 Anche questa categora d poltche è caratterzzata da alcun vantagg ed alcun svantagg. Il prncpale vantaggo è rappresentato dal fatto che agscono consderando la popolartà degl oggett. Questo però comporta un aumento della complesstà realzzatva. Possono noltre verfcars stuazon non corrette se, come ndcato n precedenza, non vene consderato anche l tempo trascorso dall ultma rchesta rvolta all oggetto. Può captare anche d avere pù oggett contraddstnt da un uguale numero d rcheste; n tal caso bsogna ntrodurre un fattore supplementare che ntervenga nella poltca. 2.4 Stratege Recency/Frequency Come evdenzato dal nome della categora, andamo qu ad llustrare alcun algortm che consderano entramb parametr prncpalmente utlzzat fno ad ora: recency e frequency. SLRU (Segmented LRU) Questa stratega prevede la suddvsone della cache n due segment: uno non-protetto ed uno protetto rservato agl oggett caratterzzat dal maggor numero d rcheste. Quando un oggetto vene memorzzato nella cache una prma volta, vene nserto nel segmento non-protetto. Quando s verfca un cache ht d un oggetto presente nel segmento non-protetto, questo vene trasferto nel segmento protetto. Entramb segment sono gestt con poltca LRU, ma solo gl oggett d quello non-protetto possono essere rmoss dalla cache. Quell del segmento protetto possono solamente essere trasfert nell altro segmento. Per l corretto funzonamento d questa stratega è necessaro ntrodurre un parametro che quantfch la percentuale d memora cache da allocare nel segmento protetto. LRU* Questa poltca d gestone prevede l utlzzo d una lsta d oggett con stratega LRU. Ogn oggetto ha un propro contatore d rcheste. Quando per un oggetto memorzzato s verfca un cache ht, questo vene spostato n testa alla lsta e vene ncrementato d uno l suo contatore. Ogn 24

27 volta che s rende necessaro un rmpazzamento, vene consderato l contatore dell oggetto che non è stato rchesto da maggor tempo, poszonato qund n coda alla lsta. Se l valore del suo contatore è zero, l oggetto vene cancellato, mentre se è dverso da zero, vene decrementato d una untà e l oggetto vene posto n testa alla lsta. S procede con la rmozone d oggett, ed eventualmente con la modfca d contator, fno a che non s lbera suffcente spazo d memora. HYPER-G Questa stratega prevede lo sfruttamento combnato d tre poltche prncpal: LRU, LFU e SIZE. Quando s presenta la necesstà d effettuare una cancellazone e sosttuzone nella memora cache, vene nzalmente utlzzata la poltca LFU. Se questo crtero resttusce pù d un oggetto con le medesme caratterstche, vene applcata la poltca LRU a questo nseme. Se ancora non s resce ad ndvduare un unco oggetto elmno dalla memora cache, utlzzando l crtero d scelta SIZE, l oggetto d dmensone maggore presente n quest ultmo nseme. Il prncpale vantaggo d queste stratege è quello rappresentato dal fatto d utlzzare entramb parametr recency e frequency e qund d rsolvere le problematche evdenzate ne precedent paragraf. Questo comporta un aumento della complesstà mplementatva nella maggoranza d queste poltche. Solamente la stratega LRU* cerca d utlzzare una semplce mplementazone d LRU, combnandola con la consderazone rguardo la frequenza d accesso. Anche se non vene consderata la dmensone dell oggetto. 2.5 Stratege basate su funzon Queste stratege prevedono l utlzzo d funzon che permettono d assegnare ad ogn oggetto un determnato valore. Il parametro rcavato permette d sceglere quale o qual oggett possono essere ragonevolmente rmoss. Sono soltamente quell che hanno l parametro calcolato d valore mnore. Ne presentamo ora alcune. 25

28 GD-Sze (Greedy Dual - Sze) Questa stratega s propone d calcolare per ogn oggetto un valore caratterstco H. Sa una nuova rchesta per un oggetto non ancora contenuto n cache, che una stuazone d cache ht rchedono l rcalcolo del parametro appena ctato. Questo valore è calcolato utlzzando la formula: c H = + L ; s dove c rappresenta l costo dell oggetto, s la sua dmensone e L è un valore che vara con l aumentare del tempo d permanenza n cache dall oggetto ed è nzalmente posto uguale a zero. Questa stratega prevede la scelta, per la rmozone, dell oggetto avente l valore H pù basso. Questo valore vene noltre assegnato al parametro L. GDSF Come s può faclmente nture dal nome, questa stratega derva drettamente da quella appena presentata. In partcolare vene presa n consderazone anche la frequenza d acceso d un oggetto, ovvero l numero d rcheste passate ad esso relatve. Al momento del calcolo o del rcalcolo del valore H verrà utlzzata la seguente formula: H c = f + s L ; dove possamo notare l ntroduzone d un nuovo parametro f che rappresenta l numero d access passat relatv all oggetto. Esste anche una dversa formulazone d questa stratega, la seguente: H f s α = + β L ; 26

29 dove l valore d c vene consderato par ad uno. I due parametr α e β rappresentano due parametr pesat, che voglono ndcare l mportanza che s vuol dare a fattor utlzzat. GD* Questa stratega s pone l obbettvo d assegnare ad ogn oggetto un parametro H che vene calcolato medante la seguente formula: H 1 ( f * c ) β = + s L ; dove parametr utlzzat assumono seguent sgnfcat rguardo l oggetto : f è l numero d access passat, c l costo, s la dmensone, L è un parametro relatvo al tempo d permanenza ed nfne β è un parametro pesato, l cu valore, può essere varato n manera dnamca. La gestone del parametro L è naturalmente la medesma utlzzata nella stratega orgnara GD-Sze. LRV Questa stratega d rmozone scegle d rmuovere dall nseme degl oggett contenut nella memora cache, quello caratterzzato dal pù basso valore del partcolare parametro assegnato a cascuno d ess. Questo parametro derva dal calcolo d una funzone che prende n consderazone la probabltà che un oggetto venga nuovamente rchesto. Il suo valore P r vene calcolato nel modo seguente: P r ( f, T, s ) = P P ~ ( ) ( ) ( 1, s ) 1 D ( T ) ~ ( f ) 1 D ( T ), se f altrment P(f ) rappresenta la probabltà che l oggetto venga rchesto f +1 volte, dato che è gà stato rchesto f volte. Per gl oggett che presentano al loro attvo una sola rchesta, questa probabltà dpende n manera dretta = 1. 27

30 dalla loro dmensone s ed è data dalla funzone P(1,s ). D (T ) rappresenta la dstrbuzone degl access nel tempo, una sorta d stora del passato, mentre T ndca l tempo trascorso dall ultma rcheste rcevuta per l oggetto. HYBRID Questa stratega operatva prevede che la funzone applcata all oggetto provenente dal server s dpenda dalla seguente formula: f c s + W b s () = ; s b f W n dove abbamo solt parametr f ed s, che ndcano rspettvamente l numero d rcheste gà rscontrate per l oggetto e la sua dmensone. Inoltre abbamo c s che ndca l tempo necessaro per contattare l server s e b s che ndca la larghezza d banda dsponble verso l server. Infne W b e W n che sono parametr varabl a seconda delle esgenze. La stma de valor d c s e d b s vene basata su temp d carcamento degl oggett dal server s avvenut nel recente passato. Le stratege appartenent alla famgla appena descrtta sono caratterzzate dall utlzzo d combnazon varabl de parametr consderat. Manpolando quest è possble ottmzzare alcune delle prestazon pù nteressant per l utlzzatore. Un altro vantaggo è rappresentato scuramente dal consderare contemporaneamente un certo numero d fattor. Questa scelta consente d affrontare al meglo le dverse stuazon operatve che possono verfcars. Non rscontramo solamente vantagg nemmeno n questa categora. Rsulta, nfatt, un operazone dffcoltosa la scelta approprata dell mportanza da assegnare a parametr da cu dpendono le me prestazon. Ad esempo, l consderare parametr che s rferscono alla stora passata della connessone, della rete o del traffco crcolante su d essa, può, n generale, non essere la soluzone 28

31 mglore. Questo consderando l fatto che le condzon operatve possono varare frequentemente. S pensa qund alla possbltà d ntrodurre fattor dnamc n grado d adattars alle dverse stuazon operatve, ma questo non può non ntrodurre una maggore complesstà nella realzzazone del processo d rmozone. L utlzzo, n questa categora d poltche, de temp d latenza o d accesso ne confront degl oggett present sul server orgnaro, ntroduce ulteror problematche. Infatt, se recency e frequency sono nformazon faclmente rcavabl dalla recente stora passata del sstema, non s può affermare altrettanto per quanto rguarda, ad esempo, la latenza. La msurazone del valore della latenza vene effettuata sul proxy, ma rsulta nfluenzata da numeros component present lungo tutto l cammno che separa l proxy dal server. Tale valore può essere soggetto, qund, a frequent fluttuazon, che complcano ogn decsone a lvello d determnazone de mglor parametr applcabl. 2.6 Stratege random Questa categora s basa fondamentalmente sulla casualtà della scelta degl oggett da rmuovere dalla cache. Ne presentamo ora alcune varant. RAND Questa rsulta essere, probablmente, la pù semplce stratega tra quelle llustrate, n quanto prevede l assoluta casualtà. Vene nfatt rmosso un oggetto qualsas tra quell present nella memora cache. HARMONIC Mentre la stratega RAND consdera tutt gl oggett avent la medesma probabltà d essere scelt per l elmnazone, questa prevede che ogn oggetto abba una propra probabltà caratterstca. Vene rmosso l oggetto scelto casualmente tra quell avent valore d probabltà nferore; probabltà che rsulta essere nversamente proporzonale alla dmensone 29

32 dell oggetto e drettamente proporzonale al costo d repermento dello stesso. LRU-C e LRU-S Questa stratega è n sostanza una versone random della pù classca poltca LRU. Consdero c max = max { c 1, c 2, K, c N } come l valore massmo tra cost d accesso agl N oggett consderat e c~ c c = max come l costo normalzzato dell oggetto. Quando l oggetto vene rchesto, questo vene spostato n testa alla lsta degl oggett n cache con probabltà c, altrment non vene fatto nulla. La poltca LRU-S s dfferenza dalla precedente perché l parametro qu utlzzato è la dmensone dell oggetto consderato. Vene posto { s, s, K s } s mn = mn 1 2, par alla dmensone pù pccola fra gl N oggett pres n consderazone e d = s mn s che rappresenta la denstà normalzzata dell oggetto. Questa poltca opera come la pù classca LRU, con probabltà d e altrment lo stato della cache non vene modfcato. Queste due poltche sono state presentate nseme, perché esste anche una proposta che opera utlzzando entramb parametr vst per le sngole stratege. Vengono defnte la seguent quanttà: N c β = s ~ β β = β max ;. β max = max { β }; 30

33 Nel momento n cu s verfca una rchesta sull oggetto, questo algortmo s comporta come quello LRU con probabltà β e con probabltà (1-β ) non varerà lo stato nterno della memora cache. Le stratege random presentano un approcco al problema completamente dverso rspetto a quell descrtt n precedenza. Il loro scopo prncpale è quello d rdurre la complesstà del processo d rmozone senza sacrfcare troppo la sua qualtà. Il prncpale vantaggo d queste poltche rsulta qund essere quello della semplctà d mplementazone. Uno svantaggo è presentato dal fatto che rsultano essere d dffcle valutazone, n quanto, una stessa stratega applcata al medesmo sstema, può rspondere con prestazon dfferent tra loro. 2.7 Cachng d oggett multmedal Nel caso n cu, gl oggett da memorzzare nella memora cache, sano dat d tpo multmedale, l cachng ha un mportanza abbastanza rlevante. Questo perché, a dfferenza de cas n cu s prendono n consderazone, ad esempo, document HTML, gl oggett multmedal possono avere dmenson notevol e molto dverse fra loro. Un aspetto da consderare è che, n alcun cas, può essere possble rdurre le dmenson degl oggett consderat senza sacrfcare eccessvamente la loro qualtà. Un procedmento possble se non s deve sottostare a determnat vncol rguardant la qualtà de contenut. A prescndere da questo bsogna senz altro tenere presente che la dmensone della cache dovrà essere adeguata all ambente n cu vene utlzzata. Esstono alcune proposte d soluzon specfche relatve al cachng d materale multmedale n ambent con partcolar caratterstche, ma s basano soprattutto su smulazon. Per ora non v sono esperenze d applcazon operatve n ambent real e non è ben charo qual sano le metrche pù approprate per valutarne l effcaca. In base a queste consderazon, s rtene che un aspetto fondamentale, n questo ambto operatvo, sa rappresentato dal concetto d localtà temporale. È possble, nfatt, che un documento multmedale attravers un perodo d maggore popolartà all nterno della rete n cu è 31

34 reperble. Possamo, per sostenere queste consderazon, ndcare come esempo gl allegat alle e-mal che s rcevono quas ogn gorno. Quest allegat, che possono essere anche d tpo multmedale, attraversano perod d maggor popolartà. Durante tal perod, vengono dffus ampamente tra dvers utent, seguendo una sorta d moda del momento. Oltre al concetto d localtà temporale, v sono altr aspett che mertano consderazone: la dmensone e la frequenza d accesso, soltamente ndcata dal numero delle rcheste. Nella fase d progettazone del sstema cercheremo d dare la gusta mportanza a quest tre prncpal aspett. 2.8 Concluson Nel captolo appena concluso abbamo affrontato la fondamentale problematca delle poltche d rmozone e sosttuzone (replacement polces) applcabl nella gestone d una cache. Abbamo suddvso queste stratege n cnque prncpal categore e descrtto le lnee guda d ogn poltca consderata. Dalle descrzon effettuate s è cercato d ndvduare alcun de prncpal vantagg e svantagg che possono presentars utlzzandole. Infne, sono state fatte alcune semplc consderazon rguardant l nostro ambto applcatvo. Nel captolo successvo non tratteremo drettamente argomentazon rguardant sstem d cachng, ma cercheremo d ntrodurre alcune tecnologe necessare per la realzzazone del nostro progetto. 32

35 CAPITOLO 3 3 Gl Agent Mobl e le tecnologe utlzzate: SOMA, MUM e JMF Questo terzo captolo s pone come obbettvo quello d ntrodurre l paradgma ad agent mobl e le tecnologe convolte. Nella prma parte affronteremo brevemente l concetto d mobltà d codce e degl agent mobl. Successvamente prenderemo n consderazone le tecnologe convolte, facendo dstnzone tra quelle utlzzate e quelle al cu nterno s è andato ad operare per la realzzazone d questo progetto d tes. Verranno descrtt due ambent, all nterno de qual s va ad operare e d cu l sstema d cachng progettato dverrà parte ntegrante. Quest ambent sono SOMA e MUM. In seguto s presenterà un framework proposto dalla SUN e dentfcato dall acronmo JMF, che rappresenta un estensone del lnguaggo Java rguardante tp d dat multmedal. Ne dvers paragraf d questo captolo andremo ad evdenzare gl aspett che maggormente rguardano l nostro progetto. Non sarebbe nfatt possble, n questo contesto, trattare n manera completa tutte le caratterstche delle tecnologe sopra ctate, data la vasttà degl argoment. 3.1 La mobltà d codce e l paradgma ad agent mobl In questo paragrafo c ponamo l obbettvo d ntrodurre alcun de concett fondamental su cu s basano gl ambent che vengono descrtt ne successv paragraf. Innanztutto, cosa s ntende per mobltà d codce. In lnea generale s tratta d consderare l trasfermento non pù de sol dat, ma anche del codce, n modo che possa essere eseguto localmente dove è necessaro. Questo permette d aggungere adattabltà e flessbltà alle applcazon dstrbute. Per approfondre quest concett è necessaro ntrodurre alcune defnzon. Con Executon Unt (EU) ntendamo un flusso computazonale sequenzale, ovvero l nseme del codce e del suo stato d esecuzone, 33

36 come ad esempo un thread ed l suo contesto. Con Computatonal Envronment (CE) ntendamo l ambente all nterno del quale le EU operano. Occorre ora fare una dstnzone tra mobltà debole e mobltà forte. S parla d mobltà debole quando ho la mgrazone del solo codce tra due dverse EU che operano su dvers CE. S parla nvece, d mobltà forte, quando l trasfermento rguarda un ntera EU, coè codce e stato d esecuzone, che mgra da un CE ad un altro. Il concetto d mobltà del codce convolge dvers paradgm, anche se no trattamo solamente quello relatvo agl agent mobl. Un agente moble è n pratca un programma o un oggetto trasportable, che, una volta lancato da un untà d partenza, s sposta all nterno dell nfrastruttura d rete fno a raggungere l determnato nodo nel quale sono rchest suo servz. Dopo essere gunto a destnazone esegurà l o process necessar per portare a termne l suo compto. Il requsto fondamentale d un agente moble rsulta essere, qund, la sua mobltà. Un suo aspetto fondamentale è, noltre, l dentfcazone, effettuata tramte un sstema d nom. Oltre agl agent è necessaro dentfcare nod, le rsorse e gl utent. La loro dentfcazone è fondamentale per realzzare una delle operazon pù mportant n queste tpologe d sstem: la comuncazone fra gl agent. Perché sa possble creare ed esegure agent mobl è necessara la presenza d un sstema ad agent mobl, un nfrastruttura che mplement l paradgma ntrodotto. Nel prossmo paragrafo andamo a presentare l ambente da no consderato. 3.2 SOMA Il nome SOMA, acronmo d Secure and Open Moble Agent, sta ad ndcare un ambente ad agent mobl realzzato presso l Dpartmento d Elettronca, Informatca e Sstemstca (DEIS) dell Unverstà degl Stud d Bologna. Come accennato n precedenza, questa trattazone non ha l obbettvo d llustrare n manera approfondta ed esaustva tutte le caratterstche d questo ambente d lavoro, ma solamente d ntrodurne le caratterstche archtettural prncpal. 34

37 A questo scopo possamo vedere come SOMA sa basato sul lnguaggo d programmazone Java e ne sfrutt tutte le prncpal potenzaltà. Rsulta essere n partcolare un lnguaggo partcolarmente adatto all mplementazone d agent mobl. Questo graze ad alcune sue caratterstche: la portabltà; Java è un lnguaggo nterpretato e per questo può essere eseguto n qualsas ambente, ponendo come unco vncolo che questo possegga una Java Vrtual Machne (JVM). La JVM s occupa d trasformare l bytecode orgnaro, n lnguaggo macchna, permettendone la portabltà su dverse archtetture hardware e software; l eredtaretà e l estendbltà; è un lnguaggo d tpo objectorented che consente una progettazone modulare del codce sfruttando class messe a dsposzone dall ambente operatvo, modfcandole e/o amplandole; la dnamctà; questo lnguaggo prevede un meccansmo d carcamento dnamco delle class, anche da sorgent remote, e d collegamento dnamco all applcazone corrente; la seralzzabltà; è consentto seralzzare gl oggett, coè è possble effettuare una rappresentazone d quest come stream d byte, con la possbltà d trasferrl n rete; la scurezza;l lnguaggo Java presenta mportant caratterstche d scurezza bult-n. Nelle sue ultme verson questa archtettura d scurezza è stata aggornata, rendendola molto pù flessble ed espressva. È caratterzzata da domn d protezone, controll d accesso e permess da assocare sa a codce remoto che a codce locale. La scelta d questo lnguaggo d programmazone porta ad una scelta obblgata rguardante l modello d mobltà da utlzzare nelle fas d svluppo. Il lnguaggo Java è un lnguaggo d programmazone nterpretato, e per questo una parte dello stato d esecuzone rmane racchuso all nterno dell nterprete stesso. Il repermento d questa porzone dello stato d esecuzone rsulta sostanzalmente mpossble. 35

38 Questo a meno d modfche effettuate sull nterprete, che farebbero, però, rnuncare ad una caratterstca fondamentale de sstem ad agent mobl, la portabltà. Dalle consderazon appena effettuate s ntusce mmedatamente come SOMA possa essere defnto un sstema a mobltà debole, dal momento che è basato sul lnguaggo Java. Dopo aver consderato questa prncpale caratterstca, possamo fare le seguent affermazon: per codce ntendamo le class Java; per rsorse ntendamo gl oggett del lnguaggo Java; per Executon Unt (EU) ntendamo thread Java; a st (n SOMA chamat place) faccamo corrspondere macchne vrtual Java (JVM); le nterazon avvengono tramte chamate a metod, scambo d messagg e, quando component rsultano su JVM dverse, tramte scambo d comand Caratterstche prncpal dell ambente SOMA L ambente SOMA è caratterzzato da alcune prncpal caratterstche. Le andamo ad llustrare brevemente: astrazon d localtà: esstono due dvers lvell d astrazone, ndcat come place e domno, che rappresentano, tramte una semplce nterfacca, le localtà tpche del web: l nodo e la rete locale (LAN). Ho po un ulterore lvello d supervsone che s occupa del coordnamento tra domn; scalabltà: questa caratterstca è svluppata su dvers lvell, a comncare dalla confgurazone del sstema, che può essere esteso a pacmento. Posso parlare d scalabltà anche per quanto rguarda la gestone degl utent e l numero degl agent n esecuzone, che non vene n nessun modo lmtato; scurezza: è realzzata la protezone degl ambent d esecuzone e la parzale protezone degl agent, rguardante la verfca d ntegrtà del codce e la rservatezza della comuncazone dello 36

39 stato. Le operazon degl utent sul sstema, sono controllate, noltre, medante l utlzzo d password; apertura: essendo questo sstema progettato seguendo gl standard propost da OMG (Object Management Group), gl agent sono n grado d nteragre con gl agent d altr sstem aderent a medesm standard; dnamctà: la confgurazone del sstema è dnamca, consentendo l nsermento o la rmozone d ambent d esecuzone ed utent n qualsas stante; prestazon: medante l utlzzo del paradgma ad agent mobl s ntende superare lmt del modello clent-server, cercando d ottenere mglor prestazon global; portabltà: come gà evdenzato n precedenza, l utlzzo del lnguaggo Java, consente d realzzare codce portable e qund utlzzable su dverse pattaforme hardware e software; fault tolerance: questa caratterstca d tolleranza a guast prevede che nod facent parte del sstema possano essere attv o non attv. Abbamo ntrodotto alcun concett relatv alle astrazon d localtà che mertano qualche ulterore spegazone. Con l termne place, s vuole rappresentare l ambente d esecuzone (CE) degl agent, come astrazone del concetto nodo. Al suo nterno gl agent possono nteragre con le rsorse local e con gl altr agent resdent. Un place è caratterzzato da un nome che lo dentfca all nterno del sstema. Una delle caratterstche prncpal d questo concetto è che all nterno d un unco nodo possono esserv pù place, ma che ognuno d ess è confnato all nterno d un unco nodo. Un aggregazone d place, con caratterstche comun d tpo fsco (appartenenza alla stessa LAN) o logco (ammnstrazone e poltche comun), è ndvduata dal termne domno. Infne ho l astrazone relatva al supervsore, che rappresenta un coordnatore de domn, per cò che rguarda la confgurazone dnamca della topologa e degl utent. Esso conosce l ntera composzone del sstema, compres tutt gl utent, e può comuncare queste nformazon agl altr component, quando necessaro. 37

40 3.3 MUM Il sstema MUM, acronmo d Multmeda agent based Ubqutous Multmeda mddleware, è un ambente operante all nterno d SOMA e realzzato anch esso presso l Dpartmento d Elettronca, Informatca e Sstemstca (DEIS) dell Unverstà degl Stud d Bologna. È all nterno d questo prodotto che andrà ad ntegrars l sstema d cachng progetto d questa tes. L ambente che andamo a presentare è stato progettato con l ntenzone d supportare la pubblcazone e la fruzone d presentazon multmedal d vara natura e dversa qualtà operando sa su rete fssa che su rete moble. Il concetto d presentazone multmedale è stato abbnato all aggregato d uno o pù oggett multmedal, ognuno de qual caratterzzato da un attrbuto d qualtà. A sua volta l termne oggetto multmedale sta ad ndcare l astrazone d un stanza d un determnato tpo d dato multmedale contenuto nel sstema, ovvero un descrttore d tale stanza. In pratca l tpo d dato ncapsula al suo nterno un solo tpo d meda, che può essere audo o vdeo o altro ancora. Dal momento che questa applcazone ntende supportare document regstrat e non flmat n dretta, come ad esempo una vdeoconferenza, avremo che ogn oggetto multmedale troverà corrspondenza n un determnato fle contenuto nel sstema. Ogn presentazone multmedale è rappresentata da un metadato utlzzato per aggregare dvers oggett multmedal che la compongono. Avrò un attrbuto che ndca la sua poszone nel sstema ed uno che ne ndca la qualtà, entramb ntes come attrbut dell aggregato. Vene po ntrodotta un altra astrazone: l contenuto multmedale. Questo è ntrodotto per suddvdere le presentazon multmedal n sottonsem mutuamente esclusv ed è caratterzzato da un ttolo, che lo dentfcherà all nterno dell ntero sstema. Gl utent che accedono al sstema hanno la possbltà d rchedere l delvery de ttol n esso contenut, potendo comandarne la rproduzone medante un nterfacca smle a quella d un vdeoregstratore. Vene noltre supportata la mobltà della sessone verso 38

41 un dverso termnale e la mobltà dell utente, nel caso n cu l accesso al sstema avvenga da una rete moble. Dal momento che sono prevst dvers lvell d qualtà per le presentazon, sarà l sstema a selezonare quello pù adatto alle caratterstche della pattaforma computazonale dalla quale s sta accedendo. Questo comporta che venga gestto un montoraggo delle rsorse dsponbl ed una adeguata prenotazone d quelle necessare a soddsfare la rchesta rcevuta Fruzone del materale multmedale Il modello computazonale prescelto per la realzzazone del sstema è l modello clent-server, con l abbnamento del modello ad agent mobl. Lo scopo è quello d far nteragre quest due dvers approcc, cercando d sfruttare al meglo le caratterstche d entramb. Le prncpal enttà present n questo ambente sono quattro: ClentAgent, Clent, ProxyAgent e Server. In partcolare saranno collegate fra loro medante un percorso che avrà come punt termnal un clent ed un server e passerà attraverso uno o pù proxy. Non tutte queste enttà sono state realzzate utlzzando l paradgma ad agent mobl, alcune sono realzzate come enttà fsse. Andamo ad analzzare brevemente le enttà convolte. ClentAgent Questa enttà può essere consderata come l entry pont del sstema dal lato clent. È realzzato come agente moble ed ha come compt prncpal quello d nzalzzare la sessone e d gestre le nterazon dell utlzzatore con l resto del sstema dstrbuto. Il fatto d essere un agente moble facltà la sua comuncazone con gl altr agent del sstema e permette d supportare la mobltà degl utent. Clent È l enttà fssa che rceve fluss multmedal rchest e rsede sulla macchna dalla quale l utente è entrato nel sstema. Nonostante sa un enttà fssa, non è necessaro che l codce da utlzzare sa gà presente 39

42 sulla macchna dalla quale vene lancato, n quanto può essere scarcato a run-tme, seguendo l paradgma del code on demand (COD). Server Come l clent è un enttà fssa, ma anch esso ha la possbltà d scarcare l software necessaro a run-tme, con l paradgma del COD. Una volta lancato su d una macchna, sarà lu ad occupars della gestone d tutte le rcheste che gungono alla medesma. Come s può faclmente nture è l altro end-pont, nseme al clent, della comuncazone d fluss multmedal. In partcolare, l server, è colu che s occupa della spedzone de fluss multmedal rchest. ProxyAgent Il ProxyAgent è realzzato come agente moble, per supportare la mobltà de termnal, anche se per la gestone vera e propra de fluss s avvale d un enttà chamata Proxy. In partcolare l ProxyAgent s muoverà sulla rete fssa seguendo movment del termnale all nterno della rete moble, tpcamente una rete wreless. Uno de compt d questa enttà è che agsca da dsaccoppatore tra l clent e l nfrastruttura della rete fssa, n modo da garantre flessbltà e modulartà per futur svlupp rguardant soprattutto l lato clent. Fra quest futur svlupp potrebbe ad esempo essere compreso l utlzzo d protocoll d comuncazone dvers dal classco TCP/IP. Un suo ulterore compto può essere quello d trasformare, qualora sa necessaro, dat multmedal n arrvo, prma d drottarl sul clent. Operazone che può essere rchesta nel caso d presenza d partcolar pattaforme software per lo streamng multmedale poste sul clent, oppure nel caso n cu dat debbano essere trasmess ad un termnale moble con basse capactà computazonal Gestone de contenut multmedal L archtettura dell ambente MUM rsulta essere suddvsa su tre lvell: Mddleware Mechansms Layer, Mddleware Facltes Layer e Applcaton Layer. Nel Mddleware Mechansms Layer vengono 40

43 mplementat servz d base dell ambente, mentre l Mddleware Facltes Layer utlzzando que servz d base realzza funzonaltà pù complesse messe a dsposzone dello svluppatore dell applcatvo. L Applcaton Layer, nfne, racchude al suo nterno tutte le enttà che realzzano l applcazone e l nterazone con l utente del sstema. Applcaton Layer Mddleware Facltes Layer Mddleware Mechansms Layer Fgura 3.1: layer dell ambente MUM. All nterno del Mddleware Mechansms Layer vene affrontato l problema rguardante la gestone de contenut multmedal. Questo servzo s basa su d una classca archtettura d tpo clent-server. Quando un nuovo nodo vene aggunto alla gerarcha de nod, rchede al nodo padre un rfermento al database (server) che contene le nformazon relatve alle presentazon multmedal present nel sstema. Localmente ogn nodo mette a dsposzone uno stub (clent) per l nterrogazone del database remoto. Questa rsulta essere a grand lnea l dea d fondo per la gestone Gestone dello streamng Durante la fase d streamng vengono convolte le enttà fondamental del sstema, ovvero l clent, l proxy ed l server. Ognuna d 41

44 queste enttà è n grado d gestre uno o pù fluss, operando a lvello d sessone. Possamo vederle come nsem d pù oggett, ed n partcolare composte da: gestore della sessone; uno o pù agent d gestone de sngol fluss; un protocollo per gestre l controllo d sessone; un manager della qualtà d servzo. L archtettura del clent, del server e del proxy s assomglano molto fra loro. Ognuna d esse è caratterzzata, ad esempo dalla presenza d uno Streamng Agent che ha l compto d gestre fluss. La dfferenza fra le dverse enttà consste nel fatto che, nel caso del clent, questo agente dovrà gestre solamente fluss n ngresso. Per quanto rguarda l enttà server dovrà occupars uncamente de fluss n uscta, mentre, nel caso d enttà proxy, dovrà rportare n uscta tutt fluss che arrvano n ngresso. Avrò po l gestore della qualtà d servzo che deve nteragre con l gestore delle rsorse, per la prenotazone delle stesse e per l montoraggo dello stato dello streamng. Il gestore delle rsorse può, noltre, comuncare al gestore della qualtà d servzo l verfcars d determnat problem, che potrebbero rchedere un adattamento della sessone. All nterno d queste enttà è presente anche una Protocol Unt, che ncapsula protocoll d comuncazone fra le dverse enttà, sa per quanto rguarda l controllo della sessone, sa per lo scambo d nformazon relatve alla qualtà d servzo. 3.4 Java Meda Framework (JMF) Come accennato nell ntroduzone d questo captolo s tratta d un prodotto opzonale che estende l lnguaggo Java, ed n partcolare la pattaforma JAVA2SE, consentendo le gestone d tp d dat multmedal. Il Java Meda Framework è sostanzalmente costtuto da un nseme d API (Applcaton Program Interface) creato appostamente per consentre d ncapsulare dat d tpo multmedale n applcazon o applet Java. Sun e IBM hanno svluppato questo componente con l dea d fornre supporto a pù comun standard d memorzzazone d contenut 42

45 multmedal, come ad esempo: MPEG-1, MPEG-2, QuckTme, AVI, WAV, AU, MIDI e AIFF. Una delle caratterstche prncpal che sono necessare quando s vuole gestre materale multmedale, ad esempo tramte un lettore multmedale, è la veloctà d computazone. È rchesta un elevata veloctà computazonale per garantre che operazon qual, ad esempo, la decompressone delle mmagn o l renderng vengano svolte n manera soddsfacente. Sappamo che Java utlzza una Java Vrtual Machne, che nterpreta l byte-code generato dal complatore del lnguaggo. Questo meccansmo, che ha come suo punto d forza la garanza d portabltà, mpone, allo stesso tempo, ser vncol n termn d prestazon, qualora s rcheda elevata veloctà computazonale. Per ovvare a quest problem, e voler trattare dat multmedal, è necessaro rcorrere all utlzzo d codce natvo della pattaforma su cu s opera. Questo comporta che l programmatore abba una buona conoscenza delle funzon natve e, cosa ancora pù mportante, pone un sero vncolo alla portabltà dell applcazone realzzata. Le API JMF cercano d ovvare a quest problem. Fgura 3.2: archtettura del Java Meda Framework. Il componente JMF mette a dsposzone degl svluppator un nseme d chamate ad alto lvello che consentono la gestone d codce 43

46 natvo. L applcazone o l applet, che ntegra JMF, non ha bsogno d sapere se e quando deve rcorrere al codce natvo per soddsfare una determnata rchesta. La versone d JMF rende dsponbl class che consentono d svluppare applcazon che catturno dat multmedal e che fornscano la possbltà d controll ulteror sull elaborazone e la rproduzone del materale stesso. In partcolare l componente JMF è stato progettato per ottenere seguent vantagg: facltare la programmazone; mettere a dsposzone del programmatore un player JMF per la rproduzone d dat multmedal; semplfcare l ntegrazone d sorgent multmedal n applet o applcazon fornendo class e metod che consentano la gestone temporale d stream d dat; consentre la connessone a host remot e l nstaurazone d sesson http o RTP/RTCP (Real Tme Control Protocol) o RTSP (Real Tme Streamng Protocol); permettere la realzzazone d applcazon n audo e vdeo conferenza n lnguaggo Java; consentre a programmator avanzat d svluppare soluzon basate sulle API esstent e d ntegrare le nuove caratterstche nella struttura esstente; permettere lo svluppo d demultplator, codfcator, elaborator, multplator e rproduttor personalzzat (JMF plug-n); garantre la compatbltà con le sue verson precedent. Andamo ora a presentare brevemente alcune delle class che costtuscono questo prodotto Il componente Player Defnendo con meda stream l dato multmedale ottenuto da un fle locale, acqusto dalla rete oppure da un dspostvo d nput (vdeocamera, mcrofono, ecc.), possamo consderare l Player come quella struttura che 44

47 ne consente la rproduzone. È possble paragonare l player, per le funzon d controllo che rende dsponbl, ad un semplce vdeoregstratore. Graze ad esso, gl svluppator d software, possono dsnteressars delle chamate al codce natvo, ed allo stesso tempo possono occupare rsorse necessare per la rproduzone e rlascarle quando non pù necessare. Queste chamate a metod e class d alto lvello rendono trasparente al programmatore la connessone che vene stablta tra la JVM e le routne specfche d sstema. Il dato multmedale n ngresso al player vene collegato ad esso medante una struttura denomnata data source, che fa rfermento al dato vero e propro. Quest ultma struttura potrebbe essere consderata alla stregua d una vdeocassetta per un vdeoregstratore, l player. Nella fgura che segue vene rappresentato quanto appena descrtto. Fgura 3.3: rcezone e rproduzone d fluss multmedal. Come s può notare da questa fgura, l meda stream rprodotto potrebbe essere d tpo audo o d tpo vdeo o audo e vdeo. Infatt un meda stream, anche se dentfcato da un unca tracca, potrebbe contenere pù canal, come ad esempo un canale audo ed uno vdeo. Un player può trovars, operando normalmente, n uno de suo se stat possbl. Ho cnque d quest stat che ndvduano una comune stuazone d nterruzone della rproduzone, vuo perché è stata nterrotta, vuo perché non è ancora nzata. Soltamente vengono attraversat quest prm stat fno a gungere al sesto stato, quello dell effettva rproduzone 45

48 del contenuto multmedale. La transzone fra quest stat avvene soltamente n seguto al verfcars d determnat event. In generale, l player, una volta nzalzzato, può fornre, se presente, un componente vsuale utlzzato per la fruzone del dato multmedale. All nterno dell ambente MUM l player è quell enttà che permette al clent d rcevere e rprodurre fluss multmedal Il componente Processor Per la rproduzone d meda stream può essere utlzzata anche la struttura denomnata Processor. Questa, nfatt, rsulta essere un estensone del componente player. Per quanto rguarda l utlzzo del processor nell ambente MUM ed n questo progetto d tes, possamo dre che le sue funzon sono quelle d rcezone ed nvo de fluss multmedal rchest. Infatt, oltre a metod d gestone e trasformazone relatv a tp d dat multmedal, questa struttura offre la possbltà d ottenere un data source n uscta. Fgura 3.4: rcezone ed nvo d fluss multmedal. Il vantaggo d poter avere un output rendrzzato drettamente su d un data source è rappresentato dal fatto che questa uscta può essere presentata drettamente all ngresso d un player, d un data snk (che descrveremo nel prossmo paragrafo) o d un altro processor. 46

49 Facendo rfermento alle caratterstche d questo componente fno a qu descrtte è ntuble come sa stato utlzzato all nterno dell ambente MUM: come parte ntegrante delle enttà server e proxy. A dfferenza del player, l processor può trovars n uno de suo otto stat possbl. Quest otto stat vengono suddvs n due grupp prncpal che ndvduano due condzon del processor: unrealzed e realzed. Durante le sue fas d nzalzzazone e confgurazone è defnto unrealzed, mentre al termne d queste fas vene defnto realzed ed è pronto per avvare la trasmssone de dat. La fase d confgurazone d un processor prevede la connessone del data source, la demultplazone dello stream d ngresso e l repermento delle nformazon sul formato de dat multmedal n ngresso. La demultplazone consste sostanzalmente nell anals del flusso multmedale n ngresso per l ndvduazone d eventual tracce multple. Nel qual caso s verfch la presenza d tracce multple queste vengono automatcamente suddvse ed nvate separatamente n output. Se l output è ndrzzato verso un data source, le dverse tracce ndvduate devono essere raggruppate nuovamente n modo da ottenere un unco flusso multmedale d uscta (come evdenzato nella fgura che segue). Fgura 3.5: demultplazone e multplazone del flusso multmedale. Anche nel caso del processor, le transzon da uno stato ad un altro sono determnate dal verfcars d alcun event precs. 47

50 3.4.3 Il componente DataSource Un altro de component ntegrat nel framework proposto dalla SUN, ed mportante per la realzzazone del nostro sstema, rsulta essere l DataSource. Come abbamo accennato n precedenza, può essere nteso come una vdeocassetta, ovvero come l oggetto che contene al suo nterno l multmeda stream. In partcolare contene al suo nterno sa le nformazon rguardo l ubcazone dell oggetto multmedale che quelle rguardant protocoll ed l software nteressato. Una fondamentale caratterstca relatva a questo componente è l suo essere clonable. Un data source defnto clonable, può essere utlzzato per creare altr data source clon d quello orgnaro. I clon creat possono essere controllat drettamente dal clonable data source utlzzato per generarl. In partcolare, la chamata d metod (ad es.: connect, dsconnect, start o stop) relatv al data source orgnaro, vene propagata anche a suo clon Il componente DataSnk L ultma struttura del Java Meda Framework che presentamo è l nterfacca denomnata DataSnk. Questo componente vene utlzzato per leggere un flusso multmedale da un data source e rendrzzare questo contenuto verso altra destnazone. Soltamente non vene utlzzato per la rproduzone d meda stream. I tpc utlzz n cu vene mpegato un data snk sono la scrttura del flusso n entrata n un apposto fle o attraverso l nfrastruttura d rete. Un data snk permette d nzare l trasfermento delle nformazon multmedal, d nterromperlo e d reagre d conseguenza al verfcars d determnate condzon, corrette o errate che sano. 3.5 Concluson In questo captolo la nostra attenzone è stata focalzzata sulle tecnologe convolte nella realzzazone del nostro progetto. D ognuna d esse abbamo cercato d fare una panoramca ntroduttva, cercando d 48

51 fornre nformazon generche d nquadramento. Successvamente samo andat ad approfondre quegl argoment che rsultano drettamente convolt dal nostro lavoro. Alcun d quest verranno rpres anche ne captol successv, trattando le loro pù specfche caratterstche tecnche ed mplementatve. In partcolare, nel prossmo captolo andremo ad affrontare l anals del sstema d cachng da realzzare. 49

52 CAPITOLO 4 4 Anals e progettazone del sstema d cachng per materale multmedale In questo captolo andremo ad affrontare le problematche relatve alla realzzazone del sstema d cachng per contenut multmedal. Ne captol precedent s è voluto ntrodurre le prncpal argomentazon rguardant dvers aspett del problema. Prma affrontando numeros argoment che vengono convolt dalla realzzazone d operazon d cachng, e po ponendo la nostra attenzone sulle poltche d rmpazzamento degl oggett memorzzat. Infne s è cercato d ntrodurre brevemente le tecnologe convolte n questo progetto, cercando d focalzzare le caratterstche che pù rsultano nteressant per nostr fn. L obbettvo che questo captolo s pone è quello d fare un anals del problema, che sa d supporto alle seguent fas d progettazone ed mplementazone. 4.1 Inquadramento generale del problema Il problema da affrontare è la realzzazone d un sstema d cachng. Come gà accennato n precedenza, l obbettvo è quello d ottenere un sstema che s ntegr all nterno dell ambente SOMA operando, n partcolar modo, nell ambto del mddleware MUM. Prendendo n consderazone l archtettura del mddleware MUM notamo come l nostro progetto andrà ad nteressare l enttà proxy convolta. Abbamo vsto come l percorso fra due end-pont della comuncazone, clent e server, debba passare attraverso una o pù enttà proxy. Il mantenmento de dat all nterno d una memora cache verrà pertanto effettuato all nterno d tal enttà. Il flusso multmedale provenente dal server vene rcevuto da un proxy ed noltrato, o ad un altro proxy, o drettamente all end-pont clent. È durante questa fase che l dato deve essere oltre che noltrato anche memorzzato su d un supporto fsco 50

53 permanente presente all nterno dell enttà proxy. Tale memorzzazone sarà gestta da opportune poltche d rmpazzamento, che nterverranno n caso d saturazone della memora o d spazo lbero nsuffcente. Pertanto l nostro sstema dovrà occupars della memorzzazone del flusso multmedale per consentrne un successvo repermento. In partcolare, l materale multmedale crcolante, conssterà n document vdeo, n quanto l nostro sstema mra a fornre appoggo ad una applcazone per vdeo streamng. L utlzzo delle tecnche d cachng, come ndcato ne captol precedent, permette d ottenere un mgloramento delle prestazon global del sstema. Quest mglorament delle prestazon sono evdenzat prncpalmente da una rduzone de temp d repermento de document multmedal, da una rduzone del traffco crcolante sulla rete e da una rduzone del carco d lavoro sulle enttà server. 4.2 Anals de requst L operazone prncpale, rchesta al sstema d cachng, rsulta essere quella della memorzzazone del flusso multmedale che transta attraverso le enttà proxy. Esula da questo progetto la gestone delle problematche rguardant le scelte da effettuare per determnare qual oggett vadano memorzzat n cache e qual non s rtene necessaro debbano essere mantenut. Il gestore della memora cache dovrà pertanto ntercettare l flusso multmedale entrante e ndrzzarlo verso un fle creato all nterno d un drettoro rservato alla memora cache. Questa operazone non dovrà nterferre sulla normale procedura d noltro de dat verso l enttà successva al proxy, all nterno della gerarcha del sstema. La memorzzazone de dat prosegue d par passo con l andamento del flusso multmedale, e qund con la rproduzone del documento vdeo sull enttà clent. 51

54 4.2.1 Poltche d gestone Alcun de grad d lbertà prevst nella gestone d una memora cache sono ndvduat dalle poltche utlzzate. Vedamo ora quelle che sono e non sono convolte drettamente nel nostro progetto. Possamo escludere a pror le Prefetchng polces, n quanto l materale multmedale che andamo a consderare rsulta soltamente d dmenson notevol. Questo sconsgla qund un pre-carcamento n memora de document, n quanto sarebbe necessara un occupazone d rsorse prolungata nel tempo. Inoltre, s avrebbe l occupazone d una quanttà d memora cache consderevole, senza avere la certezza che l vdeo memorzzato venga, po, effettvamente rchesto. Le Routng polces e le Placement polces potrebbero, nvece, essere convolte nella realzzazone d un sstema d cachng. Introducono però, problematche relatve ad un pù alto lvello d gestone e coordnamento rspetto a quello affrontato nel nostro progetto. Le Coherence polces affrontano problematche relatve alla consstenza de dat contenut nella cache. Queste consderazon non rsultano avere mportanza nella realzzazone del nostro sstema, data la tpologa d document convolt nel nostro progetto. S rtene nfatt, che le nformazon vdeo consderate, non necesstno d frequent aggornament, e qund, è pressoché scongurata la presenza d materale obsoleto n quanto non aggornato. Le poltche d gestone sulle qual c samo concentrat rsultano essere le Replacement polces, descrtte nel secondo captolo d questa tes. La scelta della poltca d rmozone e rmpazzamento da applcare, nfluenza le prestazon dell ntero sstema. 4.3 Problematche affrontate In questa parte cercheremo d effettuare un anals de dvers aspett da prendere n consderazone nella successva fase d svluppo. Per consentre la realzzazone delle operazon rcheste, è necessaro effettuare delle scelte. Queste scelte rguardano prncpalmente l organzzazone nterna della memora cache, le modaltà d salvataggo de fluss 52

55 multmedal e le poltche adottate per la gestone del sstema. Senza dmentcare la scelta delle opzon rese dsponbl all utente per consentre una personalzzazone del sstema, cercando d adattarlo all ambente entro l quale sarà operatvo I format vdeo Per rendere possble l mantenmento n cache degl oggett multmedal present nel sstema bsogna fare alcune consderazon. Come accennato n precedenza, contenut multmedal trattat sono n partcolar modo element vdeo. In quest ultm ann c è stato un notevole aumento della dffusone d contenut vdeo d tpo dgtale all nterno della rete nternet. Questo anche graze alla sempre maggore dffusone de support dvd ed agl scamb, non sempre legal, d vdeo dgtal attraverso la rete. I sempre pù aggornat programm d compressone rescono a comprmere un flm, orgnaramente n formato dvd, fno a farlo contenere n un normale cd. Questo senza che la qualtà del documento venga eccessvamente deterorata. Vedamo qund come un flm medo possa avere dmenson par crca a 700 megabyte o superor. La dmensone, n termn d occupazone d memora, del documento vdeo, rsulta qund essere drettamente collegata alla sua qualtà, alla rsoluzone, alla durata e al tpo d compressone vdeo utlzzata. Nel nostro caso l applcazone d vdeo streamng con la quale s deve nteragre, prevede tre prncpal lvell d qualtà all nterno de qual sono raggruppat tutt document present sul sstema. Quest tre lvell vengono dentfcat dalle etchette LOW, MEDIUM e HIGH. I format de vdeo sono quell pù comunemente usat, e qund anche supportat da JMF per l multmeda streamng Organzzazone nterna della cache Abbamo appena vsto, nel paragrafo precedente, quale potrebbe essere la dmensone degl oggett multmedal da gestre. Una prma consderazone da effettuare rguarda, qund, la dmensone della memora 53

56 cache. È necessaro che questa possa contenere un certo numero d document, n modo da rdurre la frequenza delle operazon d rmozone e sosttuzone. Anche se questo c porta a dover gestre una memora d notevol dmenson e a rservarle questo spazo sul proxy. Avremo, sul supporto d memora permanente dell enttà proxy, una drectory rservata alla memora cache. È all nterno d questo drettoro che archveremo vdeo. Tenendo presente le caratterstche evdenzate nel precedente paragrafo s è pensato d avere, all nterno della drectory appena ctata, altre tre sottodrectory. Ognuna d esse farà rfermento ad uno de tre dfferent lvell d qualtà ntrodott per contenut vdeo da memorzzare: low, medum e hgh. Ogn sottodrectory rsulterà essere gestta come una cache ndpendente dalle altre, avente una sua dmensone massma ed un propro nseme d dat nel quale sceglere, eventualmente, quello o quell da elmnare. Questa vsone della cache ha delle caratterstche comun con la stratega Parttoned Cachng presentata all nterno del secondo captolo. Contnuando a consderare la qualtà come parametro prncpale, s potrebbe pensare d consderare anche la dmensone degl oggett multmedal. Ogn cache, relatva ad un sngolo lvello d qualtà, potrebbe essere suddvsa n n sottocartelle, assocate a dvers ntervall d dmenson. Questo consentrebbe d avere prestazon mglor nella gestone d quest nsem, n quanto costtut da oggett pù omogene relatvamente all occupazone d memora. All nterno d questo progetto non verrà tenuta n consderazone questa ulterore suddvsone della cache Memorzzazone de vdeo Il flusso multmedale da memorzzare arrva n ngresso al proxy e vene grato n uscta sull enttà successva della gerarcha. Questo flusso vene ntercettato e ndrzzato anche verso un fle locale all nterno della drectory d cache. In partcolare all nterno d una quarta sottodrectory del drettoro d cache. Questa ulterore sottodrectory vene ntrodotta per consentre la temporanea memorzzazone dell oggetto. Al termne del 54

57 salvataggo, l oggetto consderato, verrà po trasferto nel drettoro relatvo alla propra qualtà caratterstca. Dal momento che trattamo oggett la cu durata può essere consderevole, bsogna tenere presente che, l clent, potrebbe nterrompere n manera defntva la rproduzone del vdeo. L nterruzone può avvenre anche nel caso n cu non sa stato raggunto l termne del vdeo. In questo caso vene mantenuta n memora la parte d vdeo che è stata gà vsonata dal clent. Non vene scarcata dal server orgnaro la parte rmanente del flmato per non sovraccarcare l server ed aumentare n manera consderevole l traffco della rete. Anche perché s tratterebbe d effettuare questa operazone, con la possbltà che, l determnato flmato, venga po elmnato dalla memora cache senza che sa ma stato vsonato completamente. È nel momento del trasfermento dell oggetto dal drettoro temporaneo a quello defntvo che saranno, eventualmente, chamate n causa le poltche d gestone della memora. Anche perché, solo al termne del salvataggo è conoscuta la dmensone effettva dell oggetto da memorzzare. Essendo possble nterrompere, da parte del clent, la fruzone del materale multmedale, è possble che la dmensone effettva non corrsponda con quella orgnara Poltche d rmpazzamento Rchamando le poltche descrtte nel secondo captolo, possamo vedere quante possono essere le scelte possbl, tenendo presente che ne sono state presentate solamente alcune. Abbamo evdenzato come le dfferent poltche prvlegno dfferent aspett che caratterzzano gl oggett e le azon compute su d ess. Queste consderazon c portano ad ndvduare l effettva dffcoltà d selezonare una poltca n quanto mglore rspetto alle altre. Prvlegare un aspetto puttosto che un altro può ncdere sulle prestazon del sstema, n termn, prncpalmente, d carco d lavoro sull enttà proxy. In partcolare, potre avere un utlzzo con frequenze elevate delle poltche d rmpazzamento. Questo carco d lavoro può 55

58 gravare n manera preponderante sul proxy, specalmente nel caso v sano numeros altr fluss multmedal transtant sull enttà. Per quest motv s è scelto d mplementare pù d una poltca, rendendo così possble un mnmo adattamento del sstema all ambente n cu è chamato ad operare Opzon d personalzzazone Dall anals de var aspett effettuata ne paragraf precedent possamo notare come sano numeros parametr su cu è possble agre. Per questo motvo s è pensato d rendere possble al gestore dell enttà proxy una personalzzazone d alcun d ess. La prma opzone che vene presa n consderazone, è la scelta effettuable rguardo la poltca d rmpazzamento della cache. La scelta potrà essere effettuata tra le stratege proposte. Sarà possble, po, defnre la dmensone massma delle tre drectory destnate a contenere gl oggett multmedal. In questo modo possamo adattare le dmenson della memora cache n base alle dmenson de pù dffus element vdeo present nel sstema. Un ultmo parametro modfcable è quello relatvo alla drectory n cu è contenuta la cache. Possamo, n partcolare, ndcarne l percorso ed l nome. Nel qual caso l percorso e l drettoro ndcato non esstano verranno creat. L obbettvo d queste opzon d personalzzazone rsulta essere prncpalmente quello d consentre un adattamento del sstema d cachng all ambente entro l quale questo sarà operatvo. Tutto questo per cercare d ottenere un mgloramento generale delle prestazon. 4.4 Progettazone All nterno d questo paragrafo andremo ad llustrare, attraverso le scelte effettuate, la fase d progettazone del sstema d cachng. 56

59 Il sstema da realzzare deve essere nteso come l sstema che s occupa d operare la memorzzazone del flusso multmedale all nterno dell enttà proxy. In partcolare entra n funzone nel momento n cu lo stream d dat arrva sul proxy per essere noltrato al successvo nodo presente sul cammno. Lo scopo d tale memorzzazone è quello d avvcnare contenut multmedal a clent, appartenent all ambente, che ne fanno rchesta. Andamo ora a vedere la struttura complessva del sstema, osservando qual rsultano essere component pù sgnfcatv. Cache MUM Cache Manager Polces Lst Manager Cache Confg LRU LRU-Mn LRU* Fgura 4.1: dagramma a blocch del sstema d cachng. Come evdenzato da var blocch contenut nella fgura qu sopra, l sstema rsulta composto da dvers modul. Andremo ora ad llustrare component così ndvduat. 57

60 4.4.1 La cache La cache è mantenuta sul dspostvo d memorzzazone permanente presente sul proxy che appartene al cammno consderato. Come ndvduato nella fase d anals, questa consta d una drectory prncpale all nterno della quale sono present quattro sottodrectory. Una d queste è relatva alla memorzzazone temporanea del flusso multmedale, mentre le altre tre corrspondono a tre lvell d qualtà pres n consderazone per document vdeo da trattare Il gestore del sstema Il componente che s occupa della gestone del sstema è essenzalmente ndvduato dalla classe CacheManager. Non dobbamo, nfatt, occuparc della effettva realzzazone della cache, ma della sua gestone. Questa è l enttà che fa da punto d contatto con l ambente MUM, essendo chamata n causa dal metodo che s occupa, sul proxy, della rcezone del documento multmedale. In partcolare rceverà dal suddetto metodo le nformazon relatve al vdeo ed l data source che fa rfermento al documento vero e propro. Le prme azon che compe questa struttura, al momento della sua nzalzzazone, rguardano l repermento delle nformazon relatve alla memora da gestre. Innanztutto vengono ndvduat parametr d personalzzazone della cache. Successvamente, avvene l repermento delle nformazon relatve agl oggett resdent all nterno della memora cache. Una fase successva rguarda le operazon necessare alla confgurazone del componente processor che verrà utlzzato. In partcolare bsogna ntercettare l flusso d dat entrante, ndcato dal data source sopra ctato, e ndrzzarlo su d un fle creato all nterno del drettoro temporaneo d memorzzazone. Dopo aver confgurato adeguatamente l processor, prma d nzare l effettva fase d rcezone e salvataggo de dat, è necessaro ntrodurre un ulterore componente chamato data snk. Questa enttà lavora parallelamente al processor ed è quella che s occupa della effettva scrttura del fle. Dopo averla creata, 58

61 data snk e processor vengono avvat n successone, dando nzo al trasfermento de dat. Entramb quest component vengono fermat e chus quando l utente dal lato clent chude l nterfacca che gl permetteva la vsone del vdeo. In questo modo vene effettuata l nterruzone del flusso d dat e qund la chusura del fle posto nel drettoro temporaneo. Al termne d queste operazon, l fle ottenuto avrà tutte le caratterstche del fle che verrà mantenuto n memora, salvo l fatto d trovars nel drettoro errato. Successvamente a queste operazon d chusura, deve essere effettuato l trasfermento del fle nel drettoro corrspondente al propro lvello d qualtà. È a questo punto che vengono chamate n causa le poltche d gestone della nostra memora cache. Vedamo ora la rappresentazone Uml della classe CacheManager, analzzando brevemente metod ntrodott. Fgura 4.2: classe CacheManager. 59

62 I metod prncpal della classe rappresentata n fgura: CacheManager: è l costruttore della classe e s occupa del repermento delle nformazon d confgurazone e delle nformazon attual rguardant l contenuto della cache; sincache: verfca la presenza nella cache d un determnato oggetto; savecachelst: memorzza le lste contenent le nformazon relatve a dat present n cache, ne relatv fle; nttocachng: confgura ed nzalzza l elemento processor, necessaro per l ntercettazone del flusso multmedale; startcachng: crea ed nzalzza l componente data snk; n seguto avva la fase d memorzzazone del flusso ntercettato; closeall: pone termne alla memorzzazone, chudendo component convolt, come processor e data snk; avva la fase d memorzzazone nella cache del fle multmedale; putincache: graze a parametr qual la dmensone effettva dell oggetto e la sua qualtà, ne permette l nsermento nella relatva lsta ed l successvo trasfermento del fle nella locazone corretta; getconfg: rchama parametr d confgurazone della cache memorzzat nell opportuno fle; drtest: verfca l esstenza del drettoro d cache ndcato nel fle d confgurazone; se e drectory non esstono vengono create La confgurazone della cache Una delle caratterstche d questo sstema d gestone, è rappresentata dalla possbltà d essere confgurato n alcun suo parametr. Questa fase d personalzzazone avvene tramte l utlzzo d un nterfacca grafca. Come ndcato n precedenza è possble mpostare alcune opzon del sstema: la poltca d gestone della memora, la dmensone d ognuna delle sngole sottodrectory e la drectory prncpale della cache. 60

63 I parametr prescelt saranno memorzzat all nterno d un fle d confgurazone. Quando vene effettuata la confgurazone del sstema vengono rchamat parametr che attualmente lo caratterzzano, qual rsedono nel fle appena ctato. Se quest non rsultano reperbl, vengono vsualzzat valor d default successvamente modfcabl. Il fle d confgurazone verrà po letto dal gestore della cache, l componente CacheManager, n modo da conoscere prncpal parametr relatv alla memora da gestre. Nella fgura seguente vedamo llustrata la rappresentazone Uml delle class convolte nel processo d confgurazone. Fgura 4.3: class Confg e FleConfg. Senza entrare nel dettaglo de metod relatv a queste due class, possamo dre che la classe Confg rappresenta l nterfacca grafca medante la quale s mpostano parametr d personalzzazone della memora. La classe FleConfg, nvece, fornsce metod che consentono d salvare tal parametr nel fle d confgurazone e d reperre le stesse nformazon d personalzzazone dal medesmo fle Le poltche d gestone L organzzazone nterna della memora cache rchama le caratterstche descrtte all nterno del secondo captolo e rguardant la stratega Parttoned Cachng. 61

64 Le poltche d gestone consderate agranno n base al contenuto delle tre sottodrectory descrtte n precedenza. Ogn azone verrà descrtta rferendos ad una sngola drectory, tenendo presente che tutte e tre verranno gestte allo stesso modo. Rferendoc, ad esempo, alla sottodrectory Medum prendamo n consderazone alcun prncpal aspett. S rtene opportuno avere un fle che contenga dat relatv alle presentazon contenute nella cache. Al momento dell nzalzzazone del gestore della cache, queste nformazon verranno carcate all nterno d una lsta ordnata. Questa lsta sarà po utlzzata per le effettve operazon d gestone della memora. Nella scelta delle poltche da mplementare s è voluto prvlegare l concetto d localtà temporale. Questo perché è consderato essere un aspetto rlevante nella gestone d memore d questa tpologa e per la caratterstca veloctà d gestone d queste poltche. Per veloctà caratterstca vene nteso l fatto che le operazon compute su d un oggetto memorzzato o da memorzzare, non comportano complesse elaborazon. Andamo ora ad analzzare le tre poltche prescelte per la successva fase d mplementazone. LRU Come prma poltca andamo ad occuparc della poltca pù semplce che prende n consderazone esclusvamente la localtà temporale. Consderando la lsta delle presentazon present all nterno della memora cache, c comportamo nel modo seguente. In caso d cache ht, l oggetto rchesto vene ndvduato, rmosso dalla lsta e renserto n coda alla medesma. Questo per fare n modo che l vdeo rchesto per ultmo sa sempre poszonato n coda alla lsta. Qualora s present la necesstà d memorzzare un oggetto la cu dmensone rsulta essere maggore dello spazo attualmente lbero n memora, s opera nel modo seguente. Vengono rmoss uno o pù oggett, prelevandol dalla testa della lsta, fno a che non è stato lberato spazo suffcente o fno che la lsta non rsult vuota. 62

65 Durante ogn operazone d rmozone e/o nsermento vene aggornato l valore relatvo allo spazo occupato dagl oggett mantenut n cache. Nella fgura successva llustramo la rappresentazone Uml della classe LRUpolcy, che realzza la poltca, evdenzando l fatto che mplementa un nterfacca comune a tutte le poltche. I nom de metod della classe spegano ntutvamente cosa faccano; n ogn modo l presentamo brevemente: ht: opera le opportune modfche alla lsta degl element, n seguto al verfcars d un cache ht; replacement: realzza l nsermento d un nuovo elemento nella lsta d quell gà present n cache, effettuando le opportune rmozon necessare per lberare spazo; modfca opportunamente l valore che ndca lo spazo utlzzato dagl oggett memorzzat; Fgura 4.4: classe LRUpolcy e nterfacca IPolcy. 63

66 nsert: realzza l effettvo nsermento d un nuovo oggetto nella lsta; questo senza fare alcun controllo, ma modfcando n manera opportuna la dmensone attuale degl element n cache; setdm: mposta nzalmente valor relatv alla dmensone massma della cache ed alla dmensone attuale occupata dagl element present nella cache; getdmmax e getdmatt: resttuscono rspettvamente l valore relatvo alla dmensone massma della cache e quello relatvo allo spazo attualmente occupato. LRU - Mn Questa poltca ntroduce l utlzzo d una lsta supplementare e d un parametro T nzalmente mpostato con la dmensone dell oggetto che voglamo memorzzare nella cache. La lsta prncpale vene gestta, nel caso d cache ht, esattamente come descrtto n precedenza per quanto rguarda la poltca LRU. Quando s presenta la necesstà d rmuovere uno o pù element, vengono carcat sulla lsta supplementare, da quella prncpale, solo gl element avente dmensone uguale o maggore a T. Se la lsta è vuota s modfca l valore d T assegnandogl l valore T/2 e s rpete la creazone della lsta supplementare. Utlzzando la lsta creata, rmuovo l oggetto o gl oggett dalla testa della medesma, fno a che non ho una quanttà d spazo suffcente o fno a che la lsta non rsulta vuota. Se ottengo una lsta vuota, e non ho lberato spazo suffcente, opero come appena descrtto, modfcando nuovamente l valore d T e rcostruendo la lsta d appoggo. Nel momento n cu un oggetto vene elmnato dalla lsta supplementare, questo vene elmnato anche dalla lsta prncpale, n modo da avere una lsta prncpale aggornata e ordnata. 64

67 Fgura 4.6: classe LRUMINpolcy e relazon con LRUpolcy e IPolcy. I metod della classe LRUMINpolcy sono gl stess della classe LRUpolcy e ne realzzano le medesme funzon llustrate n precedenza. La partcolartà d questa classe è l fatto che essa estende la classe LRUpolcy per poterne utlzzare l metodo ht. Questo metodo deve, nfatt, compere le stesse azon per entrambe le poltche. LRU* Questa poltca prevede l utlzzo d un ulterore parametro assegnato ad ognuno degl oggett post n cache. Il nuovo parametro ntrodotto è un contatore delle rcheste d cu è stato fatto oggetto l documento presente n memora. Quando s verfca un cache ht, vene ncrementato l valore del contatore e l oggetto vene posto n coda alla lsta consderata. 65

68 Fgura 4.5: classe LRUSTARpolcy e nterfacca IPolcy. Quando è necessaro lberare spazo d memora, vene preso n consderazone l oggetto poszonato n testa alla lsta. Se l suo contatore d rcheste ha valore par a zero, l oggetto vene rmosso. Mentre, se l suo valore è dverso da zero, vene decrementato d una untà e l oggetto vene rmosso dalla testa della lsta e trasferto n coda alla medesma. S prosegue n questo modo fno a che lo spazo d memora lberato non sa suffcente a contenere l documento prescelto o fno a che la lsta degl element non rsult vuota. Dalla fgura posta nella pagna precedente possamo notare come metod relatv a questa poltca corrspondano esattamente a quell vst per le due precedent. Le funzon che realzzano sono gà state llustrate nelle part d testo relatve alle altre poltche. Le dfferenze rspetto a metod precedent sono all nterno del corpo d ognuno d ess. Quest devono, nfatt, gestre anche l contatore assocato ad ognuno degl oggett contenut nella memora cache. 66

69 4.4.5 La gestone delle lste L ultmo blocco che prendamo n consderazone, tra quell rappresentat nella fgura relatva all archtettura del sstema d cachng, è quello denomnato Lst Manager. Questo componente s occupa d fornre metod necessar alla gestone delle lste d oggett multmedal. Abbamo, nfatt, tre lste ordnate, una per ogn lvello d qualtà. Queste lste contengono le nformazon relatve alle presentazon contenute n memora. Le operazon d gestone della cache, con relatv nserment e le relatve rmozon, vengono effettuate su queste lste e successvamente estese a fle memorzzat su dsco. Questa classe offre metod che consentono tal operazon. Fgura 4.6: classe LstManager. La classe LstManager mplementa seguent metod (Fgura 4.6): getcachelst: questo metodo preleva, dal relatvo fle, le nformazon rguardant gl oggett contenut nella cache e costrusce una lsta ordnata con quest dat; getactualdm: calcola la dmensone totale degl oggett contenut nella lsta che rceve come parametro d ngresso; getdataindex: resttusce un ntero relatvo alla poszone d un determnato oggetto all nterno della lsta consderata, resttuendo 67

70 un valore errato (-1) se la lsta è vuota o l elemento non è presente; getnamelst: questo metodo costrusce una lsta contenente solo nom delle presentazon contenute nella lsta che l metodo rceve n ngresso; putincachelst: realzza l effettvo nsermento del nuovo oggetto nella lsta contenente gl element present nella cache. In base alla dmenson dell oggetto ed allo spazo lbero n memora vene nserto l oggetto o rchamata la relatva poltca d rmpazzamento. 4.5 Concluson In questo captolo abbamo affrontato l anals del problema d cu s deve proporre una soluzone. S è cercato d ntrodurre prncpal requst rchest dal sstema d cachng, per po affrontare, nella fase d anals, le scelte effettuate per la gestone del sstema stesso. La fase d anals c ha portano alla vera e propra progettazone del sstema d cachng. In questa parte s è cercato d spegare l archtettura del sstema e le caratterstche degl element che lo compongono, fno ad arrvare alla defnzone d class e metod. Queste consderazon conducono la nostra trattazone verso l mplementazone effettva del sstema, che verrà trattata nel captolo successvo. 68

71 CAPITOLO 5 5 Implementazone e testng del sstema d cachng In questo captolo andremo ad llustrare alcun aspett partcolarmente sgnfcatv dell mplementazone del sstema d cachng l cu progetto è stato presentato nel captolo precedente. Nella seconda parte del captolo, andremo a rportare alcun valor relatv a test effettuat sul sstema. In quest test confronteremo prestazon ottenute, n termn d veloctà, dalle tre replacement polcy mplementate, n dverse condzon operatve. 5.1 Implementazone del sstema d cachng Alcune delle scelte relatve a questo specfco sstema d cachng, sono state dettate da vncol mpost dall ambente entro l quale l nostro sstema deve andare ad ntegrars. In partcolare, l mplementazone è stata realzzata cercando d sfruttare le potenzaltà del lnguaggo Java, utlzzato per la realzzazone dell ambente MUM. Conseguenza d questo è stato anche l utlzzo del framework JMF, per la gestone de contenut multmedal. Nelle part che seguono s è cercato d operare seguendo due prncpal lnee guda d esposzone. Per quanto rguarda la gestone de contenut multmedal, o le soluzon specfche legate ad un lnguaggo, abbamo fatto rfermento alle strutture offerte dal lnguaggo Java utlzzato. Mentre, per quanto rguarda le part relatve all mplementazone delle poltche, s è preferto utlzzare uno pseudo-lnguaggo. Questo per non vncolare tal soluzon operatve ad un partcolare lnguaggo d programmazone. 69

72 5.1.1 Gestone de contenut multmedal In questa sezone descrvamo component convolt nella gestone de contenut multmedal, facendo qund esplct rferment al lnguaggo Java ed n partcolare al framework JMF. I package prncpalmente convolt n questa fase d mplementazone sono l javax.meda ed l javax.meda.protocol. Clent Server Proxy Proxy Proxy Cache Cache Cache Fgura 5.1: modello Clent - Proxy - Server. Prma d approfondre l argomento rguardante la gestone degl stream multmedal s rtene opportuno rcordare quale sa lo scenaro n cu l sstema d cachng andrà ad operare (Fgura 5.1). L enttà clent rchederà una determnata presentazone al relatvo server, che provvederà all nvo de dat. Queste nformazon transteranno attraverso una o pù enttà proxy, che avranno la possbltà d memorzzare questo flusso all nterno delle rspettve memore cache. Il prmo problema che abbamo dovuto affrontare è stato quello relatvo all ntercettazone d questo flusso multmedale transtante 70

73 attraverso l enttà proxy, e la sua redrezone verso un fle creato sul dsco locale. Il flusso è stato ntercettato sfruttando una caratterstca fondamentale del componente data source: la possbltà d essere clonato. È stato creato, nfatt, un clone del data source utlzzato nell enttà proxy per noltrare dat all enttà successva del percorso. La rga d codce che segue rguarda la clonazone del data source e cloneddatasource ndca l data source clonable da cu l clone vene creato:... DataSource nml=((sourcecloneable)cloneddatasource).createclone();... Utlzzando questo clone vene creato l relatvo processor, che vene po confgurato n manera adeguata. Rportamo la rga d codce relatva alla creazone del processor: processor = Manager.createProcessor(nML); dove nml ndca l clone del data source orgnaro. Successvamente s è resa necessara l ntroduzone d un ulterore componente del framework: l MedaLocator. Questo componente, contenuto nel package javax.meda, vene utlzzato per ndcare l fle destnazone nel quale l flusso verrà memorzzato. Successvamente a queste operazon, bsogna occupars della creazone del data snk che svolge l effettvo compto d scrttura de dat all nterno del fle destnazone. Per la creazone d questo componente è necessaro sfruttare l processor (processor) ed l meda locator (outml) creat n precedenza:... dsnk = Manager.createDataSnk(processor.getDataOutput(),outML);... 71

74 Una volta nzalzzat quest component è possble avvare l ntercettazone e la relatva scrttura del contenuto multmedale transtante attraverso l enttà proxy. Questo vene realzzato medante l nvocazone de metod start del processor e del data snk creat. Questa fase d mplementazone è stata caratterzzata da alcun problem nzal relatv soprattutto al corretto utlzzo de component descrtt. Effettuando dverse prove d confgurazone ed utlzzo d queste strutture, s è po arrvat ad ottenere l rsultato voluto Le poltche d gestone Per quanto rguarda le replacement polces mplementate, andamo a presentare prncpal metod che caratterzzano ognuna d queste poltche. Per fare cò c avvalamo dell utlzzo d uno pseudo-lnguaggo, n modo da non vncolare le operazon realzzate al lnguaggo Java. LRU Andamo ora a vedere come sono state mplementate le operazon prncpal realzzate da questa prma poltca. Come prmo metodo andamo a prendere n consderazone quello relatvo alla stuazone d cache ht. Tale metodo s occuperà d rmuovere l determnato oggetto, reperto graze alla sua poszone, dalla relatva lsta e d nserrlo n coda alla medesma. Vene resttuta n uscta la lsta ordnata. Vedamo ora nel dettaglo queste operazon: LstaOrdnata ht(lstadcache, poszone){ oggetto = LstaDCache.rmuov(poszone); LstaDCache.nserscInCoda(oggetto); } resttusc LstaDCache; 72

75 Un altro metodo mportante è quello relatvo all operazone d elmnazone e nsermento necessara quando bsogna nserre un nuovo elemento all nterno della memora cache e non s ha spazo lbero suffcente. Vene effettuato un prmo controllo relatvo alla dmensone dell oggetto, per verfcare che questa non sa maggore della dmensone massma consentta alla memora. Se rsulta maggore, la lsta delle presentazon non vene modfcata. Se è mnore od uguale, vene controllato se la presentazone da nserre è gà presente nella lsta. Se è presente, vene elmnata e vene lberato lo spazo da essa occupato. Se non è presente non vene eseguta alcuna operazone. Successvamente avvene la rmozone d oggett fno a che s ottene suffcente spazo lbero o fna a che la lsta non rsulta vuota. Dopodché avvene l nsermento del nuovo elemento all nterno della lsta. Da questo metodo vene resttuta la lsta, che può essere stata, o meno, modfcata. Andamo a vedere le operazon descrtte: LstaOrdnata replacement(lstadcache, nuovodato){ se (nuovodato.dm > dmmax) allora resttusc LstaDCache; altrment { se (nuovodato.nome è n LstaDCache) { oggetto = LstaDCache.rmuov(nuovoDato); lbera spazo par a oggetto.dm; } fnchè ((spazo lbero non suffcente) e (LstaDCache non vuota)) { oggetto = LstaDCache.rmuovPrmo(); lbera spazo par a oggetto.dm; } LstaDCache.nserscInCoda(nuovoDato); dmatt = dmatt + nuovodato.dm; } 73

76 } resttusc LstaDCache; LRU-Mn Per llustrare metod relatv a questa seconda poltca c avvarremo d quell gà descrtt per la poltca precedente. Dal momento che l metodo ht rmane nalterato, non verrà trattato. Per quanto rguarda l metodo replacement, questo rsulterà smle al precedente, anche se operante su d una lsta dversa. Prma d applcare l metodo d rmpazzamento descrtto n precedenza, è necessaro determnare la lsta contenente le presentazon avent dmensone maggore o uguale a quella del nuovo oggetto da nserre (l valore d sogla). Successvamente sarà applcato l metodo vsto per la poltca LRU. Se lo spazo lberato non rsulterà suffcente, verrà creata dversa lsta d appoggo, modfcando l precedente valore d sogla. Saranno po rpetute le operazon appena elencate. Andamo ora ad llustrare le struzon relatve all operazone d creazone della lsta d appoggo: LstaOrdnata NuovaLsta; per ogn elemento d LstaDCache rpet { oggetto = LstaDCache.Elemento(); se (oggetto.dm >= sogla) allora { NuovaLsta.nserscInCoda(oggetto); } } 74

77 LRU* Per quanto rguarda metod relatv all ultma poltca mplementata, rtenamo opportuno prendere n consderazone solamente le dfferenze present rspetto a metod relatv alla poltca LRU. In partcolare, c trovamo qu a dover gestre un ulterore parametro relatvo ad ogn presentazone presente nella cache. Questo parametro, che ndcheremo con l nome d contatore, vene nzalzzato a zero nel momento della prma memorzzazone n cache del determnato oggetto. Quando s verfca una stuazone d cache ht, l elemento rchesto vene rmosso dalla lsta, vene mplementato l suo contatore e vene renserto n coda alla lsta. Come possamo notare, l unca operazone che dversfca questo metodo, rspetto a quello llustrato per la prma poltca trattata, è l ncremento d tale contatore: oggetto.contatore = oggetto.contatore + 1; L operazone d rmpazzamento rsulta, nvece, pù complessa. Rmuovamo, nnanztutto, l elemento poszonato n testa alla lsta d cache. Dopodché controllamo l valore del suo contatore. Se è par a zero, l oggetto vene rmosso defntvamente e vene lberato l relatvo spazo d memora. Se l valore del contatore è maggore d zero, vene decrementato d una untà e l oggetto vene renserto n coda alla lsta. Queste operazon vengono rpetute fno a che lo spazo lbero non è suffcente o fno a che la lsta non rsulta vuota. Evdenzamo ora, graze all utlzzo d struzon espresse medante uno pseudo-lnguaggo, le operazon appena descrtte: oggetto = LstaDCache.rmuovPrmo(); se (oggetto.contatore = 0) allora { lbera spazo par a oggetto.dm; } 75

78 altrment { oggetto.contatore = oggetto.contatore 1; LstaDCache.nserscInCoda(nuovoDato); } La gestone delle lste Nella fase d mplementazone s è reso necessaro effettuare alcune scelte rguardant le strutture da utlzzare. Una delle scelte pù mportant, è stata quella relatva alla struttura da utlzzare per mplementare, nel lnguaggo Java, le lste ordnate. Lste adbte a contenere le nformazon relatve alle presentazon memorzzate nella cache. Dopo aver preso n consderazone dverse soluzon, s è optato per l utlzzo della struttura LnkedLst, contenuta nel package java.utl del lnguaggo Java. Questa struttura è caratterzzata dal fornre un ottmo accesso sequenzale e veloc operazon d nsermento e rmozone dal centro della lsta stessa. Offre noltre metod che consentono rmozon ed nserment n testa ed n coda alla lsta consderata. D contro, non è la struttura che fornsce un pù rapdo accesso casuale a dat n essa contenut. Avendo qund optato per l utlzzo d questa struttura, sono stat utlzzat suo metod d base per effettuare la gestone delle vare lste convolte nella realzzazone del nostro sstema d cachng La confgurazone del sstema Questa parte d mplementazone è relatva alla fase d confgurazone del sstema d cachng. La personalzzazone del sstema vene realzzata medante l utlzzo d una semplce ed ntutva nterfacca grafca. La fnestra che s presenta all utente è quella presentata nella seguente fgura. 76

79 Fgura 5.2: fnestra d confgurazone del sstema. La classe che mplementa questa nterfacca grafca rsulta essere sottoclasse della classe base JFrame, da cu eredta metod. La classe JFrame è contenuta nel package javax.swng del lnguaggo Java. La classe da no creata mplementa, noltre, l nterfacca ActonLstener, contenuta nel package java.awt.event del lnguaggo Java. Questa nterfacca permette d assocare, all azone d pressone de pulsant vsualzzat, le relatve operazon d salvataggo de dat o d chusura della fnestra. 5.2 Testng L ultma fase relatva alla realzzazone del sstema d cachng, rguarda l testng del sstema stesso. Questa parte mra a defnre le dfferenze relatve alle prestazon delle tre poltche d rmpazzamento mplementate, n dfferent condzon operatve. Per prma cosa è possble notare che l nseme delle tre poltche prende n consderazone, per ogn oggetto, tre parametr prncpal: la localtà temporale, l occupazone d memora e l numero d access. La stratega LRU prende n consderazone solamente la localtà temporale. La 77

Le operazioni che vogliamo realizzare sono. Supporremo che una tabella T abbia i seguenti attributi: 1. Table(T): costruisce una tabella vuota T.

Le operazioni che vogliamo realizzare sono. Supporremo che una tabella T abbia i seguenti attributi: 1. Table(T): costruisce una tabella vuota T. tabelle dnamche Tabelle dnamche Spesso non s conosce a pror quanta memora serve per memorzzare una struttura dat (tabella d dat ~ array, tabella hash, heap, stack, ecc.. Può captare qund d allocare una

Dettagli

Memorie Caratteristiche principali

Memorie Caratteristiche principali v e l o c t à a m p e z z a c o s t o Memore Caratterstche prncpal Locazone: processore, nterna (prncpale), esterna (secondara) Capactà: dmensone parola, numero d parole Untà d trasfermento: parola, blocco

Dettagli

B - ESERCIZI: IP e TCP:

B - ESERCIZI: IP e TCP: Unverstà d Bergamo Dpartmento d Ingegnera dell Informazone e Metod Matematc B - ESERCIZI: IP e TCP: F. Martgnon Archtetture e Protocoll per Internet Eserczo b. S consder l collegamento n fgura A C =8 kbt/s

Dettagli

Propagazione delle incertezze

Propagazione delle incertezze Propagazone delle ncertezze In questa Sezone vene trattato l problema della propagazone delle ncertezze quando s msurano pù grandezze dfferent,,,z soggette a error d tpo casuale e po s utlzzano tal grandezze

Dettagli

Matematica Computazionale(6cfu) Ottimizzazione(8cfu)

Matematica Computazionale(6cfu) Ottimizzazione(8cfu) Docente: Marco Gavano (e-mal:gavano@unca.t) Corso d Laurea n Infomatca Corso d Laurea n Matematca Matematca Computazonale(6cfu) Ottmzzazone(8cfu) (a.a. 205-6, lez.8) Matematca Computazonale, Ottmzzazone,

Dettagli

3 CAMPIONAMENTO DI BERNOULLI E DI POISSON

3 CAMPIONAMENTO DI BERNOULLI E DI POISSON 3 CAMPIOAMETO DI ROULLI E DI POISSO 3. ITRODUZIOE In questo captolo esamneremo due schem d camponamento che dversamente dal camponamento casuale semplce non producono campon d dmensone fssa ma varable.

Dettagli

Sorgenti Numeriche - Soluzioni

Sorgenti Numeriche - Soluzioni Sorgent umerche - Soluzon *) L anals delle frequenze con cu compaono le vare lettere n un documento n talano, comprendente 5975 caratter, ha fornto seguent dat: Lettera umero Frequenza relatva A 666. B

Dettagli

Il procedimento può essere pensato come una ricerca in un insieme ordinato, il peso incognito può essere cercato con il metodo della ricerca binaria.

Il procedimento può essere pensato come una ricerca in un insieme ordinato, il peso incognito può essere cercato con il metodo della ricerca binaria. SCELTA OTTIMALE DEL PROCEDIMENTO PER PESARE Il procedmento può essere pensato come una rcerca n un nseme ordnato, l peso ncognto può essere cercato con l metodo della rcerca bnara. PESI CAMPIONE IN BASE

Dettagli

Realizzazione di FSM sincrone. Sommario. Introduzione. Sommario. M. Favalli

Realizzazione di FSM sincrone. Sommario. Introduzione. Sommario. M. Favalli Realzzazone d FSM sncrone M. Favall Engneerng Department n Ferrara Realzzazone d FSM Anals e sntes de sstem dgtal / Introduzone Realzzazone d FSM Anals e sntes de sstem dgtal 2 / Una volta ottenuto l automa

Dettagli

Distribuzione di Boltzmann. Nota

Distribuzione di Boltzmann. Nota Dstrbuzone d Boltzmann ota Tutto l soggetto trattato deve n realta essere nserto nel quadro concettuale della meccanca statstca, che non e trattato n questo corso. Quest cenn sono solo un breve rchamo

Dettagli

{ 1, 2,..., n} Elementi di teoria dei giochi. Giovanni Di Bartolomeo Università degli Studi di Teramo

{ 1, 2,..., n} Elementi di teoria dei giochi. Giovanni Di Bartolomeo Università degli Studi di Teramo Element d teora de goch Govann D Bartolomeo Unverstà degl Stud d Teramo 1. Descrzone d un goco Un generco goco, Γ, che s svolge n un unco perodo, può essere descrtto da una Γ= NSP,,. Ess sono: trpla d

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Archtettura degl Elaborator - 1 Unverstà degl Stud d Padova Facoltà d Scenze MM.FF.NN. Corso d Laurea Trennale n Informatca docente: Alessandro Sperdut Informazon General Lucd ed esercz dsponbl n formato

Dettagli

Input/Output (Cap. 7, Stallings)

Input/Output (Cap. 7, Stallings) Input/Output (Cap. 7, Stallngs) Grande varetà d perferche gestscono quanttà d dat dfferent a veloctà dverse n format dvers Tutt pù lent della CPU e della RAM Necesstà d avere modul d I/O Archtettura degl

Dettagli

* PROBABILITÀ - SCHEDA N. 2 LE VARIABILI ALEATORIE *

* PROBABILITÀ - SCHEDA N. 2 LE VARIABILI ALEATORIE * * PROBABILITÀ - SCHEDA N. LE VARIABILI ALEATORIE *. Le varabl aleatore Nella scheda precedente abbamo defnto lo spazo camponaro come la totaltà degl est possbl d un espermento casuale; abbamo vsto che

Dettagli

Metodi e Modelli per l Ottimizzazione Combinatoria Progetto: Metodo di soluzione basato su generazione di colonne

Metodi e Modelli per l Ottimizzazione Combinatoria Progetto: Metodo di soluzione basato su generazione di colonne Metod e Modell per l Ottmzzazone Combnatora Progetto: Metodo d soluzone basato su generazone d colonne Lug De Govann Vene presentato un modello alternatvo per l problema della turnazone delle farmace che

Dettagli

Incertezza di sensibilità < fluttuazione intrinseca delle misure.

Incertezza di sensibilità < fluttuazione intrinseca delle misure. Error casual no ad ora abbamo correlato la bontà d una msura alla sensbltà degl strument utlzzat. Samo partt da una stuazone n cu effettuata una sere d msure rpetute, le msure hanno tutte dato lo stesso

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Archtettura degl Elaborator Unverstà degl Stud d Padova Scuola d Scenze Corso d Laurea n Informatca docente: Alessandro Sperdut Informazon General Lucd ed esercz dsponbl n formato elettronco http://www.math.unpd.t/~sperdut/archtettura1.html

Dettagli

Modello del Gruppo d Acquisto

Modello del Gruppo d Acquisto InVMall - Intellgent Vrtual Mall Modello del Gruppo d Acqusto Survey L attvtà svolta per la realzzazone dell attvtà B7 Defnzone del Gruppo d Acqusto e de Relatv Algortm d Inferenza, prevsta dal captolato

Dettagli

Esercizi sulle reti elettriche in corrente continua (parte 2)

Esercizi sulle reti elettriche in corrente continua (parte 2) Esercz sulle ret elettrche n corrente contnua (parte ) Eserczo 3: etermnare gl equvalent d Thevenn e d Norton del bpolo complementare al resstore R 5 nel crcuto n fgura e calcolare la corrente che crcola

Dettagli

Integrazione numerica dell equazione del moto per un sistema lineare viscoso a un grado di libertà. Prof. Adolfo Santini - Dinamica delle Strutture 1

Integrazione numerica dell equazione del moto per un sistema lineare viscoso a un grado di libertà. Prof. Adolfo Santini - Dinamica delle Strutture 1 Integrazone numerca dell equazone del moto per un sstema lneare vscoso a un grado d lbertà Prof. Adolfo Santn - Dnamca delle Strutture 1 Introduzone 1/2 L equazone del moto d un sstema vscoso a un grado

Dettagli

Segmentazione di immagini

Segmentazione di immagini Segmentazone d mmagn Introduzone Segmentazone: processo d partzonamento d un mmagne n regon dsgunte e omogenee. Esempo d segmentazone. Tratta da [] Introduzone (def. formale ( Sa R l ntera regone spazale

Dettagli

Fondamenti di Informatica/8 Gianni CONTE LIVELLO RTL

Fondamenti di Informatica/8 Gianni CONTE LIVELLO RTL FONDAMENTI DI INFORMATICA Lezone n. 8 DESCRIZIONE LIVELLO REGISTRO REGISTER TRANSFER LEVEL (RTL) I MODULI BASE RTL STRUTTURE DI INTERCONNESSIONE DESCRIZIONE E PROGETTO A LIVELLO RTL In questa lezone sono

Dettagli

Stabilità dei Sistemi Dinamici. Stabilità Semplice. Stabilità Asintotica. Stabilità: concetto intuitivo che può essere formalizzato in molti modi

Stabilità dei Sistemi Dinamici. Stabilità Semplice. Stabilità Asintotica. Stabilità: concetto intuitivo che può essere formalizzato in molti modi Gustavo Belforte Stabltà de Sstem Dnamc Gustavo Belforte Stabltà de Sstem Dnamc Stabltà de Sstem Dnamc Il Pendolo Stabltà: concetto ntutvo che può essere formalzzato n molt mod Intutvamente: Un oggetto

Dettagli

Capitolo 5. Analisi dei dati di output. 5.1 Analisi del transitorio

Capitolo 5. Analisi dei dati di output. 5.1 Analisi del transitorio Captolo 5 Anals de dat d output Una fase essenzale d ogn studo d smulazone è l anals de rsultat della smulazone stessa. Supponamo d avere costruto l modello d un sstema e sano Y 1,Y 2,...,Ym dat d output

Dettagli

x 0 x 50 x 20 x 100 CASO 1 CASO 2 CASO 3 CASO 4 X n X n X n X n

x 0 x 50 x 20 x 100 CASO 1 CASO 2 CASO 3 CASO 4 X n X n X n X n Corso d Statstca docente: Domenco Vstocco La msura della varabltà per varabl qualtatve ordnal Lo studo della varabltà per varabl qualtatve ordnal può essere condotto servendos degl ndc d omogenetà/eterogenetà

Dettagli

Metodi di analisi R 1 =15Ω R 2 =40Ω R 3 =16Ω

Metodi di analisi R 1 =15Ω R 2 =40Ω R 3 =16Ω Metod d anals Eserczo Anals alle magle n presenza d sol generator ndpendent d tensone R s J R Determnare le tenson sulle resstenze sapendo che: s s 0 R R 5.Ω s J R J R R 5Ω R 0Ω R 6Ω R 5 Dsegnamo l grafo,

Dettagli

La soluzione delle equazioni differenziali con il metodo di Galerkin

La soluzione delle equazioni differenziali con il metodo di Galerkin Il metodo de resdu pesat per gl element fnt a soluzone delle equazon dfferenzal con l metodo d Galerkn Tra le procedure generalmente adottate per formulare e rsolvere le equazon dfferenzal con un metodo

Dettagli

UNIVERSITÀ DEGLI STUDI DI BERGAMO. Facoltà di Ingegneria. Corso di Sistemi di Controllo di Gestione SCG-E04

UNIVERSITÀ DEGLI STUDI DI BERGAMO. Facoltà di Ingegneria. Corso di Sistemi di Controllo di Gestione SCG-E04 UNIVERSITÀ DEGLI STUDI DI BERGAMO Corso d Allocazone de centr d servzo SCG-E04 Le fas del processo d msurazone de cost Fase 1 Rlevazone de cost Fase 2 Assegnazone de cost Cost drett (Drect cost) Attrbuzone

Dettagli

Appunti di Teoria dell Informazione

Appunti di Teoria dell Informazione Corso d Telecomuncazon (Classe Qunta della specalzzazone Elettronca e Telecomuncazon) Pagna - - . La teora dell nformazone La teora dell nformazone descrve l funzonamento de sstem d comuncazone sa analogc

Dettagli

Valutazione dei Benefici interni

Valutazione dei Benefici interni Corso d Trasport Terrtoro prof. ng. Agostno Nuzzolo Valutazone de Benefc ntern Valutazone degl ntervent Indvduazone degl effett rlevant La defnzone degl effett rlevant per un ntervento sul sstema d trasporto

Dettagli

Capitolo 3 Covarianza, correlazione, bestfit lineari e non lineari

Capitolo 3 Covarianza, correlazione, bestfit lineari e non lineari Captolo 3 Covaranza, correlazone, bestft lnear e non lnear ) Covaranza e correlazone Ad un problema s assoca spesso pù d una varable quanttatva (es.: d una persona possamo determnare peso e altezza, oppure

Dettagli

CAPITOLO 3 CIRCUITI DI RESISTORI

CAPITOLO 3 CIRCUITI DI RESISTORI CAPITOLO 3 CIRCUITI DI RESISTORI Pagna 3. Introduzone 70 3. Connessone n sere e connessone n parallelo 70 3.. Bpol resstv n sere 7 3.. Bpol resstv n parallel 77 3.3 Crcut resstv lnear e sovrapposzone degl

Dettagli

1 La domanda di moneta

1 La domanda di moneta La domanda d moneta Eserczo.4 (a) Keynes elenca tre motv per detenere moneta: Scopo transattvo Scopo precauzonale Scopo speculatvo Il modello d domanda d moneta a scopo speculatvo d Keynes consdera la

Dettagli

Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili. Modelli per la Logistica: Single Flow One Level Model Multi Flow Two Level Model

Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili. Modelli per la Logistica: Single Flow One Level Model Multi Flow Two Level Model Rcerca Operatva e Logstca Dott. F.Carrabs e Dott.ssa M.Gentl Modell per la Logstca: Sngle Flow One Level Model Mult Flow Two Level Model Modell d localzzazone nel dscreto Modell a Prodotto Sngolo e a Un

Dettagli

Specifica calcolo soddisfazione discenti

Specifica calcolo soddisfazione discenti INDICE 1 SCOPO CAMPO DI APPLICAZIONE 3 DEFINIZIONI E CALCOLO PER LE DOMANDE INFORMATIVE 4 DEFINIZIONI E CALCOLO PER LE DOMANDE CON GIUDIZI 5 DEVIAZIONE STANDARD PER LE DOMANDE CON GIUDIZI 6 RACCOLTA ED

Dettagli

Economia del turismo

Economia del turismo U N I V E R S I T À D E G L I S T U D I D I C A G L I A R I F A C O L T À D I S C I E N Z E E C O N O M I C H E, G I U R I D I C H E E P O L I T I C H E C O R S O D I L A U R E A I N E C O N O M I A E

Dettagli

Algoritmi basati sulla tecnica Divide et Impera

Algoritmi basati sulla tecnica Divide et Impera Qucksort Algortm basat sulla tecnca Dvde et Impera In questo corso: Rcerca bnara Mergesort (ordnamento) Qucksort (ordnamento) Moltplcazone d nter Moltplcazone d matrc (non n programma) NOTA: nonostante

Dettagli

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 22 settembre Attenzione:

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 22 settembre Attenzione: Cognome.. Nome.... Archtettura degl Elaborator Classe 3 Prof.ssa Anselmo Appello del 22 settembre 2017 Attenzone: Inserre propr dat nell apposto spazo sottostante e n testa a questa pagna. Preparare un

Dettagli

6. Catene di Markov a tempo continuo (CMTC)

6. Catene di Markov a tempo continuo (CMTC) 6. Catene d Markov a tempo contnuo (CMTC) Defnzone Una CMTC è un processo stocastco defnto come segue: lo spazo d stato è dscreto: X{x,x 2, }. L nseme X può essere sa fnto sa nfnto numerable. L nseme de

Dettagli

Principali Innovazioni nei Computer (1)

Principali Innovazioni nei Computer (1) Prncpal Innovazon ne Computer (1) Il concetto d famgla IBM System/360, anno 1964 DEC PDP-8 Separa l archtettura dall mplementazone Untà d Controllo Mcroprogrammata Idea nzale d Wlkes, anno 1951 Introdotta

Dettagli

PRIMA PROVA INTERMEDIA DI STATISTICA (COD /6045/5047/4038/371/377) 26 ottobre 2015 COMPITO D

PRIMA PROVA INTERMEDIA DI STATISTICA (COD /6045/5047/4038/371/377) 26 ottobre 2015 COMPITO D FIRMA DELLO STUDENTE Cognome PRIMA PROVA INTERMEDIA DI STATISTICA (COD. 3000/6045/5047/4038/37/377) 26 ottobre 20 Nome Numero d matrcola Corso d Laurea Cod. corso COMPITO D A fn della valutazone s terrà

Dettagli

* * * Nota inerente il calcolo della concentrazione rappresentativa della sorgente. Aprile 2006 RL/SUO-TEC 166/2006 1

* * * Nota inerente il calcolo della concentrazione rappresentativa della sorgente. Aprile 2006 RL/SUO-TEC 166/2006 1 APAT Agenza per la Protezone dell Ambente e per Servz Tecnc Dpartmento Dfesa del Suolo / Servzo Geologco D Itala Servzo Tecnologe del sto e St Contamnat * * * Nota nerente l calcolo della concentrazone

Dettagli

Limitazioni di ampiezza negli amplificatori reali

Limitazioni di ampiezza negli amplificatori reali Lmtazon d ampezza negl amplfcator real G. Martnes 1 Lnearzzazone della trans-caratterstca G. Martnes Anals a pccolo segnale e concetto d punto d lavoro IL RUMORE EGLI AMPLIFICATORI Defnzon S defnsce rumore

Dettagli

POLITECNICO DI TORINO

POLITECNICO DI TORINO POLITECNICO DI TORINO ESERCITAZIONI DI LOGISTICA Laurea n Ingegnera Logstca e della Produzone Corso d Logstca e d Dstrbuzone 1 Docente: Prof. Ing. Gulo Zotter Tutore: Ing. Gulano Scapaccno A.A. 2004/2005

Dettagli

Luciano Battaia. Versione del 22 febbraio L.Battaia. Condensatori e resistenze

Luciano Battaia. Versione del 22 febbraio L.Battaia. Condensatori e resistenze Lucano attaa Versone del 22 febbrao 2007 In questa nota presento uno schema replogatvo relatvo a condensator e alle, con partcolare rguardo a collegament n sere e parallelo. Il target prncpale è costtuto

Dettagli

Indicatori di dimensione e di concentrazione

Indicatori di dimensione e di concentrazione Indcator d dmensone e d concentrazone 1 Indcator d dmensone Lo studo delle caratterstche struttural ed evolutve d un sstema produttvo necessta dell mpego d ndcator per msurare la dmensone delle untà economche

Dettagli

IL MODELLO IS-LM. Ripasso dei concetti principali dal corso base di Economia Politica. Prof. AnnaMaria Variato

IL MODELLO IS-LM. Ripasso dei concetti principali dal corso base di Economia Politica. Prof. AnnaMaria Variato IL MODELLO IS-LM Rpasso de concett prncpal dal corso base d Economa Poltca Prof. AnnaMara Varato Strumento grafco-analtco per la rappresentazone e lo studo dell equlbro smultaneo del mercato de ben e della

Dettagli

Architetture aritmetiche. Corso di Organizzazione dei Calcolatori Mariagiovanna Sami

Architetture aritmetiche. Corso di Organizzazione dei Calcolatori Mariagiovanna Sami Archtetture artmetche Corso d Organzzazone de Calcolator Maragovanna Sam 27-8 8 Sommator: : Full Adder s = x y c + x y c + x y c + x y c Full Adder x y c s x y c = x y + x c + + y c c + Full Adder c x

Dettagli

5: Strato fisico: limitazione di banda, formula di Nyquist; caratterizzazione del canale in frequenza

5: Strato fisico: limitazione di banda, formula di Nyquist; caratterizzazione del canale in frequenza 5: Strato fsco: lmtazone d banda, formula d Nyqust; caratterzzazone del canale n frequenza Larghezza d banda d un segnale La larghezza d banda d un segnale è data dall ntervallo delle frequenze d cu è

Dettagli

Corso di Economia Applicata

Corso di Economia Applicata Corso d Economa Applcata a.a. 2007-08 II modulo 16 Lezone Programma 16 lezone Democraza rappresentatva e nformazone Rcaptolando L agenza e l mercato (Arrow, 1986) Lezone 16 2 Introduzone Governo e Parlamento

Dettagli

Laboratorio 2B A.A. 2012/2013. Elaborazione Dati. Lab 2B CdL Fisica

Laboratorio 2B A.A. 2012/2013. Elaborazione Dati. Lab 2B CdL Fisica Laboratoro B A.A. 01/013 Elaborazone Dat Lab B CdL Fsca Lab B CdL Fsca Elaborazone dat spermental Prncpo della massma verosmglanza Quando eseguamo una sere d msure relatve ad una data grandezza fsca, quanto

Dettagli

IL RUMORE NEGLI AMPLIFICATORI

IL RUMORE NEGLI AMPLIFICATORI IL RUMORE EGLI AMPLIICATORI Defnzon S defnsce rumore elettrco (electrcal nose) l'effetto delle fluttuazon d corrente e/o d tensone sempre present a termnal degl element crcutal e de dspostv elettronc.

Dettagli

Reti di Calcolatori Programmazione di rete ed interfaccia API socket di Berkeley. Delfina Malandrino

Reti di Calcolatori Programmazione di rete ed interfaccia API socket di Berkeley. Delfina Malandrino Ret d Calcolator Programmazone d rete ed nterfacca API socket d Berkeley A.A. 2007/2008 Delfna Malandrno delmal@da.unsa.t http://ss.da.unsa.t/~delmal/ p//ssd s / d / Dpartmento d Informatca ed Applcazon

Dettagli

UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTÀ DI INGEGNERIA

UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTÀ DI INGEGNERIA UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTÀ DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA PER L AMBIENTE E IL TERRITORIO METODI DI LOCALIZZAZIONE DEL RISALTO IDRAULICO RELATORE Ch.mo Prof. Ing.

Dettagli

5.1 Controllo di un sistema non lineare

5.1 Controllo di un sistema non lineare 5.1 Controllo d un sstema non lneare Sa dato l sstema non lneare rappresentato n fgura 5.1, con h g θ Θ,m,r Fgura 5.1: Sstema non lneare F m (,d) = k m la forza che esercta l elettromagnete percorso da

Dettagli

VISUALIZZAZIONE INTERATTIVA DI SUPERFICI CON JAVAVIEW

VISUALIZZAZIONE INTERATTIVA DI SUPERFICI CON JAVAVIEW UNIVERSITA DEGLI STUDI DI TORINO Facoltà d Scenze M.F.N. Corso d laurea n Matematca VISUALIZZAZIONE INTERATTIVA DI SUPERFICI CON JAVAVIEW Relatore: Canddata: Sergo Console Francesca Marmora La vsualzzazone

Dettagli

COMPORTAMENTO DINAMICO DI ASSI E ALBERI

COMPORTAMENTO DINAMICO DI ASSI E ALBERI COMPORTAMENTO DNAMCO D ASS E ALBER VBRAZON TORSONAL Costruzone d Macchne Generaltà l problema del progetto d un asse o d un albero non è solo statco Gl ass e gl alber, come sstem elastc, sotto l azone

Dettagli

Economia del turismo

Economia del turismo Unverstà degl Stud d Caglar Facoltà d Economa Corso d Laurea n Economa e Gest. de Serv. Turstc A.A. 2013-2014 Economa del tursmo Prof.ssa Carla Massdda Sezone 5 ANALISI MICROECONOMICA DEL TURISMO Argoment

Dettagli

LE FREQUENZE CUMULATE

LE FREQUENZE CUMULATE LE FREQUENZE CUMULATE Dott.ssa P. Vcard Introducamo questo argomento con l seguente Esempo: consderamo la seguente dstrbuzone d un campone d 70 sttut d credto numero flal present nel terrtoro del comune

Dettagli

Incentivi alla cooperazione

Incentivi alla cooperazione Sstem d reputazone dellamco@ds.unge.t Sstem Dstrbut P2P A.A. 2006-07 27 novembre 2006 Indce 1 Introduzone Espermento Rsultat 2 Idea Algortmo Esperment 3 Introduzone Espermento Rsultat M. Feldman, K. La,

Dettagli

FORMAZIONE ALPHAITALIA

FORMAZIONE ALPHAITALIA ALPHAITALIA PAG. 1 DI 13 FORMAZIONE ALPHAITALIA IL SISTEMA DI GESTIONE PER LA QUALITA Quadro ntroduttvo ALPHAITALIA PAG. 2 DI 13 1. DEFINIZIONI QUALITA Grado n cu un nseme d caratterstche ntrnseche soddsfa

Dettagli

Corso di Tecniche elettromagnetiche per la localizzazione e il controllo ambientale. Test scritto del 08 / 09 / 2005

Corso di Tecniche elettromagnetiche per la localizzazione e il controllo ambientale. Test scritto del 08 / 09 / 2005 Corso d Tecnche elettromagnetche per la localzzazone e l controllo ambentale Test scrtto del 8 / 9 / 5 S rsponda alle seguent domande marcando con un segno le rsposte che s reputano corrette. S rsolva

Dettagli

Il modello del Relay Variabile è implementato attraverso Simulink di Matlab. Esso è composto da 3 Blocchi: Relay, Controllo Relay, Frequency Meter.

Il modello del Relay Variabile è implementato attraverso Simulink di Matlab. Esso è composto da 3 Blocchi: Relay, Controllo Relay, Frequency Meter. C a p t o l o 3 IMPLEMENTZIONE SIMULINK E FUNZIONI In questo captolo sono espost modell Smulnk che mplementano un relay a steres varable e le funzon create per dentfcare la funzone d trasfermento del processo.

Dettagli

Misure Ripetute ed Indipendenti

Misure Ripetute ed Indipendenti Msure Rpetute ed Indpendent Una delle metodologe pù semplc per valutare l affdabltà d una msura consste nel rpeterla dverse volte, nelle medesme condzon, ed esamnare dvers valor ottenut. Ovvamente, una

Dettagli

ESERCIZIO N. 1. b) rendimenti reali dell azienda Gesis e del portafoglio di mercato:

ESERCIZIO N. 1. b) rendimenti reali dell azienda Gesis e del portafoglio di mercato: ESERCIZIO N. 1 Il canddato proceda a calcolare l tasso d congrua remunerazone reale dell azenda Gess al 31.12.2003 applcando l CAPM e l WACC della stessa azenda; dat d cu s dspone sono seguent: a) rendmento

Dettagli

Equilibrio e stabilità di sistemi dinamici. Stabilità dell equilibrio di sistemi dinamici non lineari per linearizzazione

Equilibrio e stabilità di sistemi dinamici. Stabilità dell equilibrio di sistemi dinamici non lineari per linearizzazione Equlbro e stabltà d sstem dnamc Stabltà dell equlbro d sstem dnamc non lnear per lnearzzazone Stabltà dell equlbro d sstem dnamc non lnear per lnearzzazone Stabltà dell equlbro d sstem NL TC Crter d stabltà

Dettagli

y. E' semplicemente la media calcolata mettendo

y. E' semplicemente la media calcolata mettendo COME FUNZIONA L'ANOVA A UN FATTORE: SI CONFRONTANO TANTE MEDIE SCOMPONENDO LA VARIABILITA' TOTALE Per testare l'potes nulla che la meda d una varable n k popolazon sa la stessa, s suddvde la varabltà totale

Dettagli

POLITECNICO DI TORINO

POLITECNICO DI TORINO POLITECNICO DI TORINO ESERCITAZIONI DI LOGISTICA Laurea n Ingegnera Logstca e della Produzone Corso d Logstca e d Dstrbuzone 1 Docente: Prof. Ing. Gulo Zotter Tutore: Ing. Gulano Scapaccno A.A. 2007/2008

Dettagli

Algoritmi di Ordinamento. Fondamenti di Informatica Prof. Ing. Salvatore Cavalieri

Algoritmi di Ordinamento. Fondamenti di Informatica Prof. Ing. Salvatore Cavalieri Algortm d Ordnamento Fondament d Informatca Prof. Ing. Salvatore Cavaler 1 Introduzone Ordnare una sequenza d nformazon sgnfca effettuare una permutazone n modo da rspettare una relazone d ordne tra gl

Dettagli

UNIVERSITA DEGLI STUDI DI CASSINO FACOLTA DI INGEGNERIA

UNIVERSITA DEGLI STUDI DI CASSINO FACOLTA DI INGEGNERIA UNIVERSITA DEGI STUDI DI CASSINO FACOTA DI INGEGNERIA ANTONIO RUSSO, ANGEO EOPARDI ANAISI DE ERRORE CONNESSO A APPROSSIMAZIONE DEE UNGHEZZE E DEE CEERITA NE METODO DI INTEGRAZIONE DEE CARATTERISTICHE (MOC)

Dettagli

2002 sper. autonoma 1 M.Vincoli

2002 sper. autonoma 1 M.Vincoli 00 sper. autonoma 1 M.ncol 1. Un crcuto elettrco è un nseme d conduttor conness l uno all altro n modo contnuo; l crcuto s dce chuso se n esso crcola corrente, aperto n caso contraro. Gl element fondamental

Dettagli

Rappresentazione dei numeri PH. 3.1, 3.2, 3.3

Rappresentazione dei numeri PH. 3.1, 3.2, 3.3 Rappresentazone de numer PH. 3.1, 3.2, 3.3 1 Tp d numer Numer nter, senza segno calcolo degl ndrzz numer che possono essere solo non negatv Numer con segno postv negatv Numer n vrgola moble calcol numerc

Dettagli

REGRESSIONE LINEARE. È caratterizzata da semplicità: i modelli utilizzati sono basati essenzialmente su funzioni lineari

REGRESSIONE LINEARE. È caratterizzata da semplicità: i modelli utilizzati sono basati essenzialmente su funzioni lineari REGRESSIONE LINEARE Ha un obettvo mportante: nvestgare sulle relazon emprche tra varabl allo scopo d analzzare le cause che possono spegare un determnato fenomeno È caratterzzata da semplctà: modell utlzzat

Dettagli

NUMERI GRANDI DI FIBONACCI come trovare velocemente i loro esatti valori numerici Cristiano Teodoro

NUMERI GRANDI DI FIBONACCI come trovare velocemente i loro esatti valori numerici Cristiano Teodoro NUMERI GRANDI DI FIBONACCI come trovare velocemente loro esatt valor numerc Crstano Teodoro crstanoteodoro@vrglo.t Sommaro: n questo artcolo vene proposto, n alternatva al metodo classco per l calcolo

Dettagli

PIANIFICAZIONE DEI TRASPORTI

PIANIFICAZIONE DEI TRASPORTI Unverstà d Caglar DICAAR Dpartmento d Ingegnera Cvle, Ambentale e archtettura Sezone Trasport PIANIFICAZIONE DEI TRASPORTI Eserctazone su modell d generazone A.A. 2016-2017 Ing. Francesco Pras Ing. Govann

Dettagli

Definizione della tariffa per l accertamento di conformità degli strumenti di misura

Definizione della tariffa per l accertamento di conformità degli strumenti di misura Provvedmento adottato dalla Gunta del 6/7/2007 Defnzone della tarffa per l accertamento d conformtà degl strument d msura. Per l accertamento d conformtà degl strument d msura sono defnte le seguent 6

Dettagli

1. La domanda di moneta

1. La domanda di moneta 1. La domanda d moneta Esercz svolt Eserczo 1.1 (a) S consder l modello della domanda d moneta a scopo speculatvo d Keynes. Un ndvduo può sceglere d allocare la propra rcchezza sottoscrvendo un ttolo rredmble

Dettagli

Il dimensionamento dei sistemi di fabbricazione

Il dimensionamento dei sistemi di fabbricazione Il dmensonamento de sstem d fabbrcazone 1 Processo d progettazone d un sstema produttvo Anals della domanda Industralzzazone d prodotto e processo (dstnte e ccl d lavorazone) Scelta delle soluzon produttve

Dettagli

ANALISI STATISTICA DELLE INCERTEZZE CASUALI

ANALISI STATISTICA DELLE INCERTEZZE CASUALI AALISI STATISTICA DELLE ICERTEZZE CASUALI Consderamo l caso della msura d una grandezza fsca che sa affetta da error casual. Per ottenere maggor nformazone sul valore vero della grandezza rpetamo pù volte

Dettagli

1 Le equazioni per le variabili macroscopiche: i momenti dell equazione di Boltzmann

1 Le equazioni per le variabili macroscopiche: i momenti dell equazione di Boltzmann FISICA DEI FLUIDI Lezone 5-5 Maggo 202 Le equazon per le varabl macroscopche: moment dell equazone d Boltzmann Teorema H a parte, non è facle estrarre altre consderazon general sulla funzone denstà d probabltà

Dettagli

Sommatori: Full Adder. Adder. Architetture aritmetiche. Ripple Carry. Sommatori: Ripple Carry [2] Ripple Carry. Ripple Carry

Sommatori: Full Adder. Adder. Architetture aritmetiche. Ripple Carry. Sommatori: Ripple Carry [2] Ripple Carry. Ripple Carry CEFRIEL Consorzo per la Formazone e la Rcerca n Ingegnera dell Informazone Poltecnco d Mlano s Sommator: x y c x y c x y c x y c x y c Archtetture artmetche s x y Sommator:, Rpple Carry Sommator: Carry

Dettagli

CARATTERISTICHE DEI SEGNALI RANDOM

CARATTERISTICHE DEI SEGNALI RANDOM CARATTERISTICHE DEI SEGNALI RANDOM I segnal random o stocastc rvestono una notevole mportanza poché sono present, pù che segnal determnstc, nella maggor parte de process fsc real. Esempo d segnale random:

Dettagli

Consorzio AlmaLaurea. XIII Indagine AlmaLaurea sul Profilo dei Laureati. Angelo di Francia (AlmaLaurea) Moira Nardoni (AlmaLaurea)

Consorzio AlmaLaurea. XIII Indagine AlmaLaurea sul Profilo dei Laureati. Angelo di Francia (AlmaLaurea) Moira Nardoni (AlmaLaurea) Qualtà e valutazone del sstema unverstaro XIII Indagne AlmaLaurea sul Proflo de Laureat SODDISFAZIONE PER L ESPERIENZA UNIVERSITARIA Angelo d Franca (AlmaLaurea) Mora Nardon (AlmaLaurea) ALGHERO, 27 MAGGIO

Dettagli

Intorduzione alla teoria delle Catene di Markov

Intorduzione alla teoria delle Catene di Markov Intorduzone alla teora delle Catene d Markov Mchele Ganfelce a.a. 2014/2015 Defnzone 1 Sa ( Ω, F, {F n } n 0, P uno spazo d probabltà fltrato. Una successone d v.a. {ξ n } n 0 defnta su ( Ω, F, {F n }

Dettagli

Principali Innovazioni nei Computer (1)

Principali Innovazioni nei Computer (1) Prncpal Innovazon ne Computer (1) Il concetto d famgla IBM System/360, anno 1964 DEC PDP-8 Separa l archtettura dall mplementazone Untà d Controllo Mcroprogrammata Idea nzale d Wlkes, anno 1951 Introdotta

Dettagli

6. Catene di Markov a tempo continuo (CMTC)

6. Catene di Markov a tempo continuo (CMTC) 6. Catene d Markov a tempo contnuo (CMTC) Carla Seatzu, 8 Marzo 28 Defnzone Una CMTC è un processo stocastco defnto come segue: lo spazo d stato è dscreto: X{x,x 2, }. L nseme X può essere sa fnto sa nfnto

Dettagli

GLI 8 PRINCIPI DELLA VISION 2000

GLI 8 PRINCIPI DELLA VISION 2000 ISO 9001:2008 Le norme ISO 9000 emesse nel 1987 e successvamente revsonate nel 1994 hanno vsto un loro ulterore svluppo con l Progetto VISON 2000 che ha determnato l emssone delle nuove norme ISO 9001:2008

Dettagli

Circuiti elettrici in regime stazionario

Circuiti elettrici in regime stazionario rcut elettrc n regme stazonaro Metod d anals www.de.ng.unbo.t/pers/mastr/ddattca.htm ersone del -0-00 Premessa Nel caso pù generale è possble ottenere la soluzone d un crcuto rsolendo un sstema formato

Dettagli

Lezione n La concentrazione

Lezione n La concentrazione 1 La concentrazone Corso d Laurea: Economa Azendale Nello studo de fenomen economc e socal descrtt attraverso caratter quanttatv d tpo trasferble può essere nteressante analzzare la cosddetta concentrazone

Dettagli

commutazione induttiva (carico induttivo); commutazione capacitiva (carico capacitivo).

commutazione induttiva (carico induttivo); commutazione capacitiva (carico capacitivo). I crcut per la rduzone delle perdte devono essere dmensonat consderando le dverse condzon operatve che possono presentars durante l apertura e la chusura del Transstor. Per caratterzzare queste condzon,

Dettagli

Modelli descrittivi, statistica e simulazione

Modelli descrittivi, statistica e simulazione Modell descrttv, statstca e smulazone Master per Smart Logstcs specalst Roberto Cordone (roberto.cordone@unm.t) Statstca descrttva Cernusco S.N., govedì 28 gennao 2016 (9.00/13.00) 1 / 15 Indc d poszone

Dettagli

Tecniche di Composizione Personalizzata

Tecniche di Composizione Personalizzata Tecnche d Composzone Personalzzata Survey Il documento n essere costtusce la sntes del delverable dell attvtà C.3, ossa Defnzone e Valdazone delle Tecnche d Composzone Personalzzata prevsta nell ambto

Dettagli

Trigger di Schmitt. e +V t

Trigger di Schmitt. e +V t CORSO DI LABORATORIO DI OTTICA ED ELETTRONICA Scopo dell esperenza è valutare l ampezza dell steres d un trgger d Schmtt al varare della frequenza e dell ampezza del segnale d ngresso e confrontarla con

Dettagli

Rappresentazione dei numeri

Rappresentazione dei numeri Rappresentazone de numer PH. 3.1, 3.2, 3.3 1 Tp d numer Numer nter, senza segno calcolo degl ndrzz numer che possono essere solo non negatv Numer con segno postv negatv Numer n vrgola moble calcol numerc

Dettagli

Capitolo 6 Risultati pag. 468. a) Osmannoro. b) Case Passerini c) Ponte di Maccione

Capitolo 6 Risultati pag. 468. a) Osmannoro. b) Case Passerini c) Ponte di Maccione Captolo 6 Rsultat pag. 468 a) Osmannoro b) Case Passern c) Ponte d Maccone Fgura 6.189. Confronto termovalorzzatore-sorgent dffuse per l PM 10. Il contrbuto del termovalorzzatore alle concentrazon d PM

Dettagli

IL RUMORE NEGLI AMPLIFICATORI

IL RUMORE NEGLI AMPLIFICATORI G. Martnes 1 G. Martnes G. Martnes 3 IL RUMORE EGLI AMPLIFICATORI Defnzon S defnsce rumore elettrco (electrcal nose) l'effetto delle fluttuazon d corrente e/o d tensone sempre present a termnal degl element

Dettagli

Misure dirette utilizzate per il calcolo della misura indiretta X:

Misure dirette utilizzate per il calcolo della misura indiretta X: Propagazone degl error Msure drette utlzzate per l calcolo della msura ndretta X: ( ) a a a = ± Δ b = ( b ± Δ b) Il calcolo dell errore assoluto X ( espresso nella stessa untà d msura della grandezza X

Dettagli

Modulo 9: Scheduling

Modulo 9: Scheduling Modulo 9: Schedulng Concett d base Crter d schedulng Algortm d schedulng Schedulng n UNIX Real-Tme Schedulng 9. Concett d base Il massmo utlzzo della CPU s ottene con la multprogrammazone. Cclo CPU I/O:

Dettagli

Potenzialità degli impianti

Potenzialità degli impianti Unverstà degl Stud d Treste a.a. 2009-2010 Impant ndustral Potenzaltà degl mpant Impant ndustral Potenzaltà degl mpant 1 Unverstà degl Stud d Treste a.a. 2009-2010 Impant ndustral Defnzone della potenzaltà

Dettagli