Sunday, 1 October 2017

Trading Sistemi Basati Su Fpga


Condividi questa pagina quadro accelera lo sviluppo di applicazioni di sistemi finanziari ultra-bassa latenza. Dal momento che l'avvento del commercio elettronico, una gara per la velocità ha seguì per costruire le piattaforme di trading più veloci e più intelligenti. Il tempo di risposta è diminuito da secondi, in millisecondi, per microsecondi. L'unità per microsecondo e sub-microsecondi tempo di risposta non è semplicemente possibile con il software tradizionale o semplici architetture hardware, un fatto che sta spingendo l'adozione della tecnologia Field Programmable Gate Array (FPGA) nei sistemi ultralow latenza. Per ridurre il rischio di sviluppo di linguaggio di descrizione hardware codice (HDL) in modo nativo su una scheda Ethernet FPGA, mentre anche riducendo drasticamente i tempi di sviluppo, AdvancedIO ha sperimentato l'uso di quadri FPGA per il 10-Gigabit Ethernet (10GE) comunicazioni. Il set di strumenti framework di sviluppo AdvancedIO expressXG fornisce l'infrastruttura necessaria per garantire una rapida implementazione di servizi finanziari e permette la portabilità senza soluzione di continuità per l'ultima generazione di schede FPGA. - Rafeh Hulays, PhD, sistema di trading basato su FPGA Vice President, Business Development, AdvancedIO Systems Inc. InformationMercury Ulteriori Minervas accelera, si espande in governo e uso militare Prima pubblicazione 5 marzo 2014 sistema HFT Gunslinger release 2.0 raggiunge 750 nanosecondi evento-Detection la latenza di scambio con Solarflare AOE con Altera Stratix FPGA. Carmelo. - Mercurio Minerva ha rilasciato la versione 2.0 del suo Gunslinger HFT 1.0 ad alta frequenza Trading System. Descritto come 25 più veloce la nuova versione funziona a 750 Nanosecondo latenza. La latenza è misurata dal tempo di un evento di dati di mercato di interesse arriva alla scheda di interfaccia di rete Solarflare, finché non appare il primo byte dell'ordine sul filo. eventi di dati di mercato tipici (ad esempio mercato messaggi pre-aperti) sulle prevalenti 10 feed GBS sono in streaming ad intervalli di nanosecondi 15. risposte automatiche devono accadere in meno di un microsecondo per massimizzare un strategys fill rate. Ordine raffiche di 100 o più ordini per evento di mercato non sono rari, e sono pienamente supportati dal software Gunslinger lavorando sul sistema di Mercury Minerva Trading. sistemi di mercurio Minervas fornire una piattaforma ad alta frequenza solido per la negoziazione, la conformità e la sicurezza si avvicina con una semplice configurazione e l'ingegneria di applicazione minima. Sono costruiti su COTS (COTS) le parti tra cui uno chassis 4U Dell, una scheda Solarflare Application Offload Engine PCIe, Altera Stratix V FPGA, Impulse Accelerated Technologies C per FPGA Altera compilazione e Quarto. Questa strategia migliora i sistemi di ritorno sugli investimenti come tecnologie di rete e di elaborazione continuano a migliorare. Altre nuove caratteristiche di Gunslinger HFT 2.0 comprendono: strategie middot multipla scatenanti consentono agli utenti di collegare più moduli di rilevamento degli eventi in fase di avvio e passare da uno all'altro a seconda delle necessità in fase di esecuzione. middot Order messaggio di aggiornamento è stato abita in fondo a velocità wire vicino. Si richiede solo 2,3 microsecondi per fare un aggiornamento nel caso peggiore di un modello di ordine FPGA con il tipico 560 byte singolo ordine che richiede solo 840 nanosecondi per aggiornare. Utilizzando più sessioni di trading sul alternando le porte del sistema fornisce la capacità di tenere fino a 16 modelli di ordine attuali anche con l'attivazione più eventi nel corso di un unico blocco messaggio di dati di mercato. middot OpenOnload integrazione rende necessario integrare un costoso e la latenza che inducono TOE (TCP Offload Engine) nella logica FPGA, oltre a fornire l'accelerazione per le operazioni motori di trading che non vengono scaricate al FPGA. Semplice Integrazione delle applicazioni è fornita dal nuovo Gunslinger-API. L'API fa minuzia di attuazione del FPGA trasparente per l'utente. Inoltre, la stretta integrazione nella OpenOnload riduce al minimo la personalizzazione dell'applicazione necessaria. Un cliente beta della nuova API Gunslinger è stato in grado di agganciare Gunslinger nel motore commercio esistente in meno di un giorno di lavoro. Per molte soluzioni concorrenti questo è un'attività più mesi. Nelle notizie correlate clienti governativi hanno iniziato il campionamento versioni di questo sistema per l'ispezione dei pacchetti Ethernet a bassa latenza. Si scopre che la tecnologia si applica anche alle molte attività di MIL e di governo e anche per applicazioni di data mining commerciali. Metamako lancia 96-port strato di 1 interruttore MetaConnect 96 offre una bassa latenza, dispositivo di 96 porte a basso jitter per i mercati finanziari. continuato Exegy lancia il servizio fornitore di dati di mercato Exegy lancia servizi automatici di dati direttamente mercato feed da Stati Uniti azioni, materie prime, e dei derivati. continuato R. J. OBrien limitata seleziona BSO per la connettività R. J. OBrien Limited ha scelto anello di rete a bassa latenza BSO 10G per la sua connettività globale nucleo. continuato Articoli correlati Flash Crash arresto accende industria scetticismo Mercury-Minerva Sistemi rilascia GunslingerHFT Impulse C integra al Solarflare AOE scheda di interfaccia di rete programmabile Articoli popolari DTCC amplificatore Digital Asset passaggio alla fase due del processo blockchain Blockchain fornitore SETL apre Parigi ufficio Startupbootcamp lancia il programma FinTech in Messico nuovo in dubbio LSE Deutsche Boerse fusione ITG lancia chiavi in ​​mano di ricerca soluzione conto di pagamento CQG si connette a Borsa di Varsavia per la negoziazione dei futures Copyright copiare Automated Trader Ltd 2017 - Strategie di Compliance TechnologyFPGAs - FPGA Perfection parallele (Field Programmable gate Array) potrebbe non essere una nuova tecnologia, ma come i dati scricchiolio gara nel commercio automatedalgorithmic continua a intensificarsi, potrebbero essere un'idea il cui tempo è finalmente arrivato AT parla con Alistair MacArthur, senior Engineer di ricerca presso Celoxica, che discute la tecnologia FPGA attuale e delinea il suo potenziale per attività quali l'analisi algoritmica aggiornamento notizie. Proprio quanti anni sono FPGA come un concetto di tecnologia Più di venti anni. Il concetto originale è stato sviluppato da due dei fondatori di Xilinx - Ross Freeman e Bernie Vonderschmitt - in circa 1984. Ross Freemans idea era che invece di usare un processore generico e la scrittura di software per eseguire su di esso, si può personalizzare chip elettronici per eseguire specifiche compiti di programmarli direttamente. In effetti, i calcoli programmi sarebbero stati implementati in hardware, piuttosto che software. Il nome generico per questo tipo di chip è una unità logica programmabile (PLD), con FPGA essendo un sottoinsieme di quelle. Che cosa fa un chip FPGA in realtà consiste di essa è essenzialmente una forma complessa di Static Random Access Memory (SRAM - un tipo molto veloce della memoria comunemente utilizzati per la cache su chip su processori per computer convenzionali). Anche se FPGA moderni possono contenere un numero di componenti aggiuntivi, i tre componenti principali sono registri, generatori di funzioni (noto anche come cercare su tavoli o LUTS) e l'orologio FPGA. Ogni generatore di funzione contiene un insieme di gates1 logica. E 'tipicamente disposti in modo che dispone di quattro ingressi, una uscita e una porta di configurazione attraverso il quale vengono configurate le porte logiche. Il concetto di base di funzionamento è che ogni generatore di funzione può essere configurato per produrre un particolare uscita per un dato insieme di ingressi. Questo può essere pensato come una tabella di verità. Per esempio un generatore di funzioni a 4 ingressi potrebbe eseguire una corrispondenza binario 2 bit. Registri sono essenzialmente accumulatori singoli ciascuna in grado di memorizzare un bit (0 o un 1) di dati. Tuttavia, proprio come le porte logiche in un generatore di funzione possono essere configurati da un programmatore, i registri possono essere analogamente aggregati in grandi sezioni di memoria, ad esempio 8, 32 o 64 bit. L'orologio FPGA controlla il numero di volte al secondo che ciascun generatore di funzioni e registro possono ricevere in ingresso e generare in uscita. Il più veloce FPGA di produzione attualmente corrono tra 200 e 400 MHz, in modo che ogni generatore di funzioni e registro può quindi teoricamente elaborare InputOutput tra 200m e 400m volte al secondo. Xilinx Virtex 5 FPGA Chip Famiglia Un sacco di processori per computer standard, hanno orologi di gran lunga più veloce di quello, quindi dove sarebbe il vantaggio di prestazioni utilizzando un FPGA La differenza importante è che una singola CPU convenzionale può elaborare solo una singola istruzione per ciclo di clock. Al contrario, un FPGA può essere configurato come più processori virtuali capaci di operare in parallelo. Alcuni grandi FPGA possono contenere milioni di generatori di funzione e registri, quindi la configurazione per un semplice task di elaborazione, come corrispondente ad una stringa di testo breve potrebbe tradursi in un FPGA cedere decine di migliaia di processori virtuali. Una configurazione di questo tipo, pertanto, superare rapidamente una situazione di svantaggio multipla velocità di clock di dieci o quindici. L'altro punto da tenere a mente è che FPGA può ignorare un sacco di altre latenza del sistema. Con un processore convenzionale si potrebbe ricevere il news feed che si stanno elaborando tramite un socket TCP su un chip Ethernet, ma che poi deve passare attraverso uno strato MAC, quindi un chip ponte Nord, poi nel processore principale degli autobus, poi un interrupt è essere contrassegnato, quindi tutti i dati devono essere trasferiti nello spazio utente. Tutte queste cose possono naturalmente essere fatto molto rapidamente, ma ci sono comunque un sacco di passi per andare attraverso che non si applicano a FPGA. Perché non è questo una funzione di come FPGA sono collegati ad un sistema che ha molto a che fare con essa, sì. In un ambiente di produzione che comprende attività di trading algorithmicautomated, FPGA sono più probabilità di essere trovato su schede PCI o PCI-X, con le carte equipaggiamento con FPGA da Xilinx e Altera. Una innovazione più recente è stato quello di mettere il FPGA su un modulo co-processore che si collega direttamente alla scheda madre del computer. (Questi moduli sono prodotti da aziende come DRC computer e possono essere utilizzati solo su multiprocessore AMD schede madri che supportano la tecnologia HyperTransport.) Se un FPGA è montato su una scheda PCI allora il collo di bottiglia primario sarà la velocità della connessione PCI. Tuttavia, l'avvento dello standard PCI-X - con velocità di trasferimento fino a 4,26 GBsec (PCI-X 533) - sta facendo questo molto meno di un problema. Inoltre, FPGA che sono montati su una scheda PCI possono essere alimentati anche dati direttamente da una presa Ethernet montato sul backplane della carta, bypassando completamente i bus PCI. Co-processore montato FPGA hanno un canale di accesso ancora più veloce - con la versione 3.0 della specifica HyperTransport rendendo velocità di trasferimento fino a 41,6 GBsec possibile. Una configurazione abbastanza tipico sarebbe di utilizzare un processore dual scheda madre AMD, con un processore CPU convenzionale montato in una presa e un coprocessore FPGA montato nell'altra. Un ulteriore vantaggio di questo approccio è che il coprocessore FPGA ha accesso diretto alla memoria di sistema principale. Pertanto, quando prova algoritmi basati notizie, grandi database di notizie ed eventuali termini di ricerca possono essere caricati direttamente nella memoria principale e accedere in modo estremamente rapido da lì con il co-processore FPGA. RDC Socket processore FPGA Che cosa significa questo in termini pratici Beh, come abbiamo visto con gli sviluppi come la Dow Jones Newswires annuncio del loro notizie e Archivi per applicazioni algoritmiche, l'elaborazione del testo sta rapidamente guadagnando importanza nel trading algoritmico. Mentre noi non possiamo ancora arrivati ​​al punto in cui i modelli saranno trade off i fili di notizie da solo, vi è comunque un sacco di lavoro attualmente in corso sull'integrazione flusso di notizie in modelli algoritmici. Il parallelismo di FPGA è perfettamente adatto a molto alto analisi del testo velocità necessaria per questo approccio, dove si può essere lo screening notizie più feed per un numero enorme di combinazioni di parole chiave relative alla forse migliaia di titoli. Affrontare questa scala di calcolo attività utilizzando processori per computer convenzionali sarebbe relativamente inefficiente e sarebbe quasi certamente richiedono più processori se dovesse essere realizzato in un modo tempestivo. Mentre la disponibilità di processori dual core aiuta, ovviamente, si potrebbe ancora essere guardando investimento considerevole in hardware di raggiungere un livello simile di esecuzione parallela - e una bolletta elettrica più grande. Clustering o la tecnologia di rete potrebbero essere utilizzati per accedere a capacità inutilizzata, ma questo poi solleva questioni di overhead di banda e la sincronizzazione delle comunicazioni. Inoltre, un server centrale aggiuntivo sarebbe necessario per bilanciare il carico e distribuire i lavori di tutti gli altri processori. In definitiva, se la valutazione multipla expressions2 regolare (come ad esempio nella lavorazione notizia per il trading algoritmico), utilizzando i processori convenzionali è simile a utilizzare un martello piuttosto inefficiente per rompere una noce. . un FPGA può essere configurato come più processori virtuali capaci di operare in parallelo. Come le tecnologie confrontano come la complessità delle espressioni in fase di valutazione aumenta Ad esempio, non la ricerca di un news feed per molteplici espressioni regolari risultato in un significativo calo di prestazioni sia per FPGA o CPU general purpose C'è una differenza molto significativa. Poiché il numero di espressioni regolari in corso di valutazione aumenta, le prestazioni della CPU convenzionale peggiora sensibilmente rispetto a quella di un FPGA. Mentre le cifre precise, ovviamente, dipende dalle circostanze personali, si tratta di una approssimazione ragionevole dire che per il momento si sta valutando soli cinquanta espressioni regolari una CPU convenzionale avrà un tempo di esecuzione più di 100 volte quella di un FPGA comparabile. Altera Stratix II GX FPGA Chip Allora perché hanno FPGA raggiunto così poco la penetrazione nei mercati finanziari fino ad oggi è solo di recente che gli FPGA sono diventati un'alternativa efficace e conveniente per la potenza della CPU crudo. Con l'avvento del PCI-X e HyperTransport, il collo di bottiglia delle comunicazioni è stato superato e con gli strumenti di programmazione del software C-based per FPGA maturazione, gli sviluppatori possono programmare hardware in un ambiente familiare C-based. Inoltre, penso che le persone hanno la tendenza a bastone con tecnologia di calcolo convenzionale per una serie di motivi: uno dei motivi principali è il comfort - le persone naturalmente preferiscono stare con la tecnologia che già conoscono. Si è percepito come meno rischioso sia per l'organizzazione e per la loro personalmente in termini di carriera. Questo vale per entrambi i ruoli di business e tecnologia, per cui un manager di linea di business cercando di evangelizzare FPGA è probabile incontrare resistenza da un reparto IT che non può comprendere la tecnologia e in un certo senso si sentono minacciati da esso. (Questa è una ragione FPGA tendono ancora ad essere visto come una tecnologia dirompente.) L'altro problema per molte persone che potrebbero essere preparati da usare FPGA è che molte delle aziende che forniscono servizi nello spazio sono relativamente nuovo Andor piccola. Essi sono quindi visti come un rischio più elevato come i fornitori - soprattutto se confrontato con i nomi del settore da tempo stabilito che vendono tecnologia convenzionale. Ci sono operatori di mercato significative utilizzando FPGA Sì - alcuni partecipanti sono impegnati con noi per sfruttare le capacità di elaborazione parallela di FPGA per i processi iterativi che possono beneficiare di parallelismo. Ad esempio, si tratta di una serie di importanti banche di investimento che utilizzano FPGA per simulazioni Monte Carlo come parte dei loro processi di gestione del rischio. I miglioramenti delle prestazioni che sono possibili usando FPGA per questo tipo di problema può essere sostanziale. Ad esempio, abbiamo appena completato un prototipo di attuazione di un modello di valutazione delle opzioni per una banca d'investimento che corre 400 volte più veloce su un FPGA di quanto abbia fatto su processori convenzionali - così come consumare meno significativamente meno energia. Come sarebbe un FPGA eseguire una ricerca di testo come parte di un modello algoritmico Come ho detto prima, ogni coppia di ingressi a un generatore di funzioni FPGA è in grado di confrontare due bit. codici ASCII per lettere dell'alfabeto costituiti da otto bit - per esempio, la lettera maiuscola A è rappresentato in binario come 01000001. Pertanto, come un esempio estremamente semplice, se si vuole controllare un flusso di notizie per la presenza della lettera A si avrebbe bisogno di utilizzare quattro generatori di funzione (otto coppie di ingressi) collegati ad un ulteriore generatore di funzione singola. Si sarebbe anche bisogno di un bit sedici registri di buffer (negozio di breve termine) i dati in arrivo dal feed di notizie e il valore di ricerca desiderato A che si aveva di ingresso. (otto bit per il codice ASCII per ogni lettera ricevuta dal feed notizie e otto per il codice ASCII per la stringa di ricerca A). La figura 1 è una illustrazione schematica di questo, con i registri mostrati in rosa, i primi generatori di funzioni di fase in blu e il secondo generatore di funzione di fase in verde. Le frecce nere e linee rappresentano il percorso di ingresso per la stringa di ricerca A ei numeri nelle caselle a fianco dei registri rappresentano (dall'alto in basso) il codice ASCII binario per A (01000001). Il codice binario ASCII per ogni bit di ciascun carattere nel feed di notizie sarebbe applicato nello stesso ordine corrispondente alle arrowslines rossi. Se, come illustrato in figura 1, entrambi questi ingressi rosse di un generatore di funzione corrisponde corrispondenti ingressi neri (i bit della stringa di ricerca) il generatore emette un 1 (la connessione di uscita è la linea blu sul RHS del generatore) . Questa uscita viene alimentata al secondo generatore funzione di fase con il segnale proveniente da tutti gli altri generatori prima fase. Se tutti i quattro ingressi al secondo generatore di fase sono 1 allora sarà anche uscita un (linea verde a RHS) 1 significa che la lettera A è stato trovato nel flusso di testo. Questo è ovviamente un esempio molto banale, ma il concetto di base può essere scalata per accogliere molte più ricerche complesse che coinvolgono più parole che devono essere entro una certa distanza l'uno dall'altro. Se questa condizione è stata soddisfatta, le informazioni potrebbero quindi essere passato al modello algoritmico al fine di innescare una determinata azione, come ad esempio la sospensione delle negoziazioni o il ridimensionamento di fette di posizione. Il parallelismo di FPGA è perfettamente adatto alla analisi del testo altissima velocità necessaria in situazioni in cui si sta Proiezione notizie più feed per un numero enorme di combinazioni di parole chiave relative alla forse migliaia di titoli. Hai già delineato alcune delle ragioni per le lenti FPGA adozione nei mercati finanziari, ma questo suona ancora un po 'troppo bello per essere vero. Esiste un significativo ostacolo costo per FPGA L'hardware, soprattutto se vista in termini di costo di elaborazione per ogni dollaro, non sta particolarmente costoso. A livello di ingresso, pannelli esterni collegati tramite USB FPGA partono da circa 1000, mentre un top di gamma scheda FPGA basato su PCI-X potrebbe costare 10.000. Ovviamente in entrambi i casi si devono ancora fattore del costo di un computer relativamente modesto specificato che sarebbe collegato alla scheda FPGA. Tuttavia, se si considera che ragionevolmente-specificati di marca quattro server con processore Opteron partono da circa 9000, i relativi costi ancora favoriscono la FPGA. Anche una gamma FPGA metà, intorno al 5000, mostrerà sostanzialmente prestazioni più elevate sul tipo di elaborazione del testo di cui abbiamo discusso di un server convenzionale a quattro processori. L'alternativa coprocessore è anche competitivo - per esempio, i moduli RDC Computer a partire da circa 4500, ma questo probabilmente cadrà nel tempo (con l'aumento dei volumi) al più vicino 3000. Celoxica HTX PCI scheda FPGA L'ambiente di progettazione del software può essere un ostacolo costo. toolkit di programmazione per FPGA di solito inizia nel 40- 50.000 gamma. Mentre che suona molto, sono in genere acquistati da aziende di elettronica, come i produttori di telefoni cellulari, che possono ammortizzare questo costo attraverso potenzialmente centinaia di migliaia di unità. Allo stesso modo, per un commerciante broker di sviluppo multipli algoritmi per il suo oi suoi clienti usare questo potrebbe non essere un ostacolo importante, ma per i soggetti come gli hedge fund più piccoli che sarebbe stato. Il vantaggio è che oggi strumenti di progettazione basate su C hanno ridotto i tempi di progettazione hardware e tali efficienze equiparare direttamente al salvati mesi-uomo di sforzi e di risparmio di progettazione costo. Fino ad oggi, nessuno sembra essere in via di sviluppo economico al largo degli strumenti scaffale FPGA per la ricerca stringa di testo e altri compiti connessi con lo sviluppo di algoritmi e di trading. La maggior parte degli sforzi in questo spazio sono ancora focalizzati sull'accelerazione software finanziario relativo ai modelli di rischio o di opzione, anche se questo dovrebbe cambiare le opportunità FPGA offrono nel commercio automatedalgorithmic diventare più ampiamente apprezzato. Articoli popolari DTCC amplificatore Digital Asset passaggio alla fase due del processo blockchain Blockchain fornitore SETL apre un ufficio di Parigi Startupbootcamp lancia il programma FinTech in Messico Nuovo in dubbio LSE Deutsche Boerse fusione ITG lancia soluzione account chiavi in ​​mano di ricerca di pagamento CQG si connette a Varsavia Stock Exchange per Futures Trading Copyright copiare automatizzato Trader Ltd 2017 - strategie di conformità TechnologyAn basata su FPGA compressione Accelerator per Forex Trading System Kim, SJ Lee, S. M. Jang, J. H. Kim, S. D. Lee, S. E. Nel tempo l'architettura transazione acceleratore per RDBMS. In:. Tecnologie Avanzate, embedded e multimediale per Informatica umano-centrica, pp 329.334 Springer, Paesi Bassi (2014) Lee, S. E. Zhang S. Srinivasan, S. Fang, Z. Iyer, R. Newell D. Accelerare la realtà aumentata mobile su una piattaforma palmare. In: IEEE Intl Conf. sul Design Computer (ICCD), pp. 419.426 (2009) Lee, S. E. Min, K. W. Suh, T. W. Accelerare istogramma di gradienti orientati estrazione descrittore per il riconoscimento dei pedoni. Computer e Ingegneria Elettrica 39 (4), 10.431.048 (2013) CrossRef Sukhwani, B. Abali, B. Brezzo, B. Asaad, S. high-throughput, compressione senza perdita di dati su FPGA. In: 19 ° Annual IEEE International Symposium on field-programmable macchine di calcolo personalizzati (FCCM), pp 113116 (2011) Guha, R. Al-Dabass, D. prestazioni previsione di calcolo parallelo delle applicazioni di streaming sulla piattaforma di FPGA.. In:. 12 ° Conferenza internazionale sulla computer Modellazione e Simulazione (UKSim), pp 579.585 (2010) Lyer, R. Sirinivasan, S. Tickoo, O. Fang, Z. LLLikkal, R. Zhang, S. Chadha, V. Stillwell, P. Lee, SE Cogniserve: architettura eterogenea Server su larga scala di riconoscimento. IEEE Micro 3. 2031 (2011) Jang, J. H. Lee, S. M. Kim, S. D. Gwon, O. S. Ko, E. Lee, S. M. Shin, J. W. Lee, S. E. Accelerare sistema di trading forex attraverso la compressione del registro delle transazioni. In: 2014 Design Conference SoC International (ISOCC), pp 7475 (2014) Abdelfattah, M. S. Hagiescu, A. Singh, D. Gzip su un chip:. Compressione dei dati senza perdita di dati ad alte prestazioni su FPGA utilizzando OpenCL. In: Atti del Workshop internazionale su OpenCL 2013 amp 2014, No. 4. ACM (2014)

No comments:

Post a Comment