Juyin Halitta na gine-gine na tsarin ciniki da sharewa na Moscow Exchange. Kashi na 1

Juyin Halitta na gine-gine na tsarin ciniki da sharewa na Moscow Exchange. Kashi na 1

Sannu duka! Sunana Sergey Kostanbaev, a musayar Ina haɓaka ainihin tsarin ciniki.

Lokacin da fina-finan Hollywood suka nuna kasuwar hada-hadar hannayen jari ta New York, koyaushe yana kama da haka: taron jama'a, kowa yana ihu wani abu, yana daga takardu, cikakken hargitsi yana faruwa. Wannan bai taba faruwa ba a nan a Moscow Exchange, saboda ana gudanar da ciniki ta hanyar lantarki tun farkon farawa kuma yana dogara ne akan manyan dandamali guda biyu - Spectra (kasuwar forex) da ASTS ( musayar waje, hannun jari da kasuwar kuɗi). Kuma a yau ina so in yi magana game da juyin halitta na gine-gine na tsarin ciniki da sharewa na ASTS, game da mafita da bincike daban-daban. Labarin zai yi tsawo, don haka sai na katse shi kashi biyu.

Mu ne ɗaya daga cikin ƴan musanya a cikin duniya waɗanda ke cinikin dukiyoyi na kowane nau'i kuma suna ba da cikakkiyar sabis na musayar. Misali, a shekarar da ta gabata mun zo na biyu a duniya ta fuskar girman ciniki, matsayi na 25 a tsakanin duk mu'amalar hannayen jari, matsayi na 13 a cikin babban kasuwar hada-hadar jama'a.

Juyin Halitta na gine-gine na tsarin ciniki da sharewa na Moscow Exchange. Kashi na 1

Don ƙwararrun mahalarta ciniki, irin waɗannan sigogi kamar lokacin amsawa, kwanciyar hankali na rarraba lokaci (jitter) da amincin duk hadaddun suna da mahimmanci. A halin yanzu muna aiwatar da dubun-dubatar kasuwanci a kowace rana. Sarrafa kowane ma'amala ta hanyar kwaya na tsarin yana ɗaukar dubun seconds. Tabbas, masu amfani da wayar hannu a Sabuwar Shekarar Sabuwar Shekara ko injunan bincike da kansu suna da nauyin aiki mafi girma fiye da namu, amma dangane da nauyin aiki, tare da halayen da aka ambata a sama, kaɗan za su iya kwatanta tare da mu, kamar ni. A lokaci guda, yana da mahimmanci a gare mu cewa tsarin ba ya raguwa na daƙiƙa guda, yana aiki da ƙarfi sosai, kuma duk masu amfani suna kan daidaitattun daidaito.

Tarihi kadan

A cikin 1994, an ƙaddamar da tsarin ASTS na Australiya akan Moskow Interbank Currency Exchange (MICEX), kuma daga wannan lokacin ana iya ƙidayar tarihin Rasha na kasuwancin lantarki. A cikin 1998, an sabunta tsarin gine-ginen musayar don gabatar da kasuwancin Intanet. Tun daga wannan lokacin, saurin aiwatar da sabbin hanyoyin warwarewa da sauye-sauyen gine-gine a cikin dukkan tsarin da tsarin ƙasa kawai ke samun ci gaba.

A cikin waɗannan shekarun, tsarin musayar ya yi aiki akan kayan aikin hi-end - ultra-reliable HP Superdome 9000 sabobin (gina akan PA-RISC), wanda gaba ɗaya duk abin da aka kwafi: shigarwa / fitarwa subsystems, cibiyar sadarwa, RAM (a zahiri, akwai RAID tsararru na RAM), processors (zafi-swappable). Yana yiwuwa a canza kowane ɓangaren uwar garken ba tare da dakatar da injin ba. Mun dogara da waɗannan na'urori kuma mun ɗauke su kusan ba su da aminci. Tsarin aiki ya kasance tsarin Unix-kamar HP UX.

Amma tun daga shekara ta 2010, wani al'amari ya bayyana wanda ake kira high-frequency trading (HFT), ko kasuwanci mai yawa - kawai sanya, robots musayar hannun jari. A cikin shekaru 2,5 kawai, nauyin da ke kan sabobin mu ya karu sau 140.

Juyin Halitta na gine-gine na tsarin ciniki da sharewa na Moscow Exchange. Kashi na 1

Ba shi yiwuwa a yi tsayayya da irin wannan nauyin tare da tsohuwar gine-gine da kayan aiki. Ya zama dole a daidaita ko ta yaya.

Начало

Ana iya raba buƙatun tsarin musayar zuwa nau'i biyu:

  • Ma'amaloli. Idan kuna son siyan daloli, hannun jari ko wani abu dabam, kuna aika ma'amala zuwa tsarin ciniki kuma ku karɓi amsa game da nasara.
  • Buƙatun bayanai. Idan kuna son gano farashin yanzu, duba littafin oda ko fihirisa, sannan aika buƙatun bayanai.

Juyin Halitta na gine-gine na tsarin ciniki da sharewa na Moscow Exchange. Kashi na 1

A tsari, ana iya raba ainihin tsarin zuwa matakai uku:

  • Matsayin abokin ciniki, wanda dillalai da abokan ciniki ke aiki. Dukkansu suna hulɗa tare da sabar shiga.
  • Sabar Gateway sune sabar caching waɗanda ke aiwatar da duk buƙatun bayanai a cikin gida. Shin kuna son sanin menene farashin hannun jari na Sberbank ke kasuwanci a halin yanzu? Buƙatun yana zuwa uwar garken shiga.
  • Amma idan kuna son siyan hannun jari, to buƙatun na zuwa uwar garken tsakiya (Trade Engine). Akwai irin wannan uwar garken ga kowane nau'in kasuwa, suna taka muhimmiyar rawa, a gare su ne muka kirkiro wannan tsarin.

Tushen tsarin ciniki shine ƙwararrun bayanai na ƙwaƙwalwar ajiya wanda duk ma'amaloli ke yin mu'amala. An rubuta tushe a cikin C, kawai abubuwan dogaro na waje sune ɗakin karatu na libc kuma babu wani ƙayyadaddun ƙwaƙwalwar ajiya kwata-kwata. Don rage lokacin aiki, tsarin yana farawa tare da tsayayyen tsari na tsararru kuma tare da ƙaurawar bayanai: na farko, duk bayanan na yau da kullun ana ɗora su cikin ƙwaƙwalwar ajiya, kuma ba a ƙara samun damar faifai ba, duk aikin ana aiwatar da shi kawai a cikin ƙwaƙwalwar ajiya. Lokacin da tsarin ya fara, duk bayanan bincike an riga an jera su, don haka binciken yana aiki sosai kuma yana ɗaukar ɗan lokaci kaɗan a cikin lokacin aiki. An yi dukkan teburi tare da jeri na kutsawa da bishiyoyi don tsayayyen tsarin bayanai don kada su buƙaci rarraba ƙwaƙwalwar ajiya a lokacin aiki.

Bari mu dan takaita tarihin ci gaban tsarin kasuwancinmu da share fage.
An gina sigar farko ta tsarin gine-ginen ciniki da sharewa akan abin da ake kira hulɗar Unix: an yi amfani da ƙwaƙwalwar ajiya, semaphores da jerin gwano, kuma kowane tsari ya ƙunshi zare ɗaya. Wannan tsarin ya yadu a farkon shekarun 1990.

Sigar farko ta tsarin ta ƙunshi matakai biyu na Ƙofar Gateway da uwar garken tsakiya na tsarin ciniki. Tsarin aikin ya kasance kamar haka:

  • Abokin ciniki ya aika da buƙata, wanda ya isa Ƙofar. Yana bincika ingancin tsarin (amma ba bayanan kanta ba) kuma ya ƙi ma'amaloli da ba daidai ba.
  • Idan an aika buƙatar bayani, ana aiwatar da shi a cikin gida; idan muna magana ne game da ma'amala, to ana tura shi zuwa uwar garken tsakiya.
  • Injin ciniki daga nan yana aiwatar da ma'amala, yana canza ƙwaƙwalwar ajiyar gida, kuma ya aika da martani ga ma'amala da ma'amalar kanta don yin kwafi ta amfani da injin kwafi daban.
  • Ƙofar yana karɓar amsa daga kumburin tsakiya kuma ya tura shi ga abokin ciniki.
  • Bayan wani lokaci, Gateway yana karɓar ma'amala ta hanyar tsarin maimaitawa, kuma a wannan lokacin yana aiwatar da shi a cikin gida, yana canza tsarin bayanansa ta yadda buƙatun bayanai na gaba su nuna sabbin bayanai.

A haƙiƙa, yana bayyana samfurin kwafi wanda Ƙofar ta kwaikwayi gaba ɗaya ayyukan da aka yi a cikin tsarin ciniki. Wata tashar maimaitawa ta daban ta tabbatar da cewa an aiwatar da ma'amaloli a cikin tsari iri ɗaya a kan nodes masu yawa.

Tun da lambar ta kasance mai zaren guda ɗaya, an yi amfani da tsari na yau da kullun tare da cokali mai yatsu don bauta wa abokan ciniki da yawa. Koyaya, yana da tsada sosai don yin cokali mai yatsa gabaɗaya, don haka an yi amfani da matakan sabis masu nauyi waɗanda aka tattara fakiti daga zaman TCP kuma an tura su zuwa layi ɗaya (SystemV Message Queue). Ƙofar Gateway da Injin Kasuwanci sun yi aiki kawai tare da wannan jerin gwano, suna ɗaukar ma'amaloli daga can don aiwatarwa. Ba a sami damar aika amsa zuwa gare shi ba, saboda ba a bayyana ko wane tsarin sabis ya kamata ya karanta ba. Don haka sai muka yi dabara: kowane tsari na cokula ya samar da layin amsa don kansa, kuma lokacin da buƙatu ta shigo cikin layin da ke shigowa, nan da nan aka saka alamar amsa jerin gwano.

Kwafar bayanai akai-akai daga jerin gwano zuwa jerin gwano ya haifar da matsaloli, musamman na buƙatun bayanai. Don haka, mun yi amfani da wata dabara: ban da layin amsa, kowane tsari kuma ya ƙirƙiri ƙwaƙwalwar ajiya (SystemV Shared Memory). An sanya fakitin da kansu a ciki, kuma an adana tag kawai a cikin jerin gwanon, wanda ya ba mutum damar gano ainihin kunshin. Wannan ya taimaka wajen adana bayanai a cikin cache na processor.

SystemV IPC ya haɗa da kayan aiki don duba yanayin layi, ƙwaƙwalwa, da abubuwan semaphore. Mun yi amfani da wannan sosai don fahimtar abin da ke faruwa a cikin tsarin a wani lokaci, inda fakiti suka taru, abin da aka katange, da dai sauransu.

Na farko na zamani

Da farko, mun kawar da Ƙofar tsari guda ɗaya. Babban koma bayansa shine yana iya sarrafa ko dai ma'amalar kwafi ɗaya ko buƙatun bayani ɗaya daga abokin ciniki. Kuma yayin da nauyin ke ƙaruwa, Ƙofar zai ɗauki lokaci mai tsawo don aiwatar da buƙatun kuma ba zai iya aiwatar da kwararar kwafi ba. Bugu da kari, idan abokin ciniki ya aika ma'amala, to kawai kuna buƙatar bincika ingancin sa kuma ku tura shi gaba. Sabili da haka, mun maye gurbin tsarin Ƙofar Ƙofar guda ɗaya tare da abubuwa masu yawa waɗanda za su iya gudana a layi daya: bayanai masu yawa da kuma tsarin ma'amala da ke gudana ba tare da juna ba a kan yankin ƙwaƙwalwar ajiya ta amfani da kulle RW. Kuma a lokaci guda mun gabatar da hanyoyin aikawa da kwafi.

Tasirin Babban Matsalolin Ciniki

Sigar da ke sama na gine-ginen ya kasance har zuwa 2010. A halin yanzu, ba mu gamsu da aikin sabar HP Superdome ba. Bugu da kari, tsarin gine-ginen PA-RISC ya kusan mutu; dillalin bai bayar da wani muhimmin sabuntawa ba. Sakamakon haka, mun fara motsawa daga HP UX/PA RISC zuwa Linux/x86. Canjin ya fara ne tare da daidaitawar sabar shiga.

Me yasa dole mu sake canza gine-gine? Gaskiyar ita ce, ciniki mai girma ya canza mahimmancin bayanin martaba akan tsarin tsarin.

Bari mu ce muna da ƙaramin ciniki wanda ya haifar da canjin farashi mai mahimmanci - wani ya sayi rabin dala biliyan. Bayan miliyoyi biyu, duk mahalarta kasuwa suna lura da wannan kuma su fara yin gyara. A zahiri, buƙatun suna layi a cikin babban layi, wanda tsarin zai ɗauki lokaci mai tsawo don sharewa.

Juyin Halitta na gine-gine na tsarin ciniki da sharewa na Moscow Exchange. Kashi na 1

A wannan tazarar ms 50, matsakaicin gudun shine kusan ma'amaloli dubu 16 a sakan daya. Idan muka rage taga zuwa 20 ms, muna samun matsakaicin saurin 90 dubu ma'amala a sakan daya, tare da ma'amaloli dubu 200 a kololuwa. A wasu kalmomi, nauyin ba ya dawwama, tare da fashe kwatsam. Kuma dole ne koyaushe a sarrafa jerin buƙatun cikin sauri.

Amma me yasa ake yin layi kwata-kwata? Don haka, a cikin misalinmu, yawancin masu amfani sun lura da canjin farashin kuma sun aika ma'amaloli daidai. Suna zuwa Gateway, yana tsara su, saita takamaiman tsari sannan a aika su zuwa hanyar sadarwar. Masu tuƙi suna jujjuya fakitin su tura su. Kunshin wanda ya fara isowa, wannan ma'amala ta "lashe". A sakamakon haka, abokan ciniki na musayar sun fara lura cewa idan an aika irin wannan ma'amala daga Ƙofar ƙofofin da yawa, to, damar yin aiki da sauri ya karu. Ba da daɗewa ba, robobi na musanyawa sun fara yin boma-bomai a Ƙofar Gateway tare da buƙatu, kuma an sami yawaitar hada-hadar kasuwanci.

Juyin Halitta na gine-gine na tsarin ciniki da sharewa na Moscow Exchange. Kashi na 1

Wani sabon zagaye na juyin halitta

Bayan gwaje-gwaje da bincike da yawa, mun canza zuwa kernel na tsarin aiki na ainihi. Don wannan mun zaɓi RedHat Enterprise MRG Linux, inda MRG ke tsaye don saƙon grid na ainihi. Amfanin faci na lokaci-lokaci shine cewa suna haɓaka tsarin don aiwatar da mafi sauri: duk hanyoyin ana jera su a cikin jerin gwano na FIFO, ana iya keɓance maɓalli, babu fitarwa, duk ma'amaloli ana sarrafa su cikin tsari mai ƙarfi.

Juyin Halitta na gine-gine na tsarin ciniki da sharewa na Moscow Exchange. Kashi na 1
Ja - aiki tare da jerin gwano a cikin kwaya na yau da kullun, kore - aiki a cikin kwaya na ainihi.

Amma samun ƙarancin latency akan sabobin na yau da kullun ba abu ne mai sauƙi ba:

  • Yanayin SMI, wanda a cikin gine-ginen x86 shine tushen yin aiki tare da mahimman kayan aiki, yana tsoma baki sosai. Ana aiwatar da kowane nau'in abubuwan da suka faru na hardware da sarrafa abubuwan haɗin gwiwa da na'urori ana yin su ta hanyar firmware a cikin abin da ake kira yanayin SMI na gaskiya, wanda tsarin aiki ba ya ganin abin da firmware ɗin ke yi kwata-kwata. A matsayinka na mai mulki, duk manyan dillalai suna ba da kari na musamman don sabar firmware waɗanda ke ba da damar rage adadin sarrafa SMI.
  • Kada a sami iko mai ƙarfi na mitar mai sarrafawa, wannan yana haifar da ƙarin raguwar lokaci.
  • Lokacin da aka zubar da tsarin fayil ɗin, wasu matakai suna faruwa a cikin kernel waɗanda ke haifar da jinkiri mara tabbas.
  • Kuna buƙatar kula da abubuwa kamar CPU Affinity, Katse dangantaka, NUMA.

Dole ne in faɗi cewa batun kafa kayan aikin Linux da kernel don sarrafa lokaci na ainihi ya cancanci labarin daban. Mun dauki lokaci mai yawa muna gwaji da bincike kafin mu sami sakamako mai kyau.

Lokacin motsawa daga sabobin PA-RISC zuwa x86, a zahiri ba lallai ne mu canza lambar tsarin da yawa ba, kawai mun daidaita kuma mun sake daidaita shi. A lokaci guda, mun gyara kurakurai da yawa. Misali, sakamakon gaskiyar cewa PA RISC babban tsarin endian ne, kuma x86 ya kasance ƙaramin tsarin endian, da sauri ya tashi: alal misali, an karanta bayanan ba daidai ba. Babban kuskuren shine PA RISC ke amfani dashi akai akai (A bi da bi daidai) Samun damar ƙwaƙwalwar ajiya, yayin da x86 na iya sake tsara ayyukan karantawa, don haka lambar da ke da cikakkiyar inganci akan dandamali ɗaya ta karye akan wani.

Bayan canzawa zuwa x86, aikin ya ƙaru kusan ninki uku, matsakaicin lokacin sarrafa ma'amala ya ragu zuwa 60 μs.

Bari yanzu mu dubi waɗannan mahimman canje-canjen da aka yi ga tsarin gine-gine.

Hot ajiyar almara

Lokacin canzawa zuwa sabobin kayayyaki, mun san cewa ba su da aminci. Saboda haka, lokacin ƙirƙirar sabon gine-gine, mu priori mun ɗauka yiwuwar gazawar ɗaya ko fiye nodes. Don haka, ana buƙatar tsarin jiran aiki mai zafi wanda zai iya canjawa da sauri zuwa injinan ajiya.

Bugu da kari, akwai wasu bukatu:

  • Babu wani hali da ya kamata ku rasa sarrafa ma'amaloli.
  • Dole ne tsarin ya zama cikakke ga kayan aikin mu.
  • Abokan ciniki bai kamata su ga wuraren da aka sauke ba.
  • Matsakaicin bai kamata ya gabatar da gagarumin jinkiri ba saboda wannan muhimmin abu ne na musayar.

Lokacin ƙirƙirar tsarin jiran aiki mai zafi, ba mu yi la'akari da irin waɗannan al'amuran kamar gazawar sau biyu ba (alal misali, hanyar sadarwa akan sabar ɗaya ta daina aiki kuma babban uwar garken ya daskare); bai yi la'akari da yiwuwar kurakurai a cikin software ba saboda an gano su yayin gwaji; kuma bai yi la'akari da aikin hardware ba daidai ba.

A sakamakon haka, mun zo ga tsarin mai zuwa:

Juyin Halitta na gine-gine na tsarin ciniki da sharewa na Moscow Exchange. Kashi na 1

  • Babban uwar garken ya yi hulɗa kai tsaye tare da sabar Gateway.
  • Dukkan ma'amaloli da aka samu akan babban uwar garken an yi su nan take zuwa uwar garken ajiyar ta hanyar tashoshi daban. Mai shari’a (Gwamna) ya hada kan sauya shekar idan wata matsala ta taso.

    Juyin Halitta na gine-gine na tsarin ciniki da sharewa na Moscow Exchange. Kashi na 1

  • Babban uwar garken ya sarrafa kowace ma'amala kuma ya jira tabbaci daga uwar garken madadin. Don kiyaye latency zuwa mafi ƙanƙanta, mun guji jira don kammala ma'amala akan sabar madadin. Tun lokacin da aka ɗauki ma'amala don tafiya a cikin hanyar sadarwar ya yi daidai da lokacin aiwatarwa, ba a ƙara jinkiri ba.
  • Za mu iya kawai duba matsayin sarrafa manyan sabar da ma'amala ta baya don ma'amalar da ta gabata, kuma ba a san matsayin sarrafa kasuwancin na yanzu ba. Tun da har yanzu muna amfani da matakai masu zare guda ɗaya, jiran amsa daga Ajiyayyen zai rage saurin aiki gabaɗaya, don haka mun yi sulhu mai ma'ana: mun bincika sakamakon cinikin da ya gabata.

Juyin Halitta na gine-gine na tsarin ciniki da sharewa na Moscow Exchange. Kashi na 1

Shirin ya yi aiki kamar haka.

Bari mu ce babban uwar garken ya daina amsawa, amma Ƙofar ta ci gaba da sadarwa. Lokaci ya ƙare akan uwar garken ajiya, yana tuntuɓar Gwamna, wanda ya ba ta aikin babbar uwar garken, kuma duk Ƙofar Gateway ya canza zuwa sabuwar babbar uwar garken.

Idan babban uwar garken ya dawo kan layi, hakanan yana haifar da ƙarewar cikin gida, saboda babu wani kira zuwa uwar garken daga Ƙofar zuwa wani ɗan lokaci. Sannan kuma ya koma ga Gwamna, ya cire shi daga wannan makirci. A sakamakon haka, musayar yana aiki tare da uwar garken guda ɗaya har zuwa ƙarshen lokacin ciniki. Tun da yuwuwar gazawar uwar garken ya yi ƙasa kaɗan, an ɗauki wannan makircin abin karɓa sosai; bai ƙunshi dabaru masu rikitarwa ba kuma yana da sauƙin gwadawa.

Don ci gaba.

source: www.habr.com

Add a comment