SISTEMI DI RICEZIONE DATI IN PUSH
(di Mario Fabbri A.D. DIRECTA SIMpA, 07/08/2002)
In risposta a varie lamentele relative alla trasmissione di dati
in push riguardanti non solo Directa, l' A.D. Mario Fabbri ha inviato in risposta
a NG e Forum le seguenti spiegazioni.
Primo intervento Mi sa tanto infatti che molte delle lamentele che si leggono di recente
in giro su forum e NG sulle "quotazioni push in ritardo",
possano discendere anche da una (ancora) limitata familiarità degli
utilizzatori con le caratteristiche - e soprattutto coi limiti - dei
sistemi di ricezione dati in push via Internet,
che - se anche "somiglia molto" alla ricezione dei dati su un
televisore, è in effetti piuttosto diversa, e richiede - a differenza
appunto di uno spettatore di spettacoli TV - delle cautele, di cui solo
l'utente dei dati push può farsi carico.
Non è possibile essere certi delle cause di una disfunzione
che riguarda la ricezione dei dati sulla
sola base delle cose che leggo - ma il tipo di problema di cui ci si
lamenta in relazione alla ricezione dei dati
sembrerebbe molto correlato a un problema di "ricezione dati di
borsa"/collo di bottiglia sulla propria postazione:
il problema parrebbe infatti prodursi solo quando il mercato si muove e
quindi i dati che si ha richiesto di ricevere in push diventano tanti
"rispetto alla capacità di ricezione del sistema cliente"
Questo può avvenire ad esempio perché si tengono tante finestre con
molti titoli aperti - e il PC - anche se funziona bene se il mercato "è
piatto", non appena i volumi crescono, coi suoi Mhz e Mbytes, "non ce la
fa" a stare al passo...
(la "potenza di elaborazione" disponibile per far girare VT e ricevere
le quotazioni può dipendere da moltissimi fattori: il sistema operativo,
la memoria, eventuali altri programmi che girano in parallelo con VT...
Oppure può essere la connessione Internet che "non ce la fa"...
(se ci sono dei problemi di connettività "intermittente" - oggi è
capitato anche a me - allora i dati possono arrivare "a singhiozzo" nel
momento del ripristino della connettività, nel modo descritto - ma non
credo che il problema sia questo, perché mi pare improbabile che "i
singhiozzi" siano correlati alle fasi di mercato intense...)
In effetti non è scontato - da quanto si scrive - "a chi dare la colpa"...
a chi ha costruito il PC?
(se fosse più potente il problema probabilmente non si porrebbe),
a chi ha messo insieme il sistema operativo?
(se fosse più efficiente il problema probabilmente non ci sarebbe),
a chi ha programmato VT ?(se fosse più efficiente... i.c.s.),
a chi ha fatto il software di rete e con chi fornisce la connettività
Internet?
(anche queste cose assorbono risorse e "aiutano" a creare il
problema..),
a chi tiene aperte troppe finestre sul proprio PC, con troppi titoli o
attiva troppi programmi simultaneamente?
(con meno dati in ricezione probabilmente il problema non ci sarebbe -
dato che i server che alimentano VT sono gli stessi che riforniscono il
multibook, su cui, mi pare che oggi i dati arrivassero sempre
"abbastanza" tempestivamente)
...
Tra queste diverse ipotesi - ripeto -non sono in grado di pronunciarmi,
ma ci terrei - per evitare equivoci in chi legge - a riservare il
concetto
"i tol si bloccano"
alle - per fortuna, direi, molto rare circostanze - in cui a bloccarsi è
effettivamente il "TOL" e cioè il sistema di inoltro/revoca degli
ordini. Dopotutto "TOL" significa esattamente "trading" on line.
Sarà poi certamente vero che senza dati aggiornati non è consigliabile
fare TOL, ma questa non è la stessa identica cosa, da mettere nello
stesso identico calderone:
infatti "potrebbe" non dipendere per nulla dal broker
(se p.es i server danno i dati "in tempo reale" ed è la connessione o il
PC a funzionare male...),
potrebbe essere aggirabile utilizzando una informativa "più leggera" e
che carica di meno il PC
(per esempio molti nostri utenti si trovano abbastanza "bene" col solo
multibook sotto browser)
o potenziando il PC... o riducendo la quantità di dati di cui si
richiede il push,
ecc... ecc... ecc...
Noi ovviamente facciamo - e continueremo a fare - tutte le opportune
pressioni su Traderlink perché alleggerisca "quanto più possibile" VT,
(la versione col push sul portafoglio non tarderà molto)
ma sono certo che questo potrà solo ridurre e mai eliminare
completamente il problema,
in quanto in informatica vale il "principio fondamentale" che
qualsiasi programma su qualsiasi sistema potrà sempre essere bloccato da
un utente abbastanza determinato nell'aggiungere "carico"...
Cioè: le tecnologie possono sempre essere migliorate (e verranno
sicuramente migliorate), ma avranno sempre dei "limiti" di carico, e una
volta che li si raggiunga (e sarà sempre possibile raggiungerli),
i sistemi - per quanto impegno i broker TOL possano metterci - non
potranno che malfunzionare.
O mi sfugge qualcosa?
Questo è un altro intervento un po' piu' schematico
Nelle trasmissioni telivisive, a cui lo streaming push "per chi lo guarda" assomiglia molto, se un dato sul televisore arriva in ritardo può voler dire solo una cosa: che - come su televideo - le stazioni televisive ce lo stanno mandando" in differita".
Nel push quando un dato arriva sul video del PC in ritardo, capire perché è più complesso, e può in particolare voler dire:
1) che il server è in ritardo ("in differita" come per le TV)
2) che il PC ricevente è troppo carico (questo con le TV non capita)
3) che la trasmissione ha dei blocchi (questo con le TV non capita)
Poi (al punto 2) può anche capitare che contemporaneamente sullo stesso PC un programma riceve i dati in modo tempestivo
e un altro no:
questo può capitare perché il programma "più tempestivo" è più leggero/efficiente,
ma anche perché "è prepotente"
In termini tecnici il programma "prepotente" è quello che riesce a procurarsi una maggiore "priorità" e a monopolizzare le risorse del PC, penalizzando gli altri programmi che girano in simultanea con lui...-
Questo capitava ad esempio al nostro multibook, che su PC un po'carichi, finiva in ritardo su altri programmi a cui era stata appunta assegnata una priorità più elevata.
Allora i nostri programmatori hanno alzato anche loro la priorità al massimo...
è come se allo stadio tutti si alzassero in piedi: di modo che per vedere la partita nessuno può più restare seduto.
I casi 2 e 3 si possono distinguere, perché riducendo il carico di dati questi diventano più tempestivi, mentre ovviamente , se il caso è l'1, il ritardo rimane invariato...
Ecco perché i PC sono "più difficili da "capire" rispetto ai televisori ed è facile sbagliarsi sulle "vere responsabilità"
Anche i tecnici spesso faticano a scoprirle...
A questo proposito c'è un'altra possibilità di equivoco che val la pena di notare:
un investitore mi ha scritto chiedendo chiarimenti sul fatto curioso che molti programmi di ricezione quotazioni push hanno questa tendenza a finire in ritardo "sotto stress", mentre Quote Tracker, anche su piccoli sistemi dà sempre quotazioni molto tempestive...
Questo - probabilmente - avviene solo perché QT lavora non in push, ma in autorefresh: con QT (di solito) non è il server che "spara" i dati sul PC, a mano a mano che arrivano, ma è il PC che li richiede dal server ogni X secondi...
In questo secondo caso il dato è di solito meno tempestivo (se l'auto refresh rinfresca i dati ogni 10 secondi, le quotazioni tarderanno "in media" 5 secondi, mentre un buon streaming push "spacca il secondo") ma evita alla radice questo tipo di problemi, perché se il PC è "sotto stress" , vorrà dire soltanto che le sue richieste di aggiornamento si diraderanno:
se infatti dopo 10 secondi il PC "non ce la fa" ancora a richiedere i dati, li richiederà solo dopo 12... ma quando questi arriveranno saranno ancora "freschi".
Diradando le ricezioni e autoriducendosi il lavoro cioé l'autorefresh garantisce il mantenimento di livello di aggiornamento "piuttosto costante" anche sotto stress...
Invece col push questa valvola di sfogo non c'è: se i dati richiesti sono "molti" rispetto alle capacità di ricezione/elaborazione a un certo punto - se il mercato diviene troppo vivace - i dati diventano "troppi" e si forma una "coda" perché il server ne mette correttamente in spedizione "tanti" al secondo, a mano a mano che la Borsa glieli invia, ma il PC ricevente ne ritira "di meno"...
e qui l'accodamento e quindi il ritardo può crescere moltissimo e finire adirittura nei "minuti"...