Loading
Note di Apprendimento
Study Reminders
Support
Text Version

Sviluppo dell'architettura dell'interfaccia

Set your study reminders

We will email you at these times to remind you to study.
  • Monday

    -

    7am

    +

    Tuesday

    -

    7am

    +

    Wednesday

    -

    7am

    +

    Thursday

    -

    7am

    +

    Friday

    -

    7am

    +

    Saturday

    -

    7am

    +

    Sunday

    -

    7am

    +

Così, in questa lezioneci concentreremo sull'interfaccia una progettazione di sistemi di ingegneria. Come si sa ogni sistemaha ottenuto molti sottosistemi e sottosistemi, componenti e poi questo IC o gli elementi di configurazione, quindi questo sistema deve interagire con i sistemi esterni come bencome all'interno del sistema dobbiamo avere interazione tra sottosistemi e componentie item di configurazione.Quindi, queste interazioni stanno avvenendo attraverso le interfacce. Così, possiamo avere varie interfaccecon nel sistema. Si può avere un'interfaccia meccanicamente, è possibile avere un'interfaccia elettricaoppure si può avere un'interfaccia di comunicazione. Quindi, tutte queste interfaccedevono essere fornite in modo tale con cui ottenere una comunicazione corretta otteniamo una comunicazione integralel'integrità del messaggio non viene persa o c'è un corretto passaggiodei messaggi tra i sistemi e c'è una corretta priorità per i sistemi di interagire conaltri sistemi e comunicare messaggi. Quindi, tutte queste cose sono fondamentalmente di design usandole interfacce. Quindi, il design di interfaccia diventa uno di questi aspetti più importanti del sistema di ingegnerizzazioneci assicutiamo che la comunicazione tra vari sistemi siapropriamente detta e non conducano a malfunzionamenti all'interno del sistema.Se si guarda alla cronologia dei sistemi di ingegneria si possono vedere ci sono molti fallimenti del sistema di ingegneriaa causa di un guasto alla comunicazione o l'errore dell'interfaccia all'interno del sistema. Vedremo un esempio come quello per mostrare l'importante di interfaccia design epoi si discute dei vari tipi di interfaccia da provider, ma sono lediverse proprietà per queste interfacce e quali sono i diversi standard da utilizzare per il design dell'interfaccia.
(Riferimento Slide Time: 02.14)
Così, come ho accennato in precedenza questo è il quinto passo del design di sistema ingegneristica dove abbiamodiscusso delle prime quattro fasi sostanzialmente il problema di progettazione del livello di sistema, l'architettura della funzionedi sistema, l'architettura fisica e l'architettura di funzionamento. Così, noiabbiamo completato tutti questi quattro e il prossimo è lo sviluppo dell'architettura di interfaccia.Così, come ho accennato in precedenza, ci occuperemo di un caso studio dalla storia del sistema di ingegneriafallimenti e poi vedere quanto siano importanti le interfacce nel successo di un sistema di ingegneria.(Fare Slide Time: 02.48)
Questo caso studi dal finder di un percorso che è stato schierato sulla superficie di un Marte peratterraggio il 4 luglio 1997 è stato un grande successo in molti modi.Così, tutto lì c'è stato l'enorme successo da questo particolare progetto, ma c'è stato un problemaquando è stato lanciato inizialmente e poi è stato utilizzato si è scoperto che le reserie di sistematotali si svolgavano una volta tanto. Ovvero pochi giorni nella macchinagli operatori sul posto si sono resi conto che c'è un sistema totale di reset che avviene all'interno del sistemasenza alcun motivo particolare o senza che siano in grado di identificare ciò che in realtà eraragione di questo e poi è stata effettuata un'analisi. E poi si è scoperto che c'eraun'interfaccia di memoria condivisa che veniva utilizzata come interfaccia di sistema tra vari sottosistemi. Quindi, ci sono molti sottosistemi con nel percorso finder e c'era inarchitettura chiamata interfaccia di memoria condivisa utilizzata per l'interfacciamento di questi sottosistemi.E c'era un mutex o il blocco di esclusione reciproca era impiegato per dare un'attivitàaccesso all'interfaccia.Quindi, ogni volta che un particolare sottosistemi vuole accedere a queste particolari interfaccia hanno bisogno diper utilizzare un mutex, i blocchi reciprocamente di esclusione e che devono essere attivati al fine di ottenere l'accessoa un'interfaccia di comunicazione.(Fare Slide Time: 04.11)
Quindi, questo era uno dei problemi in realtà era sdraiato in questa interfaccia. Quindi, c'erano moltisottosistema nel percorso finder e uno del sistema erano dati meteorologici o èeffettivamente raccolta di dati da vari sensori e passandolo al sistema principale. Dunque,
ci sono questi dati. Così, voluminoso che l'attività doveva ottenere e rilasciare mutexesdiverse volte prima che fosse terminato.Quindi, era un dato molto voluminoso e c'era la durata del tempo per il trasferimento di questo datoera molto lunga, questo particolare sottosistema ha dovuto rilasciare il mutex moltevolte a causa dei lunghi dati voluminosi e poi prima di completare una particolaretransazioni. E allo stesso tempo c'è stato un altro processo la lunga attività di comunicazione di comunicazione priorità. Quindi, questa era un'attività di media priorità l'attività di comunicazioneinterromperebbe frequentemente l'attività metrologica durante la sua pausae guadagnava il controllo dell'interfaccia.Così, questo era ciò che accade. Così, i dati metrologici sono stati trasferiti alo stesso momento in cui l'interfaccia di comunicazione, l'attività di comunicazione interromperàquesta particolare trasmissione e poi assumerà il controllo dell'interfaccia di comunicazione eavvierà poi il trasferimento dei dati. Quindi, questi due stanno effettivamente creando il problema nella comunicazione. Quindi, la durata di queste due attività è stata sufficientemente lunga per invocare un timer di watchdogimpiegato per garantire che l'attività di gestione bus ad alta prioritàstesse eseguendo opportunamente.Quindi, c'era un compito di gestione degli autobus che aveva avuto un compito prioritario e particolare diquesto sistema è quello di garantire che tutto funzioni correttamente e ogni qualvolta ci sia un problemasi cercherà di eliminare quell' errore o di provare a recuperare da quell' errore. Così, ilsufficientemente lungo questi due compiti sostanzialmente i dati meteorologici così come l'interfaccia di comunicazioneerano in realtà troppo lunghi e spesso il timer watchdog loscoprirà che qualcosa non va con il sistema perché non era in grado di accedere all'interfaccia di comunicazionenon era in grado di ottenere i dati richiesti per garantire la salutedel sistema. Così, in questo momento in cui l'attività di gestione degli autobus ad alta priorità era in esecuzioneper verificare questa particolare attività era un'esecuzione o meno, spesso si è scoperto che c'eraqualche problema o questo particolare sistema stava identificando che c'è un problema ed è statocercando di riavviare il sistema.Così, in casi così rari il timer del cane da orologio ha avviato un sistema totale di reset per prevenire eventualiulteriori danni al sistema. Quindi, quando questi due particolari sottosistemi stavano cercando dicomunicare e poi cercare di ottenere il controllo del mutex l'attività di gestione degli autobus prioritarinon è stata in grado di eseguire correttamente e che effettivamente di conseguenza si è verificato in una sorta di problema
o tipo di errore con identificato dal sistema il controllo sanitario. E questo in realtà eraportando a un totale di un sistema reset per garantire o ipotizzando che ci sia un errore nel sistemae si stava cercando di garantire che non si vada a portare a grandi errori. Quindi, andràper un reset di sistema totale. Allora, questo era quello che stava accadendo nel sistema.Così, c'erano molti sottosistemi che interagava e c'era una specie di monitoraggio della salutecosì come l'identificazione dell'errore e l'eliminazione dell'errore. Quindi, questisystem erano in realtà conflittuali e poi cercavano di prendere il controllo del sistema o del sistema di comunicazionein quel momento si stava verificando il totale reset.(Fare Slide Time: 07.29)
Così, gli ingegneri del laboratorio di propulsione jet hanno eseguito una replica patina sulla terra fino a raggiungere la situazione di reset. Così, si sa scoprire cosa realmente accade nel sistema gli ingegnerigestivano una replica sulla terra fino a raggiungere la situazione di reset poi identificano il problemache c'è un problema con le priorità di ciascuna attività o qualche attività deve essereprioritizzata in modo che l'attività di priorità ottenga sempre il mutex e che poi non porteràad una situazione di errore.Così, c'è stato uno che il software di interfaccia utilizzato per l'interfaccia era statoprogrammato senza una funzione chiamata eredità prioritaria. Quindi, questa particolarità dieredità priorità che in realtà un dare una certa priorità e che ereditano chepriorità per i diversi sottosistemi che non c'era e gli ingegneri caricarono un breve programma Ce patfinder non sperimentava più pezzi di sistema. La soluzione era
molto semplice, ma l'identificazione del problema e poi risolverlo era il difficile compitoperché dovevano eseguire la replica sulla terra e poi scoprire cosa ha portato al problemae poi hanno risolto il problema.(Fare Slide Time: 08.34)
Quindi, questo in realtà mostra che le interfacce sono molto importanti nei sistemi di ingegneria in ancheun errore minore può effettivamente portare a un reset totale o al fallimento del sistema completo equindi, è necessario che i progettisti di sistema osservino le interfacce in dettaglio eabbiano una procedura formale per progettare le interfacce e garantire che le interfacce funzionino correttamentee fornisca effettivamente la necessaria comunicazione tra diversi sistemi.Quindi, analizziamo come definiamo realmente le interfacce e come si fa in modo di guardare ai vari aspetti del progettazione di interfacce. Come si sa che le interfacce sono comunipunti di errore nel sistema, quindi la maggior parte della possibilità di errore proviene effettivamente dalle interfacce, definita come risorsa di connessione per l'aggancio ad un'altra interfaccia di sistemi. Quindi, l'interfaccia è fondamentalmente una risorsa per agganciarsi ad un'altra interfaccia di sistemio interfaccia sottosistemi quando si tratta di un sistema esterno poi si tratta di un'altra interfaccia di sistemio per l'aggancio di un componente di sistemi ad un altro che è un'interfaccia interna.Quindi, è possibile avere un'interfaccia interna o un'interfaccia esterna. Un'interfaccia esterna èfondamentalmente utilizzata per un sistema per agganciarsi su un altro sistema; un'interfaccia interna viene utilizzata peraggancio agli stessi componenti dei sistemi per gli item di configurazione.
Importanti aspetti del design di interfaccia stanno fondamentalmente esaminando queste interfacce che identificanole interfacce importanti nel sistema che si guarda alle interfacce esterne richieste einterfacce interne necessarie. Ad esempio, anche tu consideri l'ascensore o qualsiasi altro sistemain grado di identificare in realtà molte interfacce una può essere con sistema esterno. Quindi,l'ascensore deve interagire con i passeggeri è un sistema esterno e che in realtàdobbiamo avere diversi tipi di interfacce, l'interfaccia di comunicazione in termini di input datie qualche altro tipo di interfaccia con le persone di manutenzione o interfaccia coni servizi di emergenza. Quindi, tutti questi tipi di interfacce devono essere identificati in anticipo.Quindi, questo è il primo compito, identificare tutte le interfacce esterne. Poi l'interfaccia interna anche,in interfaccia interna può essere identificata utilizzando la struttura funzionale o l'architetturafisica del sistema. Quando facciamo A-0 metodo di decomposizione funzionale eallora individuiamo tutte le funzioni che in realtà ci daranno input e output diversida diverse funzioni secondarie e il che ci dirà che tipo di interfacce sono necessarietra queste funzioni secondarie.Così, quando convertiamo che in un'architettura fisica allora sapremo che questicomponenti che forniscono effettivamente le funzioni necessitano del particolare tipo di interfaccia intermini di interfaccia dati digitali o interfaccia dati analogica o di qualche tipo diinterfaccia meccanica. Quindi, questo è il primo passo per identificare o progettare il sistema di interfacciadi sistema o di interfaccia dei sistemi.E una volta identifichiamo le interfacce il compito successivo è sostanzialmente quello di allocare gli input eoutput per le interfacce. Quindi, ogni interfaccia come ogni attività di progettazione di sistema proverà aidentificare gli input e gli output per il sistema. Quindi, che tipo di input sta arrivando al sistemase si tratta di input dati digitali o di input analogici o di che tipo di struttura dati èlì per quel particolare input, qual è la dimensione dell'input, che tipo di trasmissionevelocità è necessaria.Quindi, tutte queste cose devono essere identificate negli input e negli output per l'interfaccia epoi ricaviamo i requisiti di interfaccia dei requisiti di interfaccia in termini di sistemadovrebbe essere in grado di trasmettere l'output digitale da un punto a un altro punto o deveaccettare le richieste digitali da passeggeri o dati digitali da richiedere il sistemadovrebbe essere in grado di ricevere le informazioni digitalizzate da un determinato sistema. Quindi, che il tipo di interfacciatipo di interfaccia può essere sviluppato dopo l'identificazione delle interfacce.
E poi esplorando l'architettura dell'interfaccia alternativa, così ci possono essere moltearchitetture per l'interfaccia. Quindi, dobbiamo guardare a che tipo di architettura sarà il meglioper questo particolare sistema. Quindi, discuteremo di varie architetture per le interfacce, quindi da queste architetture dobbiamo scegliere un'interfaccia più adatta. Quindi,quando si discute di design di interfaccia cercheremo effettivamente solo e altre interfacce di comunicazionel'interfaccia meccanica e le altre interfacce fisiche necessarieall'interno del sistema non verranno discusse qui perché quelle sono protratte principalmente dall'architettura fisica.Quindi, ogni qualvolta identifichiamo la particolare configurazione per l'interfaccia o le architetture di interfacciaalternata, analizziamo sostanzialmente le alternative e poi il sistema fisicodi cui si tratterà sarà un compito separato. Quindi, non si discute sulle interfacce fisicheci occuperemo di più sulle interfacce di comunicazione da fornire per il sistema.(Fare Slide Time: 13.51)
Quindi, i requisiti principali per un'interfaccia sono i requisiti di prestazione importanti sonofondamentalmente in termini di prestazioni ci sono throughput e il tempo di risposta sono dueparametri importanti in termini di interfacce. Quindi, quali sono i dati che posso trasmettere equal è il tempo di risposta per questa trasmissione, questi sono i due parametri che dobbiamo aguardare quando progettiamo un'interfaccia.E a parte che dobbiamo guardare la fedeltà dei dati che è l'integrità dei datiqualunque cosa trasmettiamo da un punto a un altro punto dovrebbe arrivare a quel punto
senza alcun danno senza alcun cambiamento; questo significa, nessuna modifica deve essere presente nei datidurante la trasmissione. Quindi, qualunque cosa trasmettiamo da un punto a un altro punto itdovrebbe raggiungere l'senza alcuna variazione. Ecco, cioè l'integrità della trasmissione datiche è anche quella di un altro importante fattore da considerare nella progettazione delle interfacce.E poi consegnare ogni articolo posizionato sull'interfaccia. Quindi, l'interfaccia dovrebbe consegnareogni articolo posizionato all'interfaccia. Quindi, non viene filtrato o non deve perdere a causa diinterferenze esterne o di qualsiasi altro fattore non ci sia alcuna perdita di dati in all'interfacciaper ogni luogo dell'articolo che l'interfaccia debba essere trasmessa.E l'altra è fondamentalmente dovrebbe rilevare difetti e recuperare graziosamente. Quindi,ogni qualvolta ci sia una colpa o in un sistema che si sta verificando il sistema dovrebbe esserein grado di uscire da quella situazione gracemente che è senza causare altridanni agli altri sistemi. Quindi, ogni qualvolta ci sia un problema individuato dall'interfacciadovrebbe cercare di minimizzare i danni ed eliminare quel particolare danno e quindi avviarecontinuare a funzionare normalmente senza influenzare altre performance di sistema. Quindi, questi sonoi requisiti importanti per l'interfaccia.Quindi, ogni qualvolta noi progettiamo interfaccia guardiamo questi parametri questi fattori e poiassicurano che qualunque sia l'architettura che scegliamo per l'interfaccia, sostanzialmente soddisfa tutti questi requisiti. Quindi, che non ci siano problemi nell'interfaccia qualunque siano i dati che vogliamoa trasmettere viene trasmesso e lì ora, c'è in errore il sistema cerca di arrivarefuori di esso con grazia e continua a eseguire senza molto problema per tutto il sistema.
(Riferimento Slide Time: 16.11)
Guardiamo all'interno di alcune architetture di interfaccia, e generiche ci sono diversearchitetture disponibili a seconda della situazione di cui abbiamo bisogno per scegliere questa architettura.Quindi, ci sono fondamentalmente tre architetture di interfaccia generiche la prima è conosciuta comemessaggio che passa. Quindi, questo è un qualcosa come una consegna di posta che prevedibilmente si verifica una voltao due volte al giorno permettendo ai ricevitori di accederla immediatamente o fino a un tempo più. Quindi, si tratta di uno scambio di dati molto prevedibile. Quindi, il sistema saràsapendo che quella che sarà la frequenza alla quale i dati verranno trasmessi. Quindi, ogniora o ogni secondo a seconda dei sottosistemi il sistema può effettivamente identificare cosaè la frequenza di questa trasmissione dati e continuerà a trasmettere questi dati e il ricevitorepuò effettivamente accederlo immediatamente o in realtà può accederlo in una fase successiva. Quindi,questo tipo di architettura è il messaggio che passa. Vedremo i dettagli del messaggiopasseggiando in seguito.L'altro è l'architettura della memoria condivisa questo è qualcosa come una riunione o una conferenzain cui solo una persona parla e veicola messaggi relativamente compattidove tutti possono sentire quello che ha detto, eppure sono trattenuto da altri lavori produttivi. Quiè diversamente dal messaggio che passa è come dove tutti possono parlare, ma non allo stessotempo. Quindi, una persona può effettivamente parlare e gli altri possono ascoltare e altri ogni volta che una personaparla tutti gli altri solo altri può quello che può fare solo per ascoltare quella. Quindi,non possono davvero interagire. Quindi, è solo una modalità di comunicazione da una sola persona. Così,
passa il messaggio ad una memoria condivisa e altri possono effettivamente ottenerlo da quel memoria condivisa di memoria. Ecco, questa è l'architettura della memoria condivisa.E l'ultima è l'architettura di rete molto comune. Quindi, è come una conversazione telefonicache può coinvolgere il messaggio. Quindi, lunghezze ampiamente variegate e possono essereistigati in quasi qualsiasi momento. Quindi, questa è una rete molto comune nella maggior parte dei sistemi. Così, qui possiamo davvero passare messaggi e persone diverse possono sentire e poialtri possono passare messaggi che possiamo avere anche architetture diverse e la rete stessaa seconda del requisito può avere uno a uno o si può avere uno troppo opuò avere una comunicazione e una rete o loop ridondanti che sia l'architettura.(Fare Slide Time: 18.32)
Vediamo solo l'architettura del passaggio del messaggio. Allora, questo è stato il primo che noiabbiamo discusso dell'architettura passiva del messaggio. Questo è sostanzialmente uno scambio prevedibile di informazioni.Così, come ho accennato al prevedibile scambio di informazioni ogni qualvolta. Ora, c'è unprevedibile scambio di informazioni possiamo utilizzare l'architettura di passaggio dei messaggi. Questo ècomunemente trovato come interfaccia interna nel sistema. Quindi, questo non può essere normalmente utilizzato hatra il sistema e il sistema esterno perché il sistema esterno l'interazionetra sistema e sistema esterno potrebbe non essere sempre prevedibile, ma all'interno del sistemai progettisti di sistema conosceranno quale tipo di dati trasmettere
tra i sottosistemi. Quindi, in quel caso possiamo andare per un messaggio che passa all'architetturaa causa della natura prevedibile. E ogni messaggio qui sarà costituito da un segmento di protocollo e dati. Così, il messaggio da passare tra gli elementi del sistemadei sottosistemi avrà un protocollo di messaggio e un segmento dati.Il segmento di protocollo ci includerà la dimensione del messaggio e l'indirizzo del nodo aricevere il messaggio. Quindi, quando abbiamo più nodi nel sistema, quindi il messaggio saràavere un protocollo che in realtà racconterà la dimensione del messaggio e dell'indirizzo del nodoper ricevere il messaggio e poi altri segmenti avranno i segmenti di datianche. Quindi, questo in realtà il primo segmento dirà a chi il particolare messaggio èindiriato e poi qual è la dimensione del messaggio e il secondo, ma darà il messaggioeffettivo.E il messaggio passante o la comunicazione il processo di comunicazionein architettura passiva è sostanzialmente uno dei nodi deve controllare sul canale di comunicazioneun regime prioritario implementato dal sistema.(Fare Slide Time: 20.02)
Così, ci saranno molte persone che utilizzano la stessa interfaccia. Quindi, un nodo deve vincere il controllosul canale di comunicazione con uno schema prioritario. Quindi, questo schema di priorità èdesign da parte dei progettisti. Così, i progettisti di sistema saranno a sapere quali sono piùimportanti e come facciamo in realtà a privilegiare tra i diversi nodi del sistema e
in base a quella priorità un nodo assumerà il controllo dell'interfaccia. Quindi, questo nodosarà in grado di trasferire i dati una volta che avrà ottenuto il controllo sui nodi.E il nodo vincente diventa il master e invia un segmento di protocollo al nodo di ricezioneprevisto. Così, una volta che il nodo prende. Quindi, il controllo sulla rete o l'interfacciain realtà fornisce in divenire un master e invia un segmento di protocollo al nodo di ricezionedesiderato chiamato slave. Così, ora, diventa il padrone e tutto questo diventaschiavi, poi invierà un segmento di protocollo al nodo ricevente che è lo schiavo qui.E una volta che il nodo degli slave notifica al master che il segmento di protocollo è stato ricevutocorrettamente. Così, una volta che il master invia un protocollo il destinatario lo riceve e poi dà aun riconoscimento che il protocollo è stato ricevuto con successo e una volta chesuccede che il master invia il segmento dati allo slave.Così, in sostanza il master invierà i dati allo slave o all'altro modo se lo slavepotrà effettivamente dare un segmento dicendo che i dati sono stati ricevuti. Così, il master puòinviare effettivamente i dati allo slave e poi schiavo darà un riconoscimento. Quindi, questoè il normale processo di comunicazione in architettura di passaggio dei messaggi. Quindi, ci sarannopiù nodi, un nodo otterrà il controllo dell'interfaccia e poi quel nodo diventail master e poi invia un segmento di protocollo allo slave e lo slave accetta quel protocolloe conferma la ricezione del protocollo e una volta che viene confermato il masterinvia che i dati e poi la giocata riconosce una ricezione di dati.Così, quel determinato ciclo è finito e poi il nodo vi darà effettivamente il controllo del controllo dei surrenderdel canale di comunicazione. Così, una volta che il prevedibile cambioè finito e il padrone si arrenderà solo il controllo del canale di comunicazione. Quindi, che qualsiasi altro nodo possa effettivamente prendere in carico quel particolare diventato un masterdi nuovo basato su uno schema prioritario. Ecco, questo è il modo in cui la comunicazione avvienenel messaggio che passa all'architettura.
(Riferimento Slide Time: 22.49)
E questa è l'applicazione più preferita del passaggio di messaggi per il sistema che può definireuna trasmissione di messaggi prevedibile prevista all'inizializzazione. Quindi, il messaggio che passa comecitato può essere utilizzato per uno scambio di dati prevedibile. Così, ogni qualvolta il sistema siglae ci sono prevedibili scambi di dati per tali sistemi solo questo è più appropriato.Così, i progettisti di sistema sapranno come funziona il sistema e che tipo ditrasferimenti dati di interfaccia avviene, quindi in base a ciò possiamo andare per questo particolaremessage passando architecture.E qui i tassi di aggiornamento sono sull'ordine da 0,01 a 1 second. Quindi, cioè la velocità di aggiornamentoin trasmissione e messaggio di passaggio non è preferita dove le porzioni sostanziali del trafficoincludono la comunicazione asincrona. Quindi, quando c'è una comunicazioneasincrona dove non è prevedibile o non avviene nell'intervallo periodico eche è una parte molto sostanziosa della comunicazione allora è molto difficile implementare l'architettura di passaggio dei messaggiperché è a malapena utilizzata per lo scambio di dati prevedibilesolo.Quindi, ogni qualvolta ci sia una trasmissione dati asincrona ci andiamo per il prossimo che èchiamato architettura della memoria condivisa.
(Riferimento Slide Time: 23.55)
Qui in architettura di memoria condivisa vengono gestite le richieste di comunicazione asincrona.Così, a differenza del messaggio che passa dove è prevedibile lo scambio di dati nella memoria condivisaandiamo per una comunicazione sincrona. Quindi, ogni qualvolta ci sia una richiesta di comunicazioneasincrona con vai per l'architettura della memoria condivisa. Qui viene utilizzato un dispositivo di archiviazione di accesso rapidotipicamente un dispositivo di memoria. Quindi, questa è la memoria condivisa fondamentalmentela memoria condivisa è condivisa da nodi diversi, quindi un dispositivo di archiviazione ad accesso rapido che viene utilizzatocome dispositivo di memoria.(Fare Slide Time: 24:36)
Nel processo di comunicazione in questo è sostanzialmente un processore genera una richiesta di lettura o scritturaper un altro indirizzo nella memoria condivisa. Quindi, la memoria condivisa avrà tuttil'indirizzo di quei nodi che stanno utilizzando la particolare memoria condivisa. Così, il processoregenera una richiesta di lettura o scrittura per un altro indirizzo nella memoria condivisa qualunque sia il sistemavoglia trasmettere un dato ad un altro nodo. Quindi, in realtà genera una richiesta di scrittura in lettura oper quel determinato indirizzo.L'attuale proprietario di questa variabile viene notificato alla richiesta. Quindi, una variabile può essereutilizzata da qualche altro proprietario o alcune altre stanno utilizzando la variabile particolare allora questa sarànotificata e a quell' utente e la memoria di quel proprietario attuale viene scaricata alla memoria condivisa. Quindi, chi vuole scrivere una determinata variabile supponga che ci siano alcunevariabili globali da aggiornare come la temperatura o la pressione o qualche altro dato per essereaggiornato nel sistema in quel caso chiunque voglia scrivere o aggiornare che i dati inviino un messaggioalla memoria condivisa richiedendo l'accesso a quella particolare variabile. Quindi, alcunialtro sistema possono utilizzare quella variabile. Così, quel particolare sottosistema sarà intimosu questa particolare richiesta e poi se è possibile effettuare il dump di quella particolare variabile alloral'utente presente scaricerà quella variabile alla memoria condivisa e poi la richiesta di lettura o scritturadel processore viene completata con un trasferimento dati.Quindi, una volta che sarà messo a disposizione del richiedente allora il trasferimento dei dati avrà luogoe di nuovo la variabile sarà disponibile con la stampa il proprietario fino al prossimo caso gratuitoquesta variabile proprietaria sarà conservata lì e ogni qualvolta c'è un'altra richiesta per questo datoquesto particolare variabile che sarà di nuovo mollare alla memoria e può essere utilizzata daaltri utenti. Quindi, questo è il normale processo di comunicazione nell'architettura della memoria condivisa.Quindi, come ho accennato c'è un dispositivo di memoria un dispositivo di memoria ad accesso rapido che rimanete quie ogni qualvolta un determinato utente desidera accedere a una variabile nella memoria condivisa dà una notifica. E poi chi sta usando quella variabile scaricerà quella variabile al sistema di memoria condivisaè richiesto per quella variabile può leggere o scrivere i dati e quindidi nuovo completare il trasferimento dati e quindi rilasciare quella variabile o è possibile mantenere è la variabilefino a quando arriva la richiesta successiva. Ecco, questo è il normale modo di comunicazione inarchitettura della memoria condivisa.
Quindi, qui in realtà possono essere asincroni perché intendo che non ci sono particolariintervallo di tempo su cui arrivano i dati particolari. Quindi, ogni volta che qualsiasi sistema vuoleaccedere alla variabile e poi trasferire i dati.(Fare Slide Time: 27:23)
Così, i problemi di questa architettura di memoria condivisa è che le prestazioni di questodegradi sostanzialmente se le informazioni richieste non sono nella memoria cache dell'interfaccia. Quindi, ogni volta che le informazioni particolari o la variabile non è disponibile nella memoria cacheallora diventa un problema e le prestazioni si degradi perchéaspetta che i dati vengano o questa attività venga bloccata fino a quando le variabili richieste sonorichiamate.Quindi, fino a quando la particolare richiesta non sarà completata non è in grado di svolgere altre attività. Quindi,ogni volta che una particolare variabile o un'attività non è questa non disponibile all'interno della memoria cachedeve ottenerlo da alcuni altri utenti allora si asprerà fino a che quella variabile verrà resa disponibilee poi solo andrà per il prossimo compito. Quindi, che in realtà questo possa ridurre le prestazionia volte. Ecco, questo è uno dei problemi con l'architettura della memoria condivisa. E funziona investendo in applicazioni software altamente parallele in cui i dati globali diogni applicazione devono essere accesi frequentemente dall'applicazione e infrequentemente omai da altre applicazioni. Quindi, questa è l'architettura migliore per la computazione parallelaapplicazioni applicazioni software parallele in cui il software avrà alcune global.variabili sarà utilizzato da altri sottosistemi, ma deve aggiornare frequentemente i dati. Quindi,in questo caso questa particolare applicazione può effettivamente accederla frequentemente e quindi aggiornarla,ma altre possono o meno utilizzarla. Quindi, quel tipo di situazione che questo è ben adatto.Ma nei casi in cui anche altri si utilizzano allora quel primo problema ci saranno come i bordida attendere fino a che sia messo a disposizione della prima applicazione, in modo tale che possa degradare le prestazioni.