Sei sulla pagina 1di 3

DOMANDE DI TEORIA

1)Si discutano le basi di tempo presenti nel TTCAN di livello 2 e le relative modalita`
a
di sincronizzazione. Si giustifichi chiaramente anche il motivo per cui i messaggi sono
organizzati secondo una matrice che determina la struttura della trasmissione.
Nel TTCAN si utilizzano 3 concezioni di tempo: tempo locale, tempo di ciclo, tempo globale. La
misura di questi tempi si basa sullunita`a di tempo, chiamata NTU (Network Time Unit), nominalmente uguale per tutti i nodi ed ottenuta mediante divisione di frequenza delloscillatore di ciascun
nodo (TUR). Il tempo locale viene incrementato di uno a ogni NTU (disegno oscillatore/divisore frequenza). Il tempo di ciclo `e la differenza tra tempo locale e il valore salvato nel reference mark register,
nel quale ogni nodo copia il valore di tempo locale in corrispondenza dellarrivo del Reference Message
da parte del Master: il tempo di ciclo viene di conseguenza azzerato allarrivo di un nuovo reference
message e scandisce lo scorrere del tempo per ogni ciclo base. Il tempo globale `e una misura del tempo
che deve essere uguale per tutti i nodi: lottenimento di questa quantit`a `e alla base della corretta sincronizzazione dellinvio dei messaggi.
Il TTCAN livello 2 si occupa proprio di fornire una misura sincronizzata e condivisa tra tutti i nodi
di un tempo globale, secondo i seguenti 2 meccanismi.

Rimessa in fase non cronoscopica: DISEGNO. Serve a calcolare loffset tra tempo locale
del nodo e tempo del nodo, in modo da sommarlo al tempo locale del nodo e rimetterlo in fase
col master. NB: correzione anche negativa, quindi non cronoscopica (potrei segnare due volte lo
stesso tempo). Idealmente, senza drift, tutti gli orologi sarebbero cos` in fase col master.
Correzione del drift cronoscopica: DISEGNO. Confronta il tempo di ciclo del master con
il tempo di ciclo del singolo nodo, in modo da attuare una correzione proporzionale al TUR del
divisore di frequenza del nodo e mandarlo quindi alla stessa frequenza del master. Algoritmo di
agreement.
Si ottiene cos` una misura estremamente precisa del tempo globale, garantendo la sincronizzazione dei
messaggi.
Lorganizzazione dei messaggi secondo una matrice di temporizzazione, permette di gestire la trasmissione di messaggi di stato in modo time-triggered, pur mantenendo il formato dei frame tipico del
CAN: infatti `e possibile assegnare finestre di tempo esclusive ai singoli messaggi, la cui ripetizione `e
regolata dai rispettivi time mark (che definiscono la posizione allinterno del ciclo base e ogni quanti
cicli base ripeterlo). Si noti che il rinvio dei messaggi tipico del CAN, allinterno della singola finestra
temporale viene disabilitato. Operazioni time-triggered permettono di eliminare alla radice il problema
del jitter di latenza che ha il CAN. Inoltre, si soddisfa pienamente il requisito di componobilit`a temporale. Si noti che rimane comunque possibile inserire finestre temporali condivise entro cui laccesso al
mezzo `e gestito secondo politica CSMA/CR standard (arbitrating windows). TTCAN `e quindi adatto
anche per messaggi event-triggered.
Altro motivo delluso di una matrice con tanti cicli base diversi `e una maggior flessibilit`a e la possibilit`
a di gestire messaggi che si ripetono a periodi molto differenti (ogni tot cicli base).

E il TTCAN livello 1?: Il TTCAN livello 1 `e un livello di controllo che triggera linvio dei messaggi sulla base del tempo locale, conoscendo la schedulazione prevista dalla matrice dei tempi. Senza
livello 2, si ha perdita di sincronizzazione tra i nodi. Il livello due, che scatta a ogni reference message e
riaggiusta i vari clock, fornisce il tempo globale rendendo poi il controllo complessivamente sincronizzato.
Si ponga particolare attenzione ai meccanismi di allocazione del mezzo del livello 2:
Allinterno delle finestre temporali Time-Triggered, il mezzo `e allocato al nodo previsto dalla matrice di
temporizzazione. Ogni nodo aggiorna nel suo registro sync-mark il valore del tempo locale (globale se
`e attivato il livello 2) allarrivo di un nuovo frame, e sa quindi quando dovr`a trasmettere/ricevere. (????)
2) Perch`
e Ethernet non va bene per sistemi real-time? in particolare perch`
e bassa efficienza di codifica per messaggi lunghi 2 byte?
La rete ethernet standard gestisce le collisioni secondo politica CSMA/CD, che `e per costruzione non
deterministica. Non `e cio`e garantita la consegna dei messaggi entro un certo tempo. Questo impedisce
quindi alla radice limplementazione di reti ethernet in sistemi real-time, visto che per definizione devono
garantire la consegna dei messaggi entro delle dead-line.
Inoltre, laumento del traffico nella rete ne peggiora drammaticamente le performance temporali,
temporale, molto importante in sisvisto che aumentano le collisioni. La propriet`a di componibilitA
temi real-time, non pu`
o quindi essere garantita.
Per quanto riguarda lefficienza di codifica, essa risulta molto bassa in presenza di dati di dimensione
ridotta a causa di una limitazione introdotta dalla necessit`a di rilevare le collisioni da parte dei nodi.
Infatti, se `e il tempo di propagazione di un messaggio nel mezzo, e Tdriver `e il ritardo introdotto
dallelettronica (driver), al fine che i nodi riescano a rilevare una corruzione del messaggio (e quindi una
collisione) `e necessario che Tframe > 2 + Tdriver . Considerando la velocit`a di propagazione del segnale
nel mezzo, la lunghezza (2500 m) e il bitrate (10 Mb/s) tipici di una rete ethernet, ne ricaviamo che il
frame deve essere lungo almeno 64 bytes. Efficienza di codifica per messaggi di 2 byte sarebbe quindi
di soltanto un 32-esimo. Si noti che aumentare il bit/rate peggiorerebbe ulteriormente lefficienza di
codifica, visto che sarei costretto ad aumentare la lunghezza minima del frame.
3)Si illustri il concetto di componibilit`
a delle propriet`
a in un sistema, con particolare
riferimento alla componibilit`
a temporale nei sistemi distribuiti. Si espongano le caratteristiche del sistema di comunicazione, ed in particolare della CNI, che possono supportare la
componibilit`
a temporale.: per componibilit`a di un sistema rispetto a una certa propriet`a, si intende
linvarianza di quella propriet`
a rispetto allaggiunta di componenti all architettura del sistema stesso.
In un sistema distribuito, in cui gli agenti si scambiano informazioni attraverso una rete comune, si
parla di componibilit`
a temporale quando laggiunta di nuovi agenti al sistema distribuito (e quindi alla
rete di comunicazione) non altera le prestazioni temporali complessive del sistema. In un sistema di
comunicazione la CNI (Computer-Network Interface) deve garantire la consegna dei messaggi tra gli
host , rispettando determinate deadline e con latenza possibilmente costante (propriet`a temporali). La
componibilit`
a temporale di un tale sistema dipende quindi dalla strategia di controllo scelta: si pu`
o
attuare infatti un controllo esterno (gli host determinano in autonomia quando inviare/ricevere tramite
opportuni comandi di send/receive, e la CNI esegue il compito in corrispondenza di tali segnali) oppure
un controllo autonomo della CNI (la CNI attua una propria politica per decidere le tempistiche di invio
dei messaggi, indipendentemente da quando vengono depositati dallHost sulla rete.).

Nel caso di sistema event-triggered, `e necessario che la CNI sia a controllo esterno: sono gli
Host a decidere in corrispondenza di eventi (sporadici o non) quando inserire un messaggio nella rete.
Oltre a essere necessari meccanismi di messa in coda dei messaggi e di successiva rimozione dalla coda,
la CNI non potr`
a supportare componibilit`a temporale: il controllo temporale diventa dipendente dal
comportamento esterno del sistema, cio`e del comportamento SW degli Host, e quindi laggiunta di nuovi
agenti non potr`
a che modificare le propriet`a temporali del sistema.
Nel caso di sistema time-triggered, invece, la CNI pu`o essere a controllo autonomo e gestire
autonomamente le tempistiche di invio dei messaggi, tramite opportuna schedulazione. Il controllo
temporale `e cos` dentro la CNI, e lHost non pu`o avere influenza su di esso. La CNI diventa un
firewall temporale tra le propriet`
a temporali del sistema esterno e le propriet`a temporali del sistema
di comunicazione. Questa indipendenza `e la ragione per cui la CNI a controllo autonomo (in un sistema
time-triggered) supporta componibilit`
a temporale.