Kusintha kwa kamangidwe ka malonda ndi kuyeretsa dongosolo la Moscow Exchange. Gawo 1

Kusintha kwa kamangidwe ka malonda ndi kuyeretsa dongosolo la Moscow Exchange. Gawo 1

Moni nonse! Dzina langa ndi Sergey Kostanbaev, pa Kusinthanitsa ndikupanga maziko a malonda.

Pamene mafilimu a Hollywood amasonyeza New York Stock Exchange, nthawi zonse amawoneka motere: makamu a anthu, aliyense akufuula chinachake, akugwedeza mapepala, chisokonezo chonse chikuchitika. Izi sizinachitikepo pano ku Moscow Exchange, chifukwa malonda apangidwa pakompyuta kuyambira pachiyambi ndipo amachokera pa nsanja ziwiri zazikulu - Spectra (msika wa forex) ndi ASTS (kusinthanitsa kwakunja, msika ndi msika wa ndalama). Ndipo lero ndikufuna kulankhula za kusinthika kwa kamangidwe ka ASTS malonda ndi kuyeretsa dongosolo, za mayankho osiyanasiyana ndi kupeza. Nkhaniyi idzakhala yaitali, choncho ndinayenera kuigawa m'magawo awiri.

Ndife amodzi mwa osinthana ochepa padziko lonse lapansi omwe amagulitsa katundu wamagulu onse ndikupereka ntchito zosiyanasiyana zosinthira. Mwachitsanzo, chaka chatha tidakhala pa nambala yachiwiri padziko lonse lapansi potengera kuchuluka kwa malonda a bondi, malo a 25 pakati pa masitayilo onse, malo a 13 pazachuma pakati pa anthu onse.

Kusintha kwa kamangidwe ka malonda ndi kuyeretsa dongosolo la Moscow Exchange. Gawo 1

Kwa akatswiri ochita nawo malonda, magawo monga nthawi yoyankha, kukhazikika kwa nthawi yogawa (jitter) ndi kudalirika kwa zovuta zonse ndizofunikira. Pakali pano tikuchita mamiliyoni a zochitika patsiku. Kukonzekera kwa malonda aliwonse ndi kernel ya dongosolo kumatenga makumi a ma microseconds. Zoonadi, ogwiritsira ntchito mafoni pa Chaka Chatsopano kapena injini zosaka zili ndi ntchito zambiri kuposa zathu, koma ponena za kuchuluka kwa ntchito, kuphatikizapo makhalidwe omwe tawatchula pamwambapa, ochepa angafanane ndi ife, zikuwoneka kwa ine. Nthawi yomweyo, ndikofunikira kwa ife kuti dongosololi lisachedwe kwa mphindi imodzi, limagwira ntchito mokhazikika, ndipo ogwiritsa ntchito onse ali ofanana.

Mbiri yochepa

Mu 1994, dongosolo la ASTS la Australia linayambika pa Moscow Interbank Currency Exchange (MICEX), ndipo kuyambira nthawi imeneyo mbiri ya Russia ya malonda a zamagetsi ikhoza kuwerengedwa. Mu 1998, zomanga zosinthira zidasinthidwa kuti ayambitse malonda pa intaneti. Kuyambira nthawi imeneyo, kuthamanga kwa njira zothetsera mavuto atsopano ndi kusintha kwa zomangamanga m'machitidwe onse ndi ma subsystems kwakhala kukukulirakulira.

M'zaka zimenezo, makina osinthira ankagwira ntchito pazida zapamwamba - ma seva odalirika kwambiri a HP Superdome 9000 (omangidwa pa PA-RISC), momwe mwamtheradi zonse zidapangidwanso: zolowetsa / zotulutsa, maukonde, RAM (kwenikweni, panali gulu la RAID la RAM), ma processor (otentha-swappable). Zinali zotheka kusintha gawo lililonse la seva popanda kuyimitsa makina. Tinkadalira zipangizozi ndipo tinkaziona ngati zolephera. Makina ogwiritsira ntchito anali makina a Unix ngati HP UX.

Koma kuyambira cha m'ma 2010, chinthu china chadziwika chotchedwa high-frequency trading (HFT), kapena malonda othamanga kwambiri - mophweka, maloboti osinthanitsa masheya. M'zaka 2,5 zokha, katundu pa maseva athu awonjezeka nthawi 140.

Kusintha kwa kamangidwe ka malonda ndi kuyeretsa dongosolo la Moscow Exchange. Gawo 1

Zinali zosatheka kupirira katundu wotero ndi zomangamanga zakale ndi zipangizo. Zinali zofunikira kuti mwanjira ina ndisinthe.

Kunyumba

Zopempha ku kachitidwe kakusinthana zitha kugawidwa m'mitundu iwiri:

  • Zochita. Ngati mukufuna kugula madola, magawo kapena china chake, mumatumiza malonda ku dongosolo la malonda ndi kulandira yankho la kupambana.
  • Zopempha zambiri. Ngati mukufuna kudziwa mtengo wamakono, onani buku la oda kapena ma indices, kenako tumizani zofunsira.

Kusintha kwa kamangidwe ka malonda ndi kuyeretsa dongosolo la Moscow Exchange. Gawo 1

Mwadongosolo, pachimake pa dongosolo akhoza kugawidwa m'magulu atatu:

  • Mulingo wamakasitomala, pomwe ma broker ndi makasitomala amagwira ntchito. Onse amalumikizana ndi ma seva olowera.
  • Ma seva a Gateway ndi ma seva osungira omwe amayang'anira zonse zomwe akufunsa. Kodi mukufuna kudziwa kuti magawo a Sberbank akugulitsa pati? Pempho likupita ku seva yofikira.
  • Koma ngati mukufuna kugula magawo, ndiye pempholo limapita ku seva yapakati (Trade Engine). Pali seva imodzi yotere pamtundu uliwonse wamsika, imakhala ndi gawo lofunikira, ndi kwa iwo omwe tidapanga dongosolo ili.

Pakatikati pa dongosolo lazamalonda ndidawuniyamu yanzeru mu-memory momwe zochitika zonse zimasinthirana. Maziko adalembedwa mu C, zodalira zakunja zokha zinali laibulale ya libc ndipo panalibe kugawika kwa kukumbukira konse. Kuchepetsa nthawi yokonza, dongosolo limayamba ndi static arrays ndi ndi static data relocation: choyamba, deta yonse ya tsiku lamakono imakwezedwa kukumbukira, ndipo palibenso disk access ikuchitika, ntchito zonse zimachitika kukumbukira. Dongosolo likayamba, zidziwitso zonse zasanjidwa kale, kotero kusaka kumagwira ntchito bwino kwambiri ndipo kumatenga nthawi yochepa. Matebulo onse amapangidwa ndi mindandanda yosokoneza komanso mitengo yamagulu osinthika a data kuti asafune kugawa kukumbukira panthawi yothamanga.

Tiyeni tikambirane mwachidule mbiri ya chitukuko cha malonda athu ndi kukonza dongosolo.
Njira yoyamba yopangira malonda ndi kukonza dongosolo la zomangamanga inamangidwa pa zomwe zimatchedwa kuti Unix kuyanjana: kukumbukira kugawana, semaphores ndi mizere inagwiritsidwa ntchito, ndipo ndondomeko iliyonse inali ndi ulusi umodzi. Njira imeneyi inali yofala kwambiri kumayambiriro kwa zaka za m’ma 1990.

Mtundu woyamba wa dongosololi unali ndi magawo awiri a Gateway ndi seva yapakati pazamalonda. Njira ya ntchito inali motere:

  • Wogula amatumiza pempho, lomwe limafika pa Gateway. Imayang'ana kutsimikizika kwa mawonekedwe (koma osati deta yokha) ndikukana zochitika zolakwika.
  • Ngati pempho lachidziwitso latumizidwa, limachitidwa kwanuko; ngati tikukamba za malonda, ndiye kuti amatumizidwa ku seva yapakati.
  • Injini yogulitsirayo imayendetsa zomwe zikuchitika, imasintha kukumbukira kwanuko, ndikutumiza yankho ku zomwe zachitikazo ndikubwereza komweko kuti kubwerezenso pogwiritsa ntchito injini yobwereza.
  • The Gateway imalandira yankho kuchokera ku node yapakati ndikutumiza kwa kasitomala.
  • Patapita nthawi, Gateway imalandira zochitikazo kudzera mu makina obwerezabwereza, ndipo nthawi ino amazichita m'deralo, kusintha mapangidwe ake a deta kuti zidziwitso zotsatila ziwonetsere deta yatsopano.

M'malo mwake, limafotokoza fanizo lobwereza momwe Gateway adafotokozeranso zomwe zidachitika munjira yamalonda. Njira ina yobwerezabwereza inatsimikizira kuti zochitikazo zinkachitika mofanana m'malo angapo olowera.

Popeza kuti code inali ya ulusi umodzi, ndondomeko yachikale yokhala ndi mafoloko a ndondomeko idagwiritsidwa ntchito potumikira makasitomala ambiri. Komabe, zinali zokwera mtengo kwambiri kufota nkhokwe yonse, kotero njira zochepetsera ntchito zinagwiritsidwa ntchito zomwe zinasonkhanitsa mapaketi kuchokera ku magawo a TCP ndikuwasamutsira pamzere umodzi (SystemV Message Queue). Gateway ndi Trade Engine zinagwira ntchito ndi mzerewu, kutenga zochitika kuchokera kumeneko kuti zichitike. Sizinali zotheka kutumiza yankho kwa izo, chifukwa sizinali zomveka bwino ndondomeko ya utumiki yomwe iyenera kuiwerenga. Chifukwa chake tidagwiritsa ntchito chinyengo: njira iliyonse yophatikizika idapanga mzere woyankhira wokha, ndipo pempho litalowa pamzere womwe ukubwera, chizindikiro chamzere woyankhidwa chidawonjezedwa pamenepo.

Kukopera kuchuluka kwa data kuchokera pamzere kupita pamzere nthawi zonse kumabweretsa zovuta, makamaka zomwe zimafanana ndi zomwe mukufuna kudziwa. Chifukwa chake, tidagwiritsa ntchito chinyengo china: kuphatikiza pamzere wamayankhidwe, njira iliyonse idapanganso kukumbukira kogawana (SystemV Shared Memory). Maphukusiwo anaikidwa mmenemo, ndipo chizindikiro chokhacho chinasungidwa pamzere, kulola munthu kupeza phukusi loyambirira. Izi zidathandizira kusunga deta mu cache ya purosesa.

SystemV IPC imaphatikizapo zida zowonera mizere, kukumbukira, ndi zinthu za semaphore. Tidagwiritsa ntchito izi kuti timvetsetse zomwe zikuchitika mudongosolo panthawi inayake, pomwe mapaketi adasonkhanitsidwa, zomwe zidatsekedwa, ndi zina zambiri.

Zoyamba zamakono

Choyamba, tinachotsa Chipata cha njira imodzi. Choyipa chake chachikulu chinali chakuti imatha kuthana ndi kubwereza kumodzi kapena pempho limodzi lochokera kwa kasitomala. Ndipo katunduyo akamakula, Gateway idzatenga nthawi yayitali kuti ikwaniritse zopempha ndipo sichidzatha kubwereza kubwereza. Kuphatikiza apo, ngati kasitomala atumiza kugulitsa, ndiye kuti muyenera kungoyang'ana kutsimikizika kwake ndikupititsa patsogolo. Chifukwa chake, tidasinthiratu njira imodzi ya Gateway ndi zigawo zingapo zomwe zimatha kuyenderera: zidziwitso zamitundu yambiri ndi njira zogulitsira zomwe zikuyenda mosagwirizana wina ndi mnzake pagawo lokumbukira lomwe adagawana pogwiritsa ntchito kutseka kwa RW. Ndipo nthawi yomweyo tinayambitsa njira zotumizira ndi kubwerezabwereza.

Impact of High Frequency Trading

Zomangamanga zapamwambazi zidalipo mpaka 2010. Pakadali pano, sitinakhutitsidwenso ndi magwiridwe antchito a maseva a HP Superdome. Kuphatikiza apo, zomangamanga za PA-RISC zinali zitafa; wogulitsa sanapereke zosintha zilizonse. Zotsatira zake, tinayamba kuchoka ku HP UX/PA RISC kupita ku Linux/x86. Kusinthako kunayamba ndi kusintha kwa ma seva ofikira.

N’chifukwa chiyani tinafunika kusinthanso kamangidwe kake? Chowonadi ndi chakuti malonda othamanga kwambiri asintha kwambiri mbiri yolemetsa pa core system.

Tiyerekeze kuti tili ndi ntchito yaying'ono yomwe idapangitsa kusintha kwakukulu kwamtengo - wina adagula theka la madola biliyoni. Pambuyo pa ma milliseconds angapo, onse omwe akuchita nawo msika amazindikira izi ndikuyamba kukonza. Mwachilengedwe, zopempha zimakhazikika pamzere waukulu, womwe dongosololi litenga nthawi yayitali kuti lichotse.

Kusintha kwa kamangidwe ka malonda ndi kuyeretsa dongosolo la Moscow Exchange. Gawo 1

Panthawi imeneyi ya 50 ms, liwiro lapakati ndi pafupifupi 16 pa sekondi iliyonse. Ngati tichepetsa zenera ku 20 ms, timapeza liwiro lapakati pa 90 pa sekondi imodzi, ndi 200 zochitika pachimake. Mwa kuyankhula kwina, katunduyo siwokhazikika, ndi kuphulika kwadzidzidzi. Ndipo mzere wa zopempha uyenera kukonzedwa mwachangu nthawi zonse.

Koma n'chifukwa chiyani pali mzere? Chifukwa chake, mu chitsanzo chathu, ogwiritsa ntchito ambiri adawona kusintha kwamitengo ndikutumiza zochitika molingana. Amabwera ku Gateway, amawasintha, amakhazikitsa dongosolo linalake ndikutumiza ku netiweki. Ma routers amasakaniza mapaketiwo ndikuwapititsa patsogolo. Yemwe phukusi lidafika koyamba, malondawo "adapambana". Chotsatira chake, makasitomala osinthanitsa anayamba kuzindikira kuti ngati ntchito yomweyi inatumizidwa kuchokera ku Gateways angapo, ndiye kuti mwayi wokonzekera mofulumira unakula. Posakhalitsa, maloboti osinthanitsa adayamba kuwononga Gateway ndi zopempha, ndipo kuchuluka kwazinthu kudayamba.

Kusintha kwa kamangidwe ka malonda ndi kuyeretsa dongosolo la Moscow Exchange. Gawo 1

Chisinthiko chatsopano

Pambuyo poyesa ndi kufufuza kwakukulu, tidasinthira ku kernel yogwiritsira ntchito nthawi yeniyeni. Pazimenezi tidasankha RedHat Enterprise MRG Linux, pomwe MRG imayimira gridi yanthawi yeniyeni. Ubwino wa zigamba zenizeni ndikuti amawongolera dongosolo kuti achite mwachangu kwambiri: njira zonse zimatsatiridwa pamzere wa FIFO, ma cores amatha kupatulidwa, osatulutsa, zochitika zonse zimakonzedwa motsatana.

Kusintha kwa kamangidwe ka malonda ndi kuyeretsa dongosolo la Moscow Exchange. Gawo 1
Chofiira - kugwira ntchito ndi mzere mu kernel wokhazikika, wobiriwira - kugwira ntchito mu kernel yeniyeni.

Koma kupeza latency yotsika pamaseva wamba sikophweka:

  • Mawonekedwe a SMI, omwe muzomangamanga za x86 ndiye maziko ogwirira ntchito ndi zotumphukira zofunika, amasokoneza kwambiri. Kukonza mitundu yonse ya zochitika za hardware ndi kasamalidwe ka zigawo ndi zipangizo zimachitidwa ndi firmware muzomwe zimatchedwa transparent SMI mode, momwe opareshoni sakuwona zomwe firmware ikuchita nkomwe. Monga lamulo, ogulitsa onse akuluakulu amapereka zowonjezera zapadera za ma seva a firmware omwe amalola kuchepetsa kuchuluka kwa SMI processing.
  • Sipayenera kukhala kuwongolera kwamphamvu kwa purosesa pafupipafupi, izi zimabweretsa kutsika kowonjezera.
  • Logi yamafayilo ikatsitsidwa, njira zina zimachitika mu kernel zomwe zimayambitsa kuchedwa kosayembekezereka.
  • Muyenera kulabadira zinthu monga CPU Affinity, Kusokoneza ubale, NUMA.

Ndiyenera kunena kuti mutu wakukhazikitsa zida za Linux ndi kernel pakukonza zenizeni uyenera kukhala ndi nkhani ina. Tinakhala nthawi yochuluka kuyesa ndikufufuza tisanapeze zotsatira zabwino.

Titachoka ku maseva a PA-RISC kupita ku x86, sitinafunikire kusintha kachidindo kake, tidangosintha ndikuyikonzanso. Nthawi yomweyo, tinakonza zolakwika zingapo. Mwachitsanzo, zotsatira za mfundo yakuti PA RISC inali Big endian system, ndipo x86 inali dongosolo laling'ono la endian, linawonekera mwamsanga: mwachitsanzo, deta inawerengedwa molakwika. Choyipa chachikulu chinali choti PA RISC imagwiritsa ntchito mosasinthasintha (Zosasinthasintha) kukumbukira, pomwe x86 imatha kukonzanso zowerengera, kotero kuti code yomwe inali yovomerezeka papulatifomu ina idasweka pa ina.

Pambuyo posinthira ku x86, magwiridwe antchito adakwera pafupifupi katatu, nthawi yapakati yogulitsira idatsika mpaka 60 ΞΌs.

Tiyeni tsopano tiyang'ane mwatsatanetsatane kusintha kwakukulu komwe kwapangidwa ku kamangidwe ka dongosolo.

Hot reserve epic

Pamene tikusintha ku maseva azinthu, tinkadziwa kuti anali odalirika kwambiri. Chifukwa chake, popanga zomanga zatsopano, ife a priori tinkaganiza kuti mwina kulephera kwa node imodzi kapena zingapo. Chifukwa chake, makina oyimilira otentha amafunikira omwe amatha kusintha mwachangu makina osungira.

Kuphatikiza apo, panali zofunikira zina:

  • Mulimonsemo musataye zochitika zomwe zakonzedwa.
  • Dongosololi liyenera kukhala lowonekeratu pazomangamanga zathu.
  • Makasitomala sayenera kuwona maulumikizidwe akugwa.
  • Kusungitsa malo sikuyenera kuyambitsa kuchedwa kwambiri chifukwa ichi ndi chinthu chofunikira kwambiri pakusinthanitsa.

Popanga makina oyimilira otentha, sitinaganizire zochitika ngati zolephera kawiri (mwachitsanzo, netiweki pa seva imodzi idasiya kugwira ntchito ndipo seva yayikulu idayima); sanaganizire za kuthekera kwa zolakwika mu pulogalamuyo chifukwa zimadziwika pakuyesedwa; ndipo sanaganizire ntchito yolakwika ya hardware.

Chifukwa chake, tidafika ku dongosolo ili:

Kusintha kwa kamangidwe ka malonda ndi kuyeretsa dongosolo la Moscow Exchange. Gawo 1

  • Seva yayikulu idalumikizana mwachindunji ndi ma seva a Gateway.
  • Zochita zonse zomwe zidalandiridwa pa seva yayikulu zidatsitsidwa nthawi yomweyo ku seva yosunga zobwezeretsera kudzera panjira ina. Woweruzayo (Governor) adagwirizanitsa kusinthana ngati pali vuto lililonse.

    Kusintha kwa kamangidwe ka malonda ndi kuyeretsa dongosolo la Moscow Exchange. Gawo 1

  • Seva yayikulu idakonza chilichonse ndikudikirira chitsimikiziro kuchokera ku seva yosunga zobwezeretsera. Kuti tichepetse kuchedwa, tinapewa kudikirira kuti ntchitoyo ithe pa seva yosunga zobwezeretsera. Popeza nthawi yomwe idatenga kuti malonda ayende pa netiweki inali yofanana ndi nthawi yakupha, palibe latency yowonjezera yomwe idawonjezeredwa.
  • Titha kungoyang'ana momwe ma seva akuluakulu ndi osunga zobwezeretsera adachitira kale, ndipo momwe ntchitoyo idasinthira sikudziwika. Popeza tinkagwiritsabe ntchito njira zopangira ulusi umodzi, kuyembekezera yankho kuchokera ku Backup kukanachedwetsa kayendetsedwe kake kachitidwe, kotero tinapanga mgwirizano womveka: tinayang'ana zotsatira za zomwe zachitika kale.

Kusintha kwa kamangidwe ka malonda ndi kuyeretsa dongosolo la Moscow Exchange. Gawo 1

Chiwembucho chinagwira ntchito motere.

Tinene kuti seva yayikulu ikusiya kuyankha, koma Gateways akupitilizabe kulumikizana. Kutha kwa nthawi kumachitika pa seva yosunga zobwezeretsera, imalumikizana ndi Bwanamkubwa, yemwe amamupatsa udindo wa seva yayikulu, ndipo Gateways onse asinthira ku seva yayikulu yatsopano.

Ngati seva yaikulu ibwereranso pa intaneti, imayambitsanso nthawi yopuma mkati, chifukwa sipanakhalepo mafoni ku seva kuchokera ku Gateway kwa nthawi inayake. Kenako nayenso akutembenukira kwa Bwanamkubwa, ndipo amamuchotsa pa chiwembucho. Zotsatira zake, kusinthanitsa kumagwira ntchito ndi seva imodzi mpaka kumapeto kwa nthawi yamalonda. Popeza mwayi wa kulephera kwa seva ndi wotsika kwambiri, chiwembuchi chinkawoneka chovomerezeka; chinalibe malingaliro ovuta ndipo chinali chosavuta kuyesa.

Zipitilizidwa.

Source: www.habr.com

Kuwonjezera ndemanga