Nadogradnja OKEx Lightning 2.0

Trgovački sustav sljedeće generacije koji pruža brže performanse

I. Razvoj sustava elektroničkog trgovanja

Sve veći zahtjevi za osnovnim tehnologijama trgovanja imovinom odražavali su brzi rast globalne financijske industrije tijekom prve polovice 20. stoljeća. 50-ih godina kupci i prodavači trguju pregovorima, a tražene cijene ručno su bilježene na papiru. U pozadini različitih vrsta vrijednosnih papira i sve većeg obujma trgovanja, ovaj način rješavanja kotacija postupno je stvarao krizu papira tijekom 60-ih-70-ih zbog svoje neučinkovitosti i visoke cijene. Newyorška burza (NYSE) nije imala drugog izbora nego obustaviti trgovanje svake srijede i smanjiti sate u druge dane trgovanja kako bi ograničila svoju aktivnost. Sa svojom neprevaziđenom sposobnošću da istovremeno obrađuju velik broj transakcija, računala su počela ulaziti u igru. Proces bez papira ili elektronička revolucija bila je presudna prekretnica u globalnoj financijskoj povijesti. Transakcije su prešle na platforme za elektroničko trgovanje, nudeći brže i jeftinije operacije bez vremenskih i geografskih prepreka.

Američka kriza bez papira 70-ih

Elektronički sustavi trgovanja pojavili su se širom svijeta, uključujući Currenex države Street, HKET-ov INET, ICAP-ov EBS Spot Ai i LIFFE’s LIFE CONNECT. Budući da kripto imovina postoji samo u elektroničkom obliku, ona je prirodno povezana s elektroničkim platformama za trgovanje, ali zahtjevi za kripto trgovanje i tradicionalni sustavi trgovanja malo su različiti. Sve u svemu, sustav kripto trgovanja trebao bi imati sljedeće karakteristike:

a. Niska latencija i velika propusnost

Kašnjenje i protok ključni su pokazatelji za mjerenje performansi trgovinskog sustava. Naš glavni cilj je postići nisku latenciju i veliku propusnost prilikom dizajniranja sustava trgovanja.

U kontekstu trgovanja, latencija se odnosi na vremenski interval između zahtjeva koji je primio i odgovora trgovinskog sustava. Nagli porast prometa visoke frekvencije u velikoj mjeri pokreće potražnju na tržištu za malim kašnjenjem. Da bi se visokofrekventnim trgovcima omogućila unakrsna trgovina na kripto burzama, njihovi trgovinski sustavi trebali bi biti opremljeni mehanizmima za trgovanje s malim kašnjenjem za brzo rukovanje narudžbama i odražavanje tržišne stvarnosti na visoko konkurentnom kripto tržištu..

Propusnost je količina zahtjeva ili događaja koje trgovački sustav može obraditi u sekundi. Propusnost može izravno utjecati na učinkovitost trgovanja, tako da bi sustavi za kripto trgovanje trebali biti dizajnirani da izdrže ekstremne scenarije i koriste procesne jedinice.

b. Održavanje i skalabilnost

U usporedbi s tradicionalnom imovinom, kripto cijene su nestabilnije i osjetljivije na globalne šokove. Kako sustavi za kripto trgovanje kontinuirano obrađuju zahtjeve 24/7, oni su dizajnirani da prođu što manje izvanmrežnog održavanja. Uz to, očito je da kripto sektor prolazi kroz brzu transformaciju jer su različite usluge digitalnih derivata, koje variraju poput marže, terminskih ugovora i trgovine opcijama, uvedene tek u desetljeću od njegovog uspona. Širenje inovativnih usluga podiglo je zahtjeve za održavanjem i skalabilnošću sustava za kripto trgovanje.

II. OKEx sustav munje 2.0: Učinak brzine svjetlosti

Kao jedna od vodećih svjetskih burzi digitalne imovine, OKEx opslužuje desetke tisuća korisnika svojom sveobuhvatnom kripto imovinom i izvedenim proizvodima, s prosječnim dnevnim volumenom trgovanja od milijarde USD. Kao vodeći u industriji, postavili smo izuzetno visoke standarde za naše trgovinske sustave. Uz nadogradnju našeg trgovačkog sustava u kolovozu 2018., implementirali smo i sljedeću generaciju Lightning 2.0 sustava s vodećim svjetskim performansama nakon višestrukih nadogradnji. Ključne značajke nadogradnje Lightning 2.0 su sljedeće:

Okvir za nadogradnju Lightning 2.0

1. Memoizacija


U ranoj fazi razvoja sustava kripto trgovanja, platforme obično dohvaćaju detalje naloga za ponudu druge ugovorne strane automatskim usklađivanjem u bazi podataka sve dok narudžba ne istekne ili se popuni. Zatim sustav izračunava iznos kojim se trguje i generira unos transakcije nakon podudaranja. Ova metoda mogla bi osigurati dosljednost podataka, ali nije uspjela riješiti mnoge zahtjeve tržišta istodobno zbog svog dugog vremena obrade.

Naš trgovački sustav sljedeće generacije, Lightning 2.0, usvojio je najnoviju tehniku ​​podudaranja u memoriji, gdje naš sustav pohranjuje podatke o narudžbi u memoriju u mehanizam za podudaranje poretka tijekom automatskog podudaranja i rjeđi pristup bazi podataka tijekom trgovanja. Svi ishodi podudaranja i posredni podaci također su pohranjeni u memoriji, što može smanjiti količinu uključenih ulaza i izlaza, što značajno povećava brzinu podudaranja redoslijeda.

Iako memoriranje može uvelike smanjiti kašnjenje trgovanja, sustavi za kripto trgovanje mogu riskirati gubitak podataka uslijed obustave napajanja. Da bismo riješili ovaj problem, koristimo pristup izvorima događaja kako bismo zadržali stanje poslovnog subjekta i pohranili podatke na način usredotočen na događaj. Trgovinski sustav tradicionalno pohranjuje podatke o trenutnom stanju u bazu podataka, ali događaji se pohranjuju kako bi odražavali promjene stanja u pristupu izvorima događaja, što sustavu omogućuje obnovu stanja. Sustav povremeno snima snimke stanja i preuređuje događaje nakon izrade snimaka kada je potrebna ponovna izrada.

Štoviše, moderne središnje procesorske jedinice (CPU) pristupaju podacima u memoriji manjom brzinom od očekivane. Prema a test, potrebno je samo 1/7 vremena za dohvaćanje podataka iz L2 predmemorije CPU-a u usporedbi s tehnikom podudaranja u memoriji. Kako bi se dodatno smanjilo kašnjenje, važno je razumjeti kako dobro iskoristiti CPU predmemoriju. Jedinica prijenosa podataka je linija predmemorije, koja obično iznosi 64 bajta. Dok CPU učitava podatke u memoriji, susjedne podatke prenosi u 64 bajta u predmemoriju. U skladu s tim, napravili smo sljedeća poboljšanja u našem sustavu Lightning kontrolirajući distribuciju podataka u memoriji:

  • Kontrolirajte distribuciju u memoriji spakiranjem dijelova podataka koji su potrebni za kontinuiranu obradu. Nakon što su svi podaci sastavljeni, potrebno je samo prvo učitavanje iz memorije u memoriju u predmemoriju tijekom čitanja više dijelova podataka. Nakon toga, sljedeća čitanja mogu doći u predmemoriju radi poboljšanja performansi sustava.
  • Kontrolirajte distribuciju u memoriji stavljanjem podataka koji se mogu mijenjati većom brzinom (poput podataka na brojačima) na različite linije predmemorije. Kad više CPU-a istodobno modificira različite bajtove u jednoj liniji predmemorije, dolazi do lažnog dijeljenja. Na primjer, nakon što CPU1 izmijeni vlastite podatke, CPU2 mora ponovno učitati cijeli redak predmemorije kada ponovno pročita vlastite podatke jer su podaci u retku predmemorije ažurirani. Kao rezultat, oba CPU-a trebaju pričekati jedni druge. Zbog toga podatke pohranjujemo u različite retke predmemorije dodavanjem kako bismo izbjegli ovaj problem.

2. Objavi – pretplati se model i binarni protokol

Dvije su glavne vrste modela za razmjenu poruka sljedeće:

Usporedba Lightning 1.0 i Lightning 2.0

U modelu objaviti-pretplatiti red se koristi za razmjenu poruka. Kada usluga treba zatražiti druge usluge, podaci o zahtjevu ugrađuju se u poruku i stavljaju u red čekanja. Ostale usluge pretplatit će se na red poruka kako bi dobile informacije i obradile zahtjev.

U modelu zahtjev-odgovor klijent i poslužitelj čvrsto su povezani. Oni moraju biti dostupni u isto vrijeme. Klijent može pričekati samo dok poslužitelj ne dovrši obradu zahtjeva, što smanjuje njegovu brzinu obrade. Međutim, u modelu objavljivanje-pretplata obrada zahtjeva dovršava se nakon što izdavač postavi poruku u red čekanja. Izdavač je odvojen od pretplatnika. S druge strane, ako je pretplatnička usluga prekinuta, poruka ostaje u redu i obrada se nastavlja kad se njegova usluga nastavi, a da izdavač ne mora ponovno poslati poruku, čime se poboljšava pouzdanost komunikacije sustava. Stoga je ovaj obrazac prihvaćen u gotovo svim scenarijima kako bi se poboljšala dostupnost i propusnost našeg sustava Lightning 2.0.

Nakon što odaberemo obrazac zahtjev-odgovor, sljedeći je korak odabir prikladnog formata za razmjenu informacija. Bit komunikacije je razmjena poruka, obično uključujući podatke. Različiti formati za razmjenu imaju različitu brzinu prijenosa i nivoe komunikacijske razvijenosti, kao i korištenje različitih programskih jezika. Stoga je to ključno razmatranje pri dizajniranju sustava trgovanja.

Dvije uobičajene vrste formata poruka: tekstualne & binarni

Očiti su nedostaci komunikacijskog protokola temeljenog na tekstu. Lako generira pogreške i troši propusnost kada se dogodi raščlanjivanje velike tekstualne datoteke, što ne funkcionira dobro za trgovinske sustave koji su izuzetno osjetljivi na probleme s učinkovitošću i izvedbom. Binarni protokol, međutim, može se lako koristiti za raščlanjivanje, tako da generira bolje performanse. Stoga smo usvojili binarni protokol u našem sustavu Lightning 2.0.

3. Horizontalno skaliranje

Kako bi se poboljšala i proširila mogućnost obrade trgovinskog sustava, poželjno je horizontalno i vertikalno skaliranje. Vertikalno skaliranje odnosi se na nadogradnje poslužitelja, dok vodoravno skaliranje znači da dodavanje poslužitelja. Hardverske performanse poslužitelja ovise o ljudskim proizvodnim kapacitetima. Iako hardverska konfiguracija (hardverske performanse) poslužitelja doseže određenu razinu (ograničenje), ona se ne može dodatno poboljšati, stoga je jedina opcija vodoravno skaliranje. Međutim, pristup vodoravnom skaliranju može dovesti do uravnoteženja opterećenja. Kako razumno rasporediti opterećenja cijelog sustava na različite poslužitelje?

Prvo razmatranje je utrka podataka. Iako dodavanje poslužitelja može poboljšati sposobnost sustava da paralelno obrađuje podatke, njegov kapacitet obrade ne može se i dalje učinkovito poboljšati ako se dogodi nerazumna distribucija jer paralelno računanje može učiniti da njegovi poslužitelji često trkaju za istim podacima.

Trgovinski sustav u osnovi pohranjuje podatke o narudžbi, fondu i poziciji. Da bi se smanjio broj podatkovnih trka, izvodi se osipanje opterećenja da bi se ti podaci podijelili na krhotine prema broju dostupnih naših korisnika. Podaci o narudžbama, financiranju i poziciji korisnika obrađuju se neovisno, što pomaže u izbjegavanju utrka podataka. Štoviše, dodatno smo optimizirali svoj sustav dodavanjem runde serijske obrade za svaku krhotinu kako bismo poboljšali kapacitet obrade našeg sustava. S druge strane, podaci o marži trgovinskih parova derivata još su jedan cilj koji treba podvrgnuti razvrstavanju opterećenja. Za korisnika je svaki trgovački par potpuno neovisan. Na taj način koristimo osipanje tereta u dvije faze. Kada našem sustavu treba više poslužitelja, rebalansiranje opterećenja koristi se na temelju oštrenja kako bi se postigla fleksibilnost širenja sustava.

4. Skaliranje sustava

Osnovni način za poboljšanje održavanja i skalabilnosti trgovinskog sustava je odvajanje njegove funkcionalnosti. U ovoj nadogradnji funkcionalnost našeg sustava dalje dijelimo na 3 modula, odnosno podudaranje narudžbi, brojač i kontrolu rizika. Svaki modul sadrži svoje interne podatke i status. Konkretno, modul za usklađivanje naloga odgovoran je za vođenje knjige naloga, a modul brojača pohranjuje podatke o pozicijama i stanju računa, dok modul kontrole rizika obavlja funkciju upravljanja rizikom.

Kako moduli međusobno surađuju kako bi omogućili funkcionalnost cijelog sustava trgovanja, potreban je mehanizam za njihovu komunikaciju. Dvije su mogućnosti međusobne komunikacije: razmjena podataka i razmjena poruka.

Dijeljenje podataka najosnovnija je metoda koja se izvodi na način na koji modul ažurira svoje podatke, a drugi modul dobiva nove podatke nakon upita. Međutim, ovaj pristup ima dva značajna nedostatka. Prvo, ako više modula vrši izmjene i upite na istim podacima, to će obično rezultirati podatkovnim utrkama, tijekom kojih će vrijeme odziva baze podataka biti mnogo duže. Drugo, teško je u stvarnom vremenu razumjeti promjene u drugim modulima, a takve promjene možemo znati tek nakon upita.

Kao rezultat toga, moduli našeg sustava Lightning 2.0 dizajnirani su za spremanje vlastitih podataka, a ne za međusobno dijeljenje podataka. Ako se unutarnje stanje modula promijeni, promjena će se uvrstiti u događaj i smjestiti u petlju događaja. To može smanjiti spregu i konkurenciju između modula sustava, a oni mogu međusobno komunicirati optimalnom brzinom nakon što je događaj kapsuliran, što uvelike poboljšava brzinu komunikacije našeg sustava.

III. Izvedba podataka Lightning 2.0

Završili smo sveobuhvatnu nadogradnju našeg sustava Lightning 2.0 u drugoj polovici 2019. Kako su se poboljšale njegove performanse u odnosu na Lightning 1.0?

Evo najnovijih statistika našeg testiranja hongkonškog poslužitelja u studenom:

Što se tiče kapaciteta obrade naloga, naš sustav ima najveći kapacitet obrade naloga od 100 000 txn / s, usporediv sa uobičajenim trgovinskim sustavima na globalnom tržištu dionica.

Sljedeća tri pokazatelja koriste se za ispitivanje kašnjenja sustava:

Tri uobičajena pokazatelja za testiranje kašnjenja: ACK, Live i Cancel

Koristili smo testne podatke iz rujna i studenog za usporedbu performansi našeg sustava trgovanja prije nadogradnje i nakon nadogradnje (vidi dolje). Kao što je navedeno u nastavku, prosječna latencija ACK-a smanjila se s 50 ms na 25 ms, prosječna latencija uživo smanjila se sa 134 ms na 63 ms, a prosječna latencija Cancel smanjena s 230 ms na 180 ms.

To pokazuje da naš sustav trgovanja Lightning 2.0 ima manju latenciju.

Prije nadogradnje / nakon nadogradnje

IV. Industrijski lider u tehnologiji

Neograničena skalabilnost, ponovljivost i fleksibilnost blockchaina znače da postoji mnogo više novih sredstava koja čekaju da budu otkrivena. Stalni razvoj blockchain tehnologije transformirat će sve veće intelektualno vlasništvo, autorska prava i kreativnu imovinu u kripto u budućnosti. Vidjet ćemo tržište i korisnike koji traže veću pouzdanost i performanse u sustavima trgovanja.

Kao vodeća svjetska burza kriptovaluta sa sveobuhvatnim uslugama trgovanja C2C, spot i derivatima, neprestano poboljšavamo svoje trgovinske proizvode, sustav upravljanja rizikom, mehanizam za usklađivanje narudžbi, uslugu skladištenja kripto imovine i korisničku uslugu, postali smo najveća kripto valuta na svijetu platforma za trgovanje derivatima koja prima veliku popularnost kod globalnih korisnika. Krajnji nam je cilj rasti s blockchain i kripto sektorima zalažući dodatne resurse za postizanje veće sigurnosti i efikasnosti trgovanja kako bismo dalje potaknuli razvoj svijeta vođenog blockchainom o kojem svi u kripto prostoru sanjaju.

Slijedite OKEx na:

Steemit: https://steemit.com/@okex-official

Web stranica: https://www.okex.com

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map