Actualització d’OkEx Lightning 2.0
Un sistema comercial de nova generació que ofereix un rendiment més ràpid
I. Desenvolupament del sistema de comerç electrònic
Els requisits creixents de les tecnologies bàsiques del comerç d’actius van reflectir el ràpid creixement de la indústria financera mundial durant la primera meitat del segle XX. Als anys 50, compradors i venedors negocien per negociació i els preus de venda es registren manualment en paper. En el context de diversos tipus de valors i l’augment del volum de negociació, aquesta manera de fer front a les cotitzacions va crear gradualment una crisi de tràmits durant els anys 60-70 a causa de la seva ineficiència i elevat cost. La Borsa de Nova York (NYSE) no va tenir més remei que suspendre la negociació cada dimecres i reduir l’horari en altres dies de negociació per limitar la seva activitat. Amb la seva inigualable capacitat de processar un gran nombre de transaccions simultàniament, els ordinadors van començar a entrar en joc. Un procés sense papers, o revolució electrònica, va ser un punt decisiu crucial en la història financera mundial. Les transaccions han migrat a plataformes de comerç electrònic, oferint operacions més ràpides i econòmiques sense barreres geogràfiques ni temporals.
La crisi sense papers dels EUA als anys 70
Han sorgit sistemes de comerç electrònic a tot el món, inclosos Currenex de State Street, INET de HKEX, EBS Spot Ai d’ICAP i LIFE CONNECT de LIFFE. Com que els actius criptogràfics només existeixen en forma electrònica, s’associen naturalment a les plataformes de comerç electrònic, però els requisits per al comerç criptogràfic i els sistemes tradicionals de comerç són lleugerament diferents. En general, un sistema de comerç criptogràfic ha de tenir les característiques següents:
a. Baixa latència i alt rendiment
La latència i el rendiment són els indicadors clau per mesurar el rendiment d’un sistema de negociació. El nostre objectiu principal és aconseguir una baixa latència i un alt rendiment quan es dissenya un sistema de negociació.
En el context del comerç, la latència es refereix a un interval de temps entre una sol·licitud rebuda i una resposta d’un sistema de negociació. L’augment del volum de negociació d’alta freqüència, en gran mesura, impulsa la demanda del mercat de baixa latència. Per permetre als comerciants d’alta freqüència fer intercanvis creuats en intercanvis criptogràfics, els seus sistemes comercials haurien d’estar equipats amb motors de negociació de baixa latència per gestionar ràpidament les comandes i reflectir la realitat del mercat en el mercat de criptografia altament competitiu.
El rendiment és la quantitat de sol·licituds o esdeveniments que un sistema de negociació pot processar en un segon. El rendiment pot afectar directament l’eficiència comercial, de manera que els sistemes de negociació criptogràfica haurien d’estar dissenyats per suportar escenaris extrems i utilitzar unitats de processament.
b. Manteniment i escalabilitat
En comparació amb els actius tradicionals, els preus de les criptografies són més volàtils i vulnerables als xocs mundials. Com que els sistemes de comerç criptogràfic gestionen contínuament les sol·licituds les 24 hores del dia, els 7 dies de la setmana, estan dissenyats per realitzar el mínim manteniment fora de línia possible. A més, és obvi que el sector criptogràfic experimenta una ràpida transformació perquè diferents serveis de derivats digitals tan variats com el comerç de marges, futurs i opcions només s’han desplegat en una dècada des del seu ascens. La proliferació de serveis innovadors ha elevat els requisits per al manteniment i l’escalabilitat dels sistemes de comerç criptogràfic.
II. OKEx Lightning System 2.0: rendiment de Lightspeed
Com a un dels principals intercanvis mundials d’actius digitals, OKEx atén desenes de milers d’usuaris amb els seus productes integrats en actius i derivats criptogràfics, amb un volum de negociació diari mitjà de milers de milions de dòlars. Com a líder de la indústria, establim estàndards extremadament més alts per als nostres sistemes comercials. A més de l’actualització del nostre sistema comercial a l’agost de 2018, hem implementat el nostre sistema Lightning 2.0 de nova generació amb un rendiment líder mundial després de múltiples actualitzacions. Les característiques clau de l’actualització de Lightning 2.0 són les següents:
Framework d’actualització Lightning 2.0
1. Memorització
A les primeres etapes de desenvolupament dels sistemes de negociació criptogràfica, les plataformes solen recuperar els detalls d’una ordre de licitació de la contrapartida fent-la coincidir automàticament a la base de dades fins que caduqui o es compleixi l’ordre. El sistema calcula l’import negociat i genera una entrada de transacció després de la coincidència. Aquest mètode podria garantir la coherència de les dades, però no va poder fer front a moltes sol·licituds del mercat alhora, a causa del seu llarg temps de processament.
El nostre sistema de negociació de pròxima generació, Lightning 2.0, ha adoptat l’última tècnica de concordança en memòria, on el nostre sistema emmagatzema les dades de les comandes a la memòria en el motor de concordança de comandes durant la concordança automàtica i un accés menys freqüent a la base de dades durant la negociació. Tots els resultats coincidents i les dades intermèdies també s’emmagatzemen a la memòria, cosa que pot reduir les quantitats d’entrades i sortides implicades, de manera que augmenta significativament la velocitat de coincidència d’ordres..
Tot i que la memoització pot reduir en gran mesura la latència comercial, els sistemes de comerç criptogràfic poden arriscar-se a perdre dades a causa de la suspensió de l’alimentació. Per resoldre aquest problema, adoptem l’enfocament d’aprovisionament d’esdeveniments per mantenir l’estat d’una entitat empresarial i emmagatzemar dades de manera centrada en els esdeveniments. El sistema de negociació tradicionalment emmagatzema dades de l’estat actual a la base de dades, però els esdeveniments s’emmagatzemen per reflectir els canvis d’estat en l’enfocament d’obtenció d’esdeveniments, cosa que permet al sistema reconstruir l’estat. El sistema periòdicament pren instantànies de l’estat i torna a ordenar els esdeveniments després de crear instantànies quan es requereix la reconstrucció.
A més, les modernes unitats de processament central (CPU) accedeixen a la memòria de dades a una velocitat més baixa del que s’esperava. Segons un prova, només es necessita 1/7 de temps per recuperar dades de la memòria cau L2 d’una CPU en comparació amb la tècnica de coincidència a la memòria. Per reduir encara més la latència, és important entendre com fer un bon ús de la memòria cau de la CPU. La unitat de transferència de dades és la línia de memòria cau, que sol ser de 64 bytes. Mentre la CPU carrega dades a la memòria, transfereix les dades adjacents en 64 bytes a la memòria cau. En conseqüència, hem realitzat les següents millores al nostre sistema Lightning controlant la distribució de dades a la memòria:
- Controleu la distribució de la memòria empaquetant les dades que cal processar contínuament. Després de reunir totes les dades, només es necessita la primera càrrega des de l’emmagatzematge a la memòria cau mentre es llegeixen diverses parts de les dades. Després, les lectures posteriors poden colpejar la memòria cau per millorar el rendiment del sistema.
- Controleu la distribució a la memòria posant dades que poden canviar a un ritme més elevat (com ara dades en comptadors) en diferents línies de memòria cau. Quan diverses CPU modifiquen diferents bytes en una sola línia de memòria cau al mateix temps, es produeix una falsa compartició. Per exemple, després que CPU1 modifiqui les seves pròpies dades, CPU2 ha de recarregar tota la línia de memòria cau quan llegeixi les seves pròpies dades perquè les dades de la línia de memòria cau s’han actualitzat. Com a resultat, les dues CPU han d’esperar-se. És per això que emmagatzemem dades en diferents línies de memòria cau per mitjà de farciment per evitar aquest problema.
2. Model de publicació-subscripció i protocol binari
Els dos principals tipus de models de missatgeria són els següents:
Comparació de Lightning 1.0 i Lightning 2.0
Al model de publicació-subscripció, s’utilitza una cua per a missatgeria. Quan un servei necessita sol·licitar altres serveis, la informació de la sol·licitud s’encapsula en un missatge i es col·loca a la cua. Altres serveis es subscriuran a la cua de missatges per obtenir la informació i processar la sol·licitud.
En el model de sol·licitud-resposta, el client i el servidor estan fortament acoblats. Cal que estiguin disponibles al mateix temps. El client només pot esperar fins que el servidor finalitzi el processament de la sol·licitud, cosa que redueix la seva velocitat de processament. Tanmateix, al model de publicació-subscripció, el processament de sol·licituds s’ha completat després que l’editor col·loca el missatge a la cua. L’editor es desvincula del subscriptor. D’altra banda, si el servei del subscriptor s’interromp, el missatge continua a la cua i el processament continua quan es reprèn el servei sense que l’editor enviï el missatge, millorant així la fiabilitat de la comunicació del sistema. Per tant, aquest patró s’adopta en gairebé tots els escenaris per millorar la disponibilitat i el rendiment del nostre sistema Lightning 2.0.
Després de seleccionar el patró de sol·licitud-resposta, el següent pas és triar un format d’intercanvi d’informació adequat. L’essència de la comunicació és intercanviar missatges, normalment incloses dades. Els diferents formats d’intercanvi tenen diferents velocitats de transmissió i nivells d’evolució de la comunicació, a més d’utilitzar diferents llenguatges de programació. Per tant, és una consideració clau en el disseny d’un sistema de negociació.
Dos tipus de formats de missatges habituals: basats en text & binari
Les deficiències d’un protocol de comunicació basat en text són evidents. Genera fàcilment errors i consumeix amplada de banda quan es produeix l’anàlisi d’un fitxer de text gran, cosa que no funciona bé per als sistemes de negociació extremadament sensibles als problemes d’eficiència i rendiment. Un protocol binari, però, es pot utilitzar fàcilment per analitzar, de manera que es generi un millor rendiment. Per tant, hem adoptat el protocol binari al nostre sistema Lightning 2.0.
3. Escala horitzontal
Per tal de millorar i ampliar la capacitat de processament d’un sistema de negociació, es volen escalar horitzontalment i verticalment. L’escala vertical fa referència a les actualitzacions del servidor, mentre que l’escala horitzontal significa que s’afegeixen servidors. El rendiment del maquinari d’un servidor està subjecte a la capacitat de producció humana. Tot i que la configuració del maquinari (rendiment del maquinari) d’un servidor arriba a un determinat nivell (límit), no es pot millorar encara més, per tant l’escala horitzontal és l’única opció. Tanmateix, l’enfocament d’escala horitzontal pot conduir a un equilibri de càrrega. Com distribuir raonablement les càrregues de tot el sistema a diferents servidors?
La primera consideració és la cursa de dades. Tot i que l’addició de servidors pot millorar la capacitat del sistema per processar dades en paral·lel, la seva capacitat de processament encara no es pot millorar eficaçment si es produeix una distribució irracional, ja que la informàtica paral·lela pot fer que els seus servidors competeixin amb freqüència per les mateixes dades..
Un sistema de negociació bàsicament emmagatzema dades de comandes, fons i posicions. Per reduir el nombre de curses de dades, es reparteix la càrrega per particionar aquestes dades en fragments segons el nombre de usuaris disponibles. Les dades de comanda, fons i posició dels usuaris es processen de manera independent, cosa que ajuda a evitar les curses de dades. A més, hem optimitzat encara més el nostre sistema afegint una ronda de processament per lots per a cada fragment per millorar la capacitat de processament del nostre sistema. D’altra banda, les dades de marge de parells de negociació de derivats són un altre objectiu a què s’han de repartir càrregues. Per a un usuari, cada parell comercial és completament independent. D’aquesta manera, fem servir la distribució de càrrega en dues fases. Quan el nostre sistema necessita més servidors, s’utilitza el reequilibri de càrrega basat en el sharding per aconseguir la flexibilitat de l’expansió del sistema.
4. Escala del sistema
Una manera bàsica de millorar la mantenibilitat i l’escalabilitat d’un sistema comercial és separar-ne la funcionalitat. En aquesta actualització, hem dividit encara més la funcionalitat del nostre sistema en 3 mòduls: la concordança d’ordres, el comptador i el control de riscos. Cada mòdul conté les seves pròpies dades internes i el seu estat. Concretament, el mòdul de concordança de comandes s’encarrega de mantenir la cartera de comandes i el mòdul de comptador emmagatzema dades sobre posicions i saldos de comptes, mentre que el mòdul de control de risc realitza la funció de gestió de riscos..
Com que els mòduls funcionen entre si per permetre la funcionalitat de tot el sistema de negociació, cal un mecanisme per a la seva comunicació. Hi ha dues opcions per a la comunicació entre serveis: compartició de dades i missatgeria.
L’ús compartit de dades és el mètode més bàsic que s’executa de manera que un mòdul actualitza les seves dades i un altre mòdul obté dades noves després de la consulta. No obstant això, aquest enfocament té dos desavantatges significatius. En primer lloc, si diversos mòduls fan canvis i consultes sobre les mateixes dades, normalment resultarà en curses de dades, durant les quals el temps de resposta de la base de dades serà molt més llarg. En segon lloc, és difícil obtenir una comprensió en temps real dels canvis en altres mòduls i només podem conèixer aquests canvis després de la consulta.
Com a resultat, els mòduls del nostre sistema Lightning 2.0 estan dissenyats per desar les seves pròpies dades i no per compartir dades entre ells. Si l’estat intern dels mòduls canvia, el canvi s’encapsularà en un esdeveniment i es col·locarà al bucle d’esdeveniments. Això pot reduir l’acoblament i la competència entre els mòduls del sistema i es poden comunicar entre ells a una velocitat òptima després d’encapsular l’esdeveniment, cosa que millora considerablement la velocitat de comunicació del nostre sistema..
III. Rendiment de les dades de Lightning 2.0
Hem completat una actualització completa del nostre sistema Lightning 2.0 a la segona meitat del 2019. Com ha millorat el seu rendiment en comparació amb Lightning 1.0?
A continuació, es mostren les últimes estadístiques de les proves del servidor de Hong Kong al novembre:
En termes de capacitat de processament de comandes, el nostre sistema té una capacitat màxima de processament de comandes de 100.000 txn / s, comparable als sistemes comercials principals del mercat de renda variable global.
Els tres indicadors següents s’utilitzen per provar la latència del sistema:
Tres indicadors habituals per provar la latència: ACK, Live i Cancel
Hem utilitzat les dades de proves de setembre i novembre per comparar el rendiment previ i posterior a l’actualització del nostre sistema comercial (vegeu més avall). Com s’indica a continuació, la latència ACK mitjana va disminuir de 50 ms a 25 ms, la latència mitjana de Live va passar de 134 ms a 63 ms i la latència mitjana de cancel·lació es va reduir de 230 ms a 180 ms.
Mostra que el nostre sistema comercial Lightning 2.0 té una latència inferior.
Abans de l’actualització / Després de l’actualització
IV. Líder de la indústria en tecnologia
L’escalabilitat, la reproductibilitat i la flexibilitat il·limitades de la cadena de blocs fan que hi hagi molts més recursos nous a l’espera de descobrir. El desenvolupament continu de la tecnologia blockchain transformarà la propietat intel·lectual, els drets d’autor i els actius creatius en criptografia en el futur. Veurem el mercat i els usuaris que busquen una major fiabilitat i rendiment en els sistemes de negociació.
Com a intercanvi de criptomonedes líder mundial amb serveis integrals de comerç C2C, spot i derivats, estem millorant constantment els nostres productes comercials, el sistema de gestió de riscos, el motor de concordança de comandes, el servei d’emmagatzematge d’actius criptogràfics i l’atenció al client, ens hem convertit en la criptografia més gran del món. plataforma de comerç de derivats que rep una gran popularitat entre els usuaris mundials. El nostre objectiu final és créixer amb els sectors de la cadena de blocs i la criptografia, comprometent recursos addicionals per aconseguir una major seguretat i eficiència comercial i impulsar encara més el desenvolupament d’un món basat en la cadena de blocs que tothom somia en l’espai criptogràfic..
Seguiu OKEx a:
Steemit: https://steemit.com/@okex-official
Lloc web: https://www.okex.com