Ukuziphendukela kwemvelo kwezakhiwo zesistimu yokuhweba nokuhlanza ye-Moscow Exchange. Ingxenye 1

Ukuziphendukela kwemvelo kwezakhiwo zesistimu yokuhweba nokuhlanza ye-Moscow Exchange. Ingxenye 1

Sanibonani nonke! Igama lami ngingu-Sergey Kostanbaev, e-Exchange ngithuthukisa umnyombo wohlelo lokuhweba.

Lapho amafilimu aseHollywood ebonisa i-New York Stock Exchange, kuhlale kubukeka kanje: izixuku zabantu, wonke umuntu umemeza okuthile, ukunyakazisa amaphepha, isiphithiphithi esiphelele senzeka. Lokhu akukaze kwenzeke lapha eMoscow Exchange, ngoba ukuhweba kuye kwenziwa nge-elekthronikhi kusukela ekuqaleni futhi kusekelwe ezisekelweni ezimbili eziyinhloko - i-Spectra (imakethe ye-forex) kanye ne-ASTS (ukushintshaniswa kwamanye amazwe, imakethe yamasheya kanye nemali). Futhi namuhla ngifuna ukukhuluma ngokuziphendukela kwemvelo kwesakhiwo se-ASTS yokuhweba nokuhlanza uhlelo, mayelana nezixazululo ezihlukahlukene kanye nokutholakele. Indaba izoba yinde, ngakho kwadingeka ngiyihlukanise ibe izingxenye ezimbili.

Singezinye zezingxoxo ezimbalwa emhlabeni ezihweba ngezimpahla zazo zonke izigaba futhi zinikeze uhla olugcwele lwezinsizakalo zokushintshisana. Isibonelo, ngonyaka odlule siklelise endaweni yesibili emhlabeni ngokwenani lokuhweba ngebhondi, indawo yama-25 phakathi kwazo zonke izimakethe zamasheya, indawo ye-13 ngosonhlamvukazi phakathi kokuhwebelana komphakathi.

Ukuziphendukela kwemvelo kwezakhiwo zesistimu yokuhweba nokuhlanza ye-Moscow Exchange. Ingxenye 1

Kubahlanganyeli bokuhweba abangochwepheshe, imingcele efana nesikhathi sokuphendula, ukuzinza kokusabalalisa isikhathi (i-jitter) nokuthembeka kwayo yonke inkimbinkimbi kubalulekile. Okwamanje sicubungula amashumi ezigidi zemisebenzi ngosuku. Ukucutshungulwa kokwenziwayo ngakunye yi-kernel yesistimu kuthatha amashumi amasekhondi amancane. Yiqiniso, ama-opharetha eselula ngo-Eva Wonyaka Omusha noma izinjini zokusesha ngokwazo zinomthwalo womsebenzi ophezulu kunowethu, kodwa ngokomthwalo womsebenzi, ohambisana nezici ezibalwe ngenhla, bambalwa abangaqhathanisa nathi, kubonakala kimi. Ngesikhathi esifanayo, kubalulekile kithi ukuthi isistimu inganciphisi umzuzwana, isebenze ngokuzinza ngokuphelele, futhi bonke abasebenzisi basezingeni elilinganayo.

Umlando omncane

Ngo-1994, uhlelo lwe-ASTS lwase-Australia lwasungulwa eMoscow Interbank Currency Exchange (MICEX), futhi kusukela ngaleso sikhathi umlando waseRussia wokuhweba nge-elekthronikhi ungabalwa. Ngo-1998, i-architecture yokushintshanisa yenziwa yesimanje ukwethula ukuhweba nge-inthanethi. Kusukela ngaleso sikhathi, ijubane lokuqaliswa kwezixazululo ezintsha kanye nezinguquko zezakhiwo kuzo zonke izinhlelo nezinhlelo ezincane liye lathola umfutho.

Ngaleyo minyaka, uhlelo lokushintshana lwalusebenza ku-hi-end hardware - amaseva we-HP Superdome 9000 athembekile kakhulu (akhiwe phezu I-PA-RISC), lapho yonke into iphindwe kabili: amasistimu angaphansi okokufaka/okukhiphayo, inethiwekhi, i-RAM (eqinisweni, kwakukhona uchungechunge lwe-RAID lwe-RAM), amaprosesa (ashisayo-ashintshwayo). Kube nokwenzeka ukushintsha noma iyiphi ingxenye yeseva ngaphandle kokumisa umshini. Sithembele kulawa madivayisi futhi sawabheka njengengaphumeleli njengephephile. Isistimu yokusebenza bekuyisistimu efana ne-HP UX efana ne-Unix.

Kodwa kusukela cishe ngo-2010, kuye kwavela into ebizwa ngokuthi i-high-frequency trading (HFT), noma ukuhweba okuhamba phambili - ukubeka nje, amarobhothi okushintshanisa amasheya. Eminyakeni engu-2,5 nje, umthwalo kumaseva ethu ukhuphuke izikhathi ezingu-140.

Ukuziphendukela kwemvelo kwezakhiwo zesistimu yokuhweba nokuhlanza ye-Moscow Exchange. Ingxenye 1

Kwakungenakwenzeka ukumelana nomthwalo onjalo ngezakhiwo zakudala kanye nemishini. Kwakudingeka ukuzivumelanisa ngandlela-thile.

Начало

Izicelo ohlelweni lokushintshisana zingahlukaniswa zibe izinhlobo ezimbili:

  • Ukuthengiselana. Uma ufuna ukuthenga amadola, amasheya noma enye into, uthumela ukuthengiselana ohlelweni lokuhweba futhi uthole impendulo mayelana nempumelelo.
  • Izicelo zolwazi. Uma ufuna ukuthola inani lamanje, buka ibhuku loku-oda noma izinkomba, bese uthumela izicelo zolwazi.

Ukuziphendukela kwemvelo kwezakhiwo zesistimu yokuhweba nokuhlanza ye-Moscow Exchange. Ingxenye 1

Ngokohlelo, umnyombo wesistimu ungahlukaniswa ngamaleveli amathathu:

  • Izinga leklayenti, lapho abathengisi namakhasimende basebenza khona. Wonke asebenzisana namaseva okufinyelela.
  • Amaseva esango angamaseva agcina inqolobane acubungula zonke izicelo zolwazi endaweni. Uyafuna ukwazi ukuthi yiliphi inani amasheya e-Sberbank njengamanje ahweba ngalo? Isicelo siya kuseva yokufinyelela.
  • Kodwa uma ufuna ukuthenga amasheya, isicelo siya kuseva emaphakathi (i-Trade Engine). Kukhona iseva eyodwa enjalo kuhlobo ngalunye lwemakethe, badlala indima ebalulekile, kungenxa yabo ukuthi sidale lolu hlelo.

Umnyombo wohlelo lokuhweba yisizindalwazi esihlakaniphile esisenkumbulweni lapho konke okwenziwayo kuyimisebenzi yokushintshisana. Isisekelo sasibhalwe ngo-C, okuwukuphela kokuncika kwangaphandle kwakuyilabhulali ye-libc futhi kwakungekho nhlobo ukwabiwa kwememori okuguquguqukayo. Ukuze kuncishiswe isikhathi sokucubungula, uhlelo luqala ngesethi emile yokuhlelwa kanye nokuthuthwa kwedatha okumile: okokuqala, yonke idatha yosuku lwamanje ilayishwa kumemori, futhi akukho okunye ukufinyelela kwediski okwenziwayo, wonke umsebenzi wenziwa ngenkumbulo kuphela. Uma isistimu iqala, yonke idatha yesithenjwa isivele ihlungiwe, ngakho ukusesha kusebenza kahle kakhulu futhi kuthatha isikhathi esincane ekusebenzeni. Wonke amathebula enziwe ngohlu oluphazamisayo nezihlahla zezakhiwo zedatha eguquguqukayo ukuze angadingi ukwabiwa kwememori ngesikhathi sokusebenza.

Ake sidlulise kafushane umlando wokuthuthukiswa kohlelo lwethu lokuhweba nokususa.
Inguqulo yokuqala yezakhiwo zesistimu yokuhweba nokuhlanza yakhiwe kulokho okubizwa ngokuthi ukusebenzisana kwe-Unix: inkumbulo eyabiwe, ama-semaphores kanye nolayini kwasetshenziswa, futhi inqubo ngayinye yayihlanganisa uchungechunge olulodwa. Le ndlela yayisakazeke kakhulu ekuqaleni kwawo-1990.

Inguqulo yokuqala yesistimu iqukethe amaleveli amabili e-Gateway kanye neseva emaphakathi yesistimu yokuhweba. Ukugeleza komsebenzi kwaba kanje:

  • Iklayenti lithumela isicelo, esifika ku-Gateway. Ihlola ukufaneleka kwefomethi (kodwa hhayi idatha ngokwayo) futhi yenqaba okwenziwayo okungalungile.
  • Uma isicelo solwazi sithunyelwe, senziwa endaweni; uma sikhuluma ngomsebenzi, bese uqondiswa kabusha kuseva emaphakathi.
  • Injini yokuhweba ibe isicubungula okwenziwayo, iguqule inkumbulo yendawo, futhi ithumele impendulo kumsebenzi kanye nomsebenzi ngokwawo ukuze kuphindwe kusetshenziswa injini ehlukile yokuphindaphinda.
  • I-Gateway ithola impendulo ku-node emaphakathi bese iyidlulisela kuklayenti.
  • Ngemva kwesikhathi esithile, i-Gateway ithola okwenziwayo ngomshini wokuphindaphinda, futhi kulokhu ikwenza endaweni, ishintsha izakhiwo zayo zedatha ukuze ulwazi olulandelayo lubonise idatha yakamuva.

Eqinisweni, ichaza imodeli yokuphindaphinda lapho i-Gateway iphindaphinda ngokuphelele izenzo ezenziwa ohlelweni lokuhweba. Isiteshi esihlukile sokuphindaphinda saqinisekisa ukuthi ukuthengiselana kwenziwa ngokulandelana okufanayo kuzo zonke izindawo zokufinyelela eziningi.

Njengoba ikhodi yayinomucu owodwa, isikimu sakudala esinamafoloko enqubo sasetshenziswa ukuze kusizwe amakhasimende amaningi. Kodwa-ke, kubiza kakhulu ukufokha yonke imininingwane egciniwe, ngakho-ke kwasetshenziswa izinqubo zesevisi ezingasindi eziqoqa amaphakethe kumaseshini e-TCP futhi zawadlulisela kulayini owodwa (Umugqa Womlayezo we-SystemV). I-Gateway ne-Trade Engine isebenze kuphela nalo mugqa, ithatha ukuthengiselana kusuka lapho ukuze kwenziwe. Kwakungasenakwenzeka ukuthumela impendulo kuyo, ngoba kwakungacaci ukuthi iyiphi inqubo yesevisi okufanele ifundwe. Ngakho-ke sasebenzisa iqhinga: inqubo ngayinye eyimfoloko izenzele yona umugqa wokuphendula, futhi lapho isicelo singena kulayini ongenayo, ithegi yomugqa wokuphendula yengezwa kuwo ngokushesha.

Ukukopisha njalo inani elikhulu ledatha kusuka kulayini kuya kulayini kudaleke izinkinga, ikakhulukazi ezijwayelekile ezicelweni zolwazi. Ngakho-ke, sisebenzise elinye iqhinga: ngaphezu komugqa wokuphendula, inqubo ngayinye iphinde yakha inkumbulo eyabiwe (Inkumbulo Eyabiwe ye-SystemV). Amaphakheji ngokwawo abekwe kuwo, futhi umaka kuphela wawugcinwe kulayini, okuvumela umuntu ukuthi athole iphakheji yangempela. Lokhu kusize ukugcina idatha kunqolobane yokucubungula.

I-SystemV IPC ihlanganisa izinsiza zokubuka isimo solayini, inkumbulo, kanye nezinto ze-semaphore. Sisebenzise lokhu ngenkuthalo ukuqonda okwakwenzeka ohlelweni ngesikhathi esithile, lapho amaphakethe enqwabelana khona, yini ebivinjiwe, njll.

Eyokuqala yesimanjemanje

Okokuqala, sisuse i-Gateway yenqubo eyodwa. Ukuhlehla kwayo okubalulekile kwaba ukuthi ingasingatha umsebenzi owodwa wokuphindaphinda noma isicelo esisodwa solwazi esivela kuklayenti. Futhi njengoba umthwalo ukhula, i-Gateway izothatha isikhathi eside ukucubungula izicelo futhi ngeke ikwazi ukucubungula ukugeleza kokuphindaphinda. Ngaphezu kwalokho, uma iklayenti lithumele ukuthengiselana, udinga kuphela ukuhlola ukufaneleka kwayo bese uyidlulisela phambili. Ngakho-ke, sishintshe inqubo ye-Gateway eyodwa safaka izingxenye eziningi ezingasebenza ngokufana: ulwazi olunemicu eminingi nezinqubo zokwenziwayo ezisebenza ngokuzimela endaweni yenkumbulo eyabiwe kusetshenziswa ukukhiya kwe-RW. Futhi ngesikhathi esifanayo sethula izinqubo zokuthumela nokuphindaphinda.

Umthelela Wokuhweba Okuphakeme Kakhulu

Inguqulo engenhla ye-architecture ikhona kuze kube ngu-2010. Ngaleso sikhathi, asizange sisanelisekile ngokusebenza kwamaseva e-HP Superdome. Ngaphezu kwalokho, ukwakheka kwe-PA-RISC kwakucishe kwafa; umthengisi akazange anikeze noma yiziphi izibuyekezo ezibalulekile. Ngenxa yalokho, saqala ukusuka ku-HP UX/PA RISC saya ku-Linux/x86. Ushintsho lwaqala ngokujwayela amaseva okufinyelela.

Kungani kudingeke ukuthi sishintshe isakhiwo futhi? Iqiniso liwukuthi ukuhweba kwe-high-frequency kushintshe kakhulu iphrofayili yomthwalo kumongo wesistimu.

Ake sithi sinokuthengiselana okuncane okubangele ushintsho olukhulu lwentengo - othile uthenge ingxenye yebhiliyoni yamadola. Ngemuva kwama-millisecond ambalwa, bonke abahlanganyeli bemakethe bayakubona lokhu futhi baqale ukulungisa. Ngokwemvelo, izicelo zilandelana emgqeni omkhulu, okuzothatha isikhathi eside ukuwususa uhlelo.

Ukuziphendukela kwemvelo kwezakhiwo zesistimu yokuhweba nokuhlanza ye-Moscow Exchange. Ingxenye 1

Kulesi sikhawu esingu-50 ms, isivinini esimaphakathi simayelana nokuthengiselana okuyizinkulungwane eziyi-16 ngomzuzwana. Uma sinciphisa iwindi libe ngu-20 ms, sithola isivinini esimaphakathi sokuthengiselana ayizinkulungwane ezingama-90 ngomzuzwana, ngokuthengiselana okuyizinkulungwane ezingama-200 phezulu. Ngamanye amazwi, umthwalo awuhlali njalo, ngokuqhuma kungazelelwe. Futhi ulayini wezicelo kumele uhlale ucutshungulwa ngokushesha.

Kodwa kungani kunomugqa nhlobo? Ngakho-ke, esibonelweni sethu, abasebenzisi abaningi babone ukuguqulwa kwentengo futhi bathumela ukuthengiselana ngokufanele. Bafike e-Gateway, iwahlanganise, ibeke i-oda elithile futhi iwathumele kunethiwekhi. Ama-routers ashova amaphakethe futhi awadlulisele phambili. Okabani iphakethe elafika kuqala, lokho kuthengiselana “kunqobile”. Ngenxa yalokho, amaklayenti okushintshana aqala ukuqaphela ukuthi uma ukuthengiselana okufanayo kuthunyelwe kusuka ku-Gateways amaningana, khona-ke amathuba okucubungula ngokushesha akhula. Ngokushesha, amarobhothi okushintshana aqala ukuhlasela i-Gateway ngezicelo, futhi kwavela inqwaba yokuthengiselana.

Ukuziphendukela kwemvelo kwezakhiwo zesistimu yokuhweba nokuhlanza ye-Moscow Exchange. Ingxenye 1

Umjikelezo omusha wokuziphendukela kwemvelo

Ngemuva kokuhlolwa okubanzi nocwaningo, sishintshele ku-kernel yesistimu yokusebenza yesikhathi sangempela. Kulokhu sikhethe i-RedHat Enterprise MRG Linux, lapho i-MRG imele imiyalezo yegridi yesikhathi sangempela. Inzuzo yamapeshi esikhathi sangempela ukuthi akhulisa isistimu ukuze kwenziwe ngokushesha okukhulu ngangokunokwenzeka: zonke izinqubo zikleliswe kulayini we-FIFO, ama-cores angahlukaniswa, akukho okukhishwayo, konke ukuthengiselana kucutshungulwa ngokulandelana okuqinile.

Ukuziphendukela kwemvelo kwezakhiwo zesistimu yokuhweba nokuhlanza ye-Moscow Exchange. Ingxenye 1
Okubomvu - ukusebenza ngomugqa ku-kernel evamile, eluhlaza - ukusebenza ku-kernel yesikhathi sangempela.

Kepha ukuthola i-latency ephansi kumaseva ajwayelekile akulula kangako:

  • Imodi ye-SMI, ekwakhiweni kwe-x86 eyisisekelo sokusebenza ngama-peripherals abalulekile, iphazamisa kakhulu. Ukucutshungulwa kwazo zonke izinhlobo zemicimbi yehadiwe nokuphathwa kwezingxenye namadivayisi kwenziwa yi-firmware kulokho okubizwa ngemodi ye-SMI esobala, lapho uhlelo lokusebenza lungaboni ukuthi i-firmware yenzani nhlobo. Njengomthetho, bonke abathengisi abakhulu banikeza izandiso ezikhethekile zamaseva we-firmware okuvumela ukunciphisa inani lokucubungula kwe-SMI.
  • Akufanele kube nokulawula okuguquguqukayo kwe-frequency processor, lokhu kuholela ekuphumuleni okwengeziwe.
  • Uma ilogi yesistimu yefayela ihlanjululwa, izinqubo ezithile zenzeka ku-kernel ezibangela ukubambezeleka okungalindelekile.
  • Udinga ukunaka izinto ezifana ne-CPU Affinity, ukuphazamisa ubudlelwane, i-NUMA.

Kumele ngisho ukuthi isihloko sokusetha i-Linux hardware kanye ne-kernel yokucubungula ngesikhathi sangempela sifanelwe i-athikili ehlukile. Sichithe isikhathi esiningi sihlola futhi sicwaninga ngaphambi kokuba sithole umphumela omuhle.

Lapho sisuka kumaseva e-PA-RISC siye ku-x86, empeleni akuzange kudingeke ukuthi sishintshe ikhodi yesistimu kakhulu, sivele sayilungisa futhi sayilungisa kabusha. Ngesikhathi esifanayo, salungisa iziphazamisi eziningana. Isibonelo, imiphumela yokuthi i-PA RISC yayiyi-Big endian system, futhi i-x86 yayiyi-Little endian system, yavela ngokushesha: isibonelo, idatha ifundwe ngokungalungile. I-trickier bug ukuthi i-PA RISC isebenzisa ngokungaguquguquki (Kuyahambisana ngokulandelana) ukufinyelela inkumbulo, kuyilapho i-x86 ingakwazi ukuhlela kabusha ukusebenza kokufunda, ngakho-ke ikhodi ebisebenza ngokuphelele endaweni eyodwa yaphuka kwenye.

Ngemva kokushintshela ku-x86, ukusebenza kukhuphuke cishe ngokuphindwe kathathu, isilinganiso sesikhathi sokucubungula umsebenzi sehle saya ku-60 μs.

Manje ake sibhekisise ukuthi yiziphi izinguquko ezibalulekile ezenziwe ekwakhiweni kwesistimu.

Hot reserve epic

Lapho sishintshela kumaseva wempahla, besiqaphela ukuthi abethembekile kancane. Ngakho-ke, lapho sidala i-architecture entsha, thina a priori sacabanga ukuthi kungenzeka ukwehluleka kwenodi eyodwa noma ngaphezulu. Ngakho-ke, kwakudingeka isistimu yokulinda eshisayo engashintshela emishinini yokusekelayo.

Ngaphezu kwalokho, kwakunezinye izidingo:

  • Ngaphansi kwezimo akufanele ulahlekelwe ukuthengiselana okucutshunguliwe.
  • Uhlelo kumele lube sobala ngokuphelele kwingqalasizinda yethu.
  • Amaklayenti akufanele abone ukuxhumana okwehlisiwe.
  • Ukubhukha akufanele kungenise ukubambezeleka okukhulu ngoba lokhu kuyisici esibalulekile ekuhwebeni.

Lapho sidala isistimu yokulinda eshisayo, asizange sicabangele lezi zimo njengokwehluleka okuphindwe kabili (isibonelo, inethiwekhi kuseva eyodwa yayeka ukusebenza futhi iseva eyinhloko imile); akazange acabange ukuthi kungenzeka kube namaphutha ku-software ngoba akhonjwa ngesikhathi sokuhlolwa; futhi akazange acabangele ukusebenza okungalungile kwehadiwe.

Ngenxa yalokho, sifike kuhlelo olulandelayo:

Ukuziphendukela kwemvelo kwezakhiwo zesistimu yokuhweba nokuhlanza ye-Moscow Exchange. Ingxenye 1

  • Iseva eyinhloko ihlanganyele ngokuqondile neziphakeli ze-Gateway.
  • Konke ukuthengiselana okutholwe kuseva eyinhloko kwaphinde kwaphindwa khona manjalo kuseva eyisipele ngesiteshi esihlukile. Umxazululi (uMbusi) waxhumanisa ukushintsha uma kukhona izinkinga eziphakamayo.

    Ukuziphendukela kwemvelo kwezakhiwo zesistimu yokuhweba nokuhlanza ye-Moscow Exchange. Ingxenye 1

  • Iseva eyinhloko icubungule okwenziwayo ngakunye futhi yalinda ukuqinisekiswa okuvela kuseva eyisipele. Ukuze sigcine ukubambezeleka kube kuncane, sikugweme ukulinda ukuthi umsebenzi uqedele kuseva eyisipele. Njengoba isikhathi esisithathile sokuhamba kunethiwekhi siqhathaniswa nesikhathi sokwenza, akukho ukubambezeleka okwengeziwe okungeziwe.
  • Besingahlola kuphela isimo sokucutshungulwa kweziphakeli eziyinhloko kanye nekhophi yasenqolobaneni ngomsebenzi wangaphambilini, futhi isimo sokucubungula somsebenzi wamanje besingaziwa. Njengoba sisasebenzisa izinqubo zochungechunge olulodwa, ukulinda impendulo evela kokuthi Ukwenza Ikhophi Yasenqolobaneni bekuzonciphisa konke ukugeleza kokucubungula, ngakho-ke senze ukuvumelana okunengqondo: sihlole umphumela wokwenziwe kwangaphambilini.

Ukuziphendukela kwemvelo kwezakhiwo zesistimu yokuhweba nokuhlanza ye-Moscow Exchange. Ingxenye 1

Uhlelo lusebenze kanje.

Ake sithi iseva eyinhloko iyeka ukuphendula, kodwa i-Gateways iyaqhubeka nokuxhumana. Ukuphela kwesikhathi kwenzeka kuseva eyisipele, ithinta uMbusi, oyinikeza indima yeseva eyinhloko, futhi wonke ama-Gateways ashintshela kuseva eyinhloko entsha.

Uma iseva eyinhloko ibuya ku-inthanethi, iphinda icuphe ukuphela kwesikhathi kwangaphakathi, ngoba bekungakaze kube namakholi kuseva asuka ku-Gateway isikhathi esithile. Khona-ke naye uphendukela kuMbusi, futhi amkhiphele ngaphandle ohlelweni. Ngenxa yalokho, ukushintshaniswa kusebenza neseva eyodwa kuze kube sekupheleni kwesikhathi sokuhweba. Njengoba amathuba okuhluleka kweseva ephansi kakhulu, lolu hlelo lucatshangelwe njengolwamukelekayo ngempela; belingaqukathi ukucabanga okuyinkimbinkimbi futhi kulula ukulihlola.

Ukuze uqhubeke.

Source: www.habr.com

Engeza amazwana