Saturday, 9 December 2017

Fpga handelssystemen


in-FPGA8482 Trading Systems minskar handelsledigheten Första publicerad 16 september 2010 Handelssvarslaten minskade till under två mikrosekunder genom att kombinera NASDAQ ITCH och OUCH till en enda FPGA David Buechner, Vice President, Impulse: Impulsverktyg används vid stora finansiella företag och häck medel där de har utrustade matematiker och algoritmutvecklare för att dramatiskt förbättra latensen. in-FPGAtrade Trading Systems (infpga) har tillkännagivit en maskinvaruaccelererad automatisk referensdesign för NASDAQ ITCH, som utförs av NASDAQ ITCH-flödeshantering och utgående OUCH-orderingång på 10 GB Ethernet, med under två mikrosekunder av latens. Systemet ska visas på High Performance Computing Financial Markets-showen och konferensen, stand 424, i New York City den 20 september 2010. In-FPGA-systemet syftar till att låta handlare uppnå svarsfrekvenser som är en bråkdel av vad kan uppnås med hjälp av CPU-baserade system. Besökare på utställningen kommer att kunna se den faktiska hårdvaran som används för avkodning av marknadsdata och utgående orderingång, med all funktionalitet som helt och hållet utförs i högpresterande FPGA-logik (Field Programmable Gate Array). Det resulterande systemet sägs uppnås under 2-mikrosekunder latens idag, med förväntade förbättringar av genomströmning som görs under 2010. Dessa FPGA-baserade referensplattformar syftar till att driva flera gånger hastigheten hos större mikroprocessorbaserade servrar. Det handlar om handel latens, säger Cameron Elliott, chefdesigner för in-FPGA-systemet. FPGA-baserad handel kan svara på marknadsdata en storleksordning snabbare än Linux-baserade servrar, och 2-5 gånger snabbare än hybrid-CPUFPGA-system. Mycket av vinsten kommer från att förenkla hårdvarubanan, konsolidera bearbetningen på ett hårddiskchip och eliminera höga latensvägar. Vad som gör det mest spännande för handlare är att de kan implementera sin handelsutlösarlogik på C-språk med Impulse C, snarare än att behöva lära sig maskinvarubeskrivningsspråk som Verilog eller VHDL eller att behöva skicka sina modeller till maskinvaruingenjörer för översättning . Impulsverktyg används vid stora finansiella företag och hedgefonder där de har utrustade matematiker och algoritmutvecklare för att dramatiskt förbättra latensen. in-FPGAs handelssystem och referensprogrammet gör det möjligt för programutvecklare att använda hårdvaruacceleration för 10 GB Ethernet-bearbetning, säger David Buechner, Vice President of Impulse. Detta ger en störande teknik för handelsföretag som vill vara de första i köen med sina affärer. Populära artiklar Preqin lanserar portföljhanteringslösning Thomson Reuters Labs öppnar i Singapore Wall Street Blockchain Alliance lägger till Blockchain Intelligence Group som företagsmedlem R. J. OBrien Limited väljer BSO för anslutning BT länkar upp fem största valutamarknader LiquidityBook lägger till tre hedgefonder till POEMS-plattformen Copyright copy Automated Trader Ltd 2017 - Strategier Compliance TechnologyI har läst om olika implementeringar av HFT-system på FPGA. Min fråga är vilken del av HFT-system som för det mesta implementeras på FPGA idag. Är FPGA-filer fortfarande väldigt populära. Endast foderhanteraren har implementerats på FPGA: erna Eftersom några av de ovan beskrivna systemen bara har en feed-hanterare implementerad på FPGA, eftersom strategin förändras för mycket, eller är för svårt att implementera på FPGA. Andra hävdar att de också har implementerat handelsstrategier på FPGA eller använder högpresterande NIC istället för FPGA för att bygga HFT-system. Ive läser om olika metoder men jag tycker det är svårt att jämföra eftersom de flesta av resultaten testas på olika insatsuppsättningar. frågade mar 9 14 på 21:06 Heres ett sätt att tänka på det: föreställ dig att du kan göra något i en ASIC (dvs direkt i hårdvara). Tillverkningsprocessen är dock i sig dyr och du får en design som du inte kan ändra efteråt. ASICs är förnuftiga för fördefinierade uppgifter som Bitcoin-brytning, välkända databehandlingsalgoritmer etc. Å andra sidan har vi vanliga processorer (såväl som coprocessor-processorer och GPU-enheter) som är generella, men bearbetar en liten (i termer av samtidiga instruktioner) uppsättning instruktioner med mycket hög hastighet. FPGAs är mitten. De är hårdvara emulatorer och som sådan kan anses vara 10x långsammare än den faktiska hårdvaran, men ändå mer prestanda för samtidiga operationer än CPUer förutsatt att du kan utnyttja munstycket för att sprida din logik i enlighet därmed. Vissa användningar av FPGA: er är: Videokodning (t. ex. HD-videoavkodning i TV-apparater) samt olika datainsamlingstabeller. Fast datastrukturanalys (Regex-analysering) Diskret systemsimulering (till exempel simulering av resultatet av ett kortspel) Massor av korrekt inbäddade applikationer som t. ex. inom rymdforskning eller vetenskaplig forskning Problemet med FPGAs för kvantanvändning är att det inte är så bra för beräkningar med flytande punkt, särskilt eftersom vanliga CPUer redan är optimerade för det med saker som SIMD. Men för alla fasta eller fasta datastrukturer gör FPGA-designen dig möjlighet att konfigurera enheten för att göra mycket bearbetning samtidigt. Några saker som görs i handel använder FPGA för foderhanterare (parsing direkt från nätverksflödet) samt att bygga vissa delar av handelsstrukturen (t. ex. orderböcker) i hårdvara för att kunna hantera den snabbt växlande datastrukturen utan laddar CPU: n. FPGAs syftar huvudsakligen till att ta itu med frågan om att snabbt bearbeta data utan att betala förökningskostnaderna. Detta är i synnerhet i motsats till enheter som GPGPU (eller något PCI-boendekort, till exempel Xeon Phi) som betalar prestationsstraff för att få data från enheten. Med detta sagt, förbättras DMA-alternativen i detta avseende också. FPGAs är egentligen inget mer än samma logiska block som upprepas gång på gång i hela kislet, med konfigurerbara omkopplare för att ansluta logikblocken tillsammans. Detta gör FPGAs mycket bra - och snabbt - vid hantering av repeterande problem som kan beskrivas i en hårdvarukrets som inte förändras under drift. Och du kan ha bokstavligen tusentals eller tiotusentals av dessa kretsar, som alla arbetar parallellt samtidigt, i bara en FPGA. CPUer å andra sidan är baserade kring ALU, som laddar instruktioner, laddar data, fungerar på data, lagrar kanske resultaten, och gör det om igen. CPU-enheter är då mycket bra - och snabbt - för att hantera problem som ständigt förändras - både i storlek och omfattning och vid byte mellan olika uppgifter. Dagens CPU eller kärna kommer att ha tiotals hundra ALUs med parallella pipelines för data och instruktioner, vilket gör dem väldigt snabba vid komplexa problem som kan arbetas parallellt. Dessa konstruktioner gör FPGA-enheter snabbare på enklare problem som kan angripas med en stor parallellarkitektur - som att kondensera flera dataflöden i mindre än mikrosekunder, tråd till ledning eller utlösa en förkalkylerad köp, sälja eller avbryta till ett pris som matchar ett visst mönster. CPU: er är snabbare vid mer komplicerade problem som kräver mindre parallellitet, exempelvis att beräkna kurvan för köp, säljer och avbryter som behövs för att hålla en portfölj riskjusterad eller integrera ett antal pris - och nyhetskällor av varierande ålder och kvalitet i handelsindikatorer som används av handlare och ledning att bestämma vilka justeringar de kommer att göra till handelssystemet. Där FPGA används i HFT beror mycket på arkitekturen i en viss butik. De används bäst med enkla, repetitiva, breda uppgifter och utföra dem snabbt. CPU: er är en schweizisk kniv som kan göra det mesta, speciellt där kraven förändras och problemets dimensioner förstås inte fullt ut i början. svarat 11 mar 14 kl 17:10 Din fråga gör verkligen inte mycket mening. Det är som att fråga hur mycket av ledningarna i handelsinfrastrukturen använder optisk fiber och hur mycket den använder koppar. Det bästa svaret vi kan ge er är att en FPGA inte är en magisk kula. Detta är en felaktig tolkning av Ciscos vitbok. Theres mycket liten överlapp mellan användningsvägarna för att byta tyg och de hos en FPGA. vilken del av HFT-system är för det mesta implementerad på FPGAs nuförtiden För närvarande används FPGAs ofta i våra skrivare och TV-setskåp. svarat mar 9 14 kl 21:55 Jag vill markera det digitala signalbehandlingsblocket (DSP) med ALUs. Dagens FPGA har hundratals programmerbara DSP-block den allra största som har tusentals. Nu, plötsligt, har du tusentals små processorer till ditt förfogande, alla kan göra parallella beräkningar. Detta överstiger parallellt med Xeon Phi eller GPU: erna. Faktum är att om du gör alternativprismodellering eller stokastisk riskmodell på FPGA kan du få mer än 100 gånger högre prestanda jämfört med de senaste GPU: erna och ännu mer jämfört med de senaste CPU: erna. Tillsammans med DSP-blocken är den andra huvudfaktorn i denna prestationsförstärkning minnecachen. FPGA har inbyggt distribuerat RAM som är extremt snabbt, vilket gör att bandbredden på 100TB kan uppnås på datapathnivå. Använda dagens FPGA för algo-strategier ger stor och massivt samtidig beräkningsresurs som kan ge 100 till 1000-faldig ökning i prestanda jämfört med GPU eller CPU. Huvudgrunderna är att du måste bli skicklig skriftlig i Verilog eller VHDL :) Sanjay Shah CTO Nanospeed svarat 5 aug 14 kl 18:05 En mängd kraftfulla processorer med många kärnor börjar komma in i hårdvaran accelerationsutrymme som tidigare ägdes av FPGAs. Företag som Tilera, Adapteva och Coherent Logix erbjuder alla dessa processorer här i USA, och Enyx från Frankrike gör också inroads. Den verkliga måtten på effektiviteten hos dessa massivt parallella processorer ligger i deras mjukvaruverktygs löptid. Det är där den potentiella användaren ska fokusera sin uppmärksamhet. Ingen vill programmera eller felsöka tiotals eller hundratals kärnor med manuell teknik. Självklart står det självklart att bandbredden är lika viktig. I min personliga erfarenhet i detta utrymme ser jag kundernas adoption av Coherent Logix-processorer som samprocessorer eller hårdvaruacceleratorer för C-språk algoacceleration. Genom att njuta av den snabba konstruktionscykeln för en C-baserad miljö kan algoprogrammerare tweak kod till deras hjärtaninnehåll och inte oroa sig för kostsam och tidskrävande HDL-kodning för FPGA. Den optimala partitioneringen är att få FPGA: er att göra vad de gör bäst - fasta repeterande operationer - och har många kärnprocessorer göra vad de bäst gör: accelerera algo utvecklare produktivitet och körhastighet. John Irza, affärsutvecklingschef, Coherent Logix, Inc. svarade den 6 augusti kl 14:42 Nästan alla HFT-butiker använder FPGA-arkitekturen. Dessa enheter behöver bytas ut ofta, eftersom de snabbt överträffas av de senaste förbättringarna i hastighet, rörledningar, parallellitet, etc. Om du inte är redo att investera 2M per år, räkna ut en annan strategi. Massor av killar som gör dagliga prisflyttningar med penna och papper gör miljarder i Omaha, NB. svarade 28 juli 16 kl 10:31 Ditt svar 2017 Stack Exchange, IncArgon Design en FPGA-baserad HFT-plattform I ett pressmeddelande idag har Argon Design från Cambridge i Storbritannien meddelat vad de beskriver som: Ett högpresterande handelssystem med en heterogen blandning av teknik för att minimera handelslaten. Blandningen av teknik tillhandahålls av användningen av Arista Networks 7124FX applikationsbrytare som: Inkluderar en Altera FPGA med hårdvarunivååtkomst till 8 av sina 24 10 GB Ethernet-portar och en x86-domän baserad på Intels Xeon-processorer. Enligt project039s 034case studie 034 på Argons hemsida har de: Utvecklat ett prototypsystem där marknadsdataanalys och snabbkörning av handel sker direkt på växeln enligt regler som bestäms parallellt med traditionella processorer. Direkt FPGA-åtkomst gör det möjligt att analysera och analysera dataflöden så nära som möjligt för flödeshanteraren. På samma sätt möjliggör den heterogena processormixen i omkopplaren andra relaterade funktioner och ordningar som exekveras tillbaka på ledningen. Utplacerad i CoLo på handelsplatserna som en del av den dagliga mixen av teknik som finns i reolerna idag kan denna teknik ta utformningen och prestandan av handelsfunktionaliteten till en högre prestanda. Argon har kvantifierat denna 034higher prestationsnivå034 genom att: Med hjälp av testremmen utvecklad för Finteligent Trading Community-programmet reducerades latensen med en faktor 25 över rena x86-mönster som testades av programmet. För det uppmätta benet i testet sänktes latensen från ett tidigare bästa av 4,600ns till 176ns för algoritmiskt genererade affärer som genomfördes på den simulerade marknaden. Förbättringen i prestanda uppnåddes genom att tillhandahålla en snabbväg där handeln exekveras direkt av FPGA under kontroll av triggerregler behandlade av x86-baserade funktioner. Latensen minskar ytterligare med ytterligare två tekniker i FPGA-inline-analys och fördjupning. När marknadsdata går in i strömbrytaren analyseras Ethernet-ramen seriellt när bitar anländer, så att partiell information kan extraheras och matchas innan hela ramen har mottagits. I stället för att vänta tills slutet av ett potentiellt utlösande inmatningspaket används förhandsavsättning för att börja skicka överdelen av ett svar som innehåller Ethernet-, IP-, TCP - och FIX-rubrikerna. Detta gör det möjligt att slutföra en utgående ordning nästan omedelbart efter slutet av det utlösande marknadsföringspaketet. Den övergripande effekten är en dramatisk minskning av latensen till det lägsta som är teoretiskt möjligt. Here039s har en video Argon producerat visar att deras prototypsystem039s prestanda utvärderas med hjälp av Finteligent test sele: Om du lyssnar noggrant kommer du att märka att Argon hävdar att: Växeln gör marknadsordningar baserat på marknadsinformation med slutet av paketet till slutet av paketresponsen tider på ca 170 ns. Enligt detta pressmeddelande än en gång kommenterade Arista039s regionaldirektör för finansiella tjänster Paul Goodridge att: Detta är exakt den typ av praktisk tillämpning vi ser att se från marknaden med vår 7124FX-produkt och vi är glada och imponerade av Argon Designs engagemang och närma sig. Detta joint venture exemplifierar Aristas innovation och belyser vidare det verkliga värdet av Aristas EOS (Extensible Operating System) och dess förmåga att ta programmerbarhet till Ethernet Switching Market. Jag lyckades nu tala med Paul, och jag frågade honom om den programmerbarheten. Som föreslagits av 7124FX databladet är EOS i huvudsak av hyllan x86 Fedora 14 Linux, men en bra kunskap om Verilog kommer att vara till nytta om du tycker att du måste programmera FPGA själv. När jag frågade om utvecklingssystem föreslog Paulus att ett bra första steg skulle vara att få tag på ett Altera Stratix III eller IV Development Kit som är mer lättillgängligt och också en hemskt mycket billigare än en 7124FX. Sammanfattningsvis frågade jag Paul om det fanns något han gillar att lägga till vad han sa i Argons pressmeddelande. Han betonade: Arista039s fokusering på våra kunders bemyndigande och den deterministiska utvecklingen hos våra switchar. Det verkar som om en modicum av ytterligare programmering kommer Arista039s kunder snart att ha befogenhet att starta deterministisk högfrekvenshandel nära ljusets hastighet. Den enda nackdelen är givetvis att priset på den här typen av kit också är ganska astronomisk. Uppdatering - Argon Design har vänligen försett oss med detta vitbok för att du ska kunna läsa på fritiden

No comments:

Post a Comment