Itankalẹ ti faaji ti iṣowo ati eto imukuro ti Moscow Exchange. Apa 1

Itankalẹ ti faaji ti iṣowo ati eto imukuro ti Moscow Exchange. Apa 1

Bawo ni gbogbo eniyan! Orukọ mi ni Sergey Kostanbaev, ni Exchange Mo n ṣe idagbasoke ipilẹ ti eto iṣowo naa.

Nigbati awọn fiimu Hollywood ṣe afihan Iṣowo Iṣowo New York, o nigbagbogbo dabi eyi: ọpọlọpọ eniyan, gbogbo eniyan n pariwo ohun kan, fifun awọn iwe, rudurudu pipe n ṣẹlẹ. Eyi ko tii ṣẹlẹ nibi lori Exchange Moscow, nitori iṣowo ti ṣe ni itanna lati ibẹrẹ ati pe o da lori awọn iru ẹrọ akọkọ meji - Spectra (ọja forex) ati ASTS (paṣipaarọ ajeji, ọja iṣura ati ọja owo). Ati loni Mo fẹ lati sọrọ nipa itankalẹ ti faaji ti iṣowo ASTS ati eto imukuro, nipa ọpọlọpọ awọn solusan ati awọn awari. Itan naa yoo gun, nitorina ni mo ni lati ya si awọn ẹya meji.

A jẹ ọkan ninu awọn paṣipaarọ diẹ ni agbaye ti o ta awọn ohun-ini ti gbogbo awọn kilasi ati pese awọn iṣẹ paṣipaarọ ni kikun. Fun apẹẹrẹ, ni ọdun to kọja a ni ipo keji ni agbaye ni awọn ofin ti iwọn iṣowo mnu, aaye 25th laarin gbogbo awọn paṣipaarọ ọja, aaye 13th ni capitalization laarin awọn paṣipaarọ gbogbo eniyan.

Itankalẹ ti faaji ti iṣowo ati eto imukuro ti Moscow Exchange. Apa 1

Fun awọn alabaṣepọ iṣowo ọjọgbọn, iru awọn aye bi akoko idahun, iduroṣinṣin ti pinpin akoko (jitter) ati igbẹkẹle ti gbogbo eka jẹ pataki. Lọwọlọwọ a ṣe ilana mewa ti awọn miliọnu awọn iṣowo fun ọjọ kan. Ṣiṣẹda iṣowo kọọkan nipasẹ ekuro eto gba awọn mewa ti microseconds. Nitoribẹẹ, awọn oniṣẹ ẹrọ alagbeka ni Efa Ọdun Titun tabi awọn ẹrọ wiwa funrara wọn ni iṣẹ ṣiṣe ti o ga ju tiwa lọ, ṣugbọn ni awọn ofin iṣẹ ṣiṣe, pẹlu awọn abuda ti a mẹnuba loke, diẹ le ṣe afiwe pẹlu wa, o dabi si mi. Ni akoko kanna, o ṣe pataki fun wa pe eto naa ko fa fifalẹ fun iṣẹju kan, ṣiṣẹ ni iduroṣinṣin, ati pe gbogbo awọn olumulo wa ni ẹsẹ dogba.

Itan kekere kan

Ni ọdun 1994, eto ASTS ti ilu Ọstrelia ti ṣe ifilọlẹ lori Iṣowo Iṣowo Interbank Moscow (MICEX), ati pe lati akoko yẹn itan-akọọlẹ Russia ti iṣowo itanna ni a le ka. Ni ọdun 1998, ile-iṣọrọ paṣipaarọ ti di olaju lati ṣafihan iṣowo Intanẹẹti. Lati igbanna, iyara imuse ti awọn solusan tuntun ati awọn ayipada ayaworan ni gbogbo awọn eto ati awọn eto abẹlẹ ti n ni ipa nikan.

Ni awọn ọdun wọnyẹn, eto paṣipaarọ ṣiṣẹ lori ohun elo hi-opin - awọn olupin HP Superdome 9000 ti o gbẹkẹle (ti a ṣe lori PA-RISC), ninu eyiti Egba ohun gbogbo ti a pidánpidán: input / o wu subsystems, nẹtiwọki, Ramu (ni o daju, nibẹ je kan igbogun ti Ramu), nse (gbona-swappable). O ṣee ṣe lati yi paati olupin eyikeyi pada laisi idaduro ẹrọ naa. A gbarale awọn ẹrọ wọnyi a si ka wọn pe o kuna-ailewu. Awọn ọna ẹrọ je a Unix-bi HP UX eto.

Ṣugbọn lati ọdun 2010, iṣẹlẹ kan ti farahan ti a npe ni iṣowo-igbohunsafẹfẹ giga (HFT), tabi iṣowo-igbohunsafẹfẹ giga - ni irọrun, awọn roboti paṣipaarọ ọja. Ni awọn ọdun 2,5 nikan, ẹru lori awọn olupin wa ti pọ si awọn akoko 140.

Itankalẹ ti faaji ti iṣowo ati eto imukuro ti Moscow Exchange. Apa 1

Ko ṣee ṣe lati koju iru ẹru bẹ pẹlu faaji atijọ ati ohun elo. O je pataki lati bakan orisirisi.

Начало

Awọn ibeere si eto paṣipaarọ le pin si awọn oriṣi meji:

  • Awọn iṣowo. Ti o ba fẹ ra awọn dọla, awọn ipin tabi nkan miiran, o firanṣẹ idunadura kan si eto iṣowo ati gba esi nipa aṣeyọri.
  • Awọn ibeere alaye. Ti o ba fẹ wa idiyele lọwọlọwọ, wo iwe aṣẹ tabi awọn atọka, lẹhinna firanṣẹ awọn ibeere alaye.

Itankalẹ ti faaji ti iṣowo ati eto imukuro ti Moscow Exchange. Apa 1

Sikematiki, ipilẹ ti eto le pin si awọn ipele mẹta:

  • Ipele alabara, eyiti awọn alagbata ati awọn alabara ṣiṣẹ. Gbogbo wọn nlo pẹlu awọn olupin wiwọle.
  • Awọn olupin ẹnu-ọna jẹ awọn olupin caching ti o ṣe ilana gbogbo awọn ibeere alaye ni agbegbe. Ṣe o fẹ lati mọ kini idiyele awọn mọlẹbi Sberbank ti n ṣowo lọwọlọwọ ni? Ibeere naa lọ si olupin wiwọle.
  • Ṣugbọn ti o ba fẹ ra awọn ipin, lẹhinna ibeere naa lọ si olupin aringbungbun (Iṣowo Iṣowo). Iru olupin kan wa fun iru ọja kọọkan, wọn ṣe ipa pataki, o jẹ fun wọn pe a ṣẹda eto yii.

Awọn ifilelẹ ti awọn iṣowo eto ni a onilàkaye ni-iranti database ninu eyi ti gbogbo awọn lẹkọ wa ni paṣipaarọ lẹkọ. A ti kọ ipilẹ ni C, awọn igbẹkẹle ita nikan ni ile-ikawe libc ati pe ko si ipin iranti iranti ti o ni agbara rara. Lati dinku akoko sisẹ, eto naa bẹrẹ pẹlu eto aimi ti awọn ọna ati pẹlu iṣipopada data aimi: akọkọ, gbogbo data fun ọjọ ti o wa lọwọlọwọ ni a kojọpọ sinu iranti, ati pe ko si iwọle disiki siwaju sii, gbogbo iṣẹ ni a ṣe ni iranti nikan. Nigbati eto ba bẹrẹ, gbogbo data itọkasi ti wa tẹlẹ lẹsẹsẹ, nitorinaa wiwa ṣiṣẹ daradara ati gba akoko diẹ ni akoko asiko. Gbogbo awọn tabili ni a ṣe pẹlu awọn atokọ intrusive ati awọn igi fun awọn ẹya data ti o ni agbara ki wọn ko nilo ipin iranti ni akoko asiko.

Jẹ ki a lọ ni ṣoki lori itan-akọọlẹ ti idagbasoke ti iṣowo ati eto imukuro wa.
Ẹya akọkọ ti iṣowo ati fifisilẹ eto faaji ni a ṣe lori eyiti a pe ni ibaraenisepo Unix: iranti pinpin, awọn semaphores ati awọn ila ni a lo, ati ilana kọọkan ni okun kan. Ọna yii jẹ ibigbogbo ni ibẹrẹ awọn ọdun 1990.

Ẹya akọkọ ti eto naa ni awọn ipele meji ti Gateway ati olupin aringbungbun ti eto iṣowo naa. Sisan iṣẹ naa dabi eyi:

  • Onibara firanṣẹ ibeere kan, eyiti o de ẹnu-ọna. O ṣe ayẹwo idiyele ti ọna kika (ṣugbọn kii ṣe data funrararẹ) ati kọ awọn iṣowo ti ko tọ.
  • Ti o ba ti firanṣẹ ibeere alaye kan, o ti ṣiṣẹ ni agbegbe; ti a ba n sọrọ nipa idunadura kan, lẹhinna o jẹ darí si olupin aringbungbun.
  • Ẹrọ iṣowo lẹhinna ṣe ilana iṣowo naa, ṣe atunṣe iranti agbegbe, o si fi esi ranṣẹ si idunadura naa ati idunadura naa funrararẹ fun atunṣe nipa lilo ẹrọ atunṣe ọtọtọ.
  • Ẹnu-ọna gba idahun lati inu ipade aarin ati firanṣẹ siwaju si alabara.
  • Lẹhin akoko diẹ, Ẹnu-ọna gba idunadura naa nipasẹ ẹrọ isọdọtun, ati ni akoko yii o ṣiṣẹ ni agbegbe, yiyipada awọn ẹya data rẹ ki awọn ibeere alaye atẹle yoo ṣafihan data tuntun.

Ni otitọ, o ṣe apejuwe awoṣe atunṣe ninu eyiti Gateway ṣe atunṣe patapata awọn iṣe ti a ṣe ni eto iṣowo. Ikanni isọdọtun lọtọ ṣe idaniloju pe a ṣe awọn iṣowo ni aṣẹ kanna kọja awọn apa iwọle lọpọlọpọ.

Niwọn igba ti koodu naa jẹ asapo ẹyọkan, ero Ayebaye kan pẹlu awọn orita ilana ni a lo lati sin ọpọlọpọ awọn alabara. Bibẹẹkọ, o jẹ gbowolori pupọ lati orita gbogbo data data, nitorinaa awọn ilana iṣẹ iwuwo fẹẹrẹ ni a lo ti o gba awọn apo-iwe lati awọn akoko TCP ati gbe wọn lọ si isinyi kan (SystemV Message Queue). Gateway ati Trade Engine ṣiṣẹ nikan pẹlu isinyi yii, mu awọn iṣowo lati ibẹ fun ipaniyan. Ko ṣee ṣe lati fi esi ranṣẹ si i, nitori ko ṣe afihan iru ilana iṣẹ yẹ ki o ka. Nitorinaa a bẹrẹ si ẹtan kan: ilana orita kọọkan ṣẹda isinyi idahun fun ararẹ, ati nigbati ibeere kan wa sinu isinyi ti nwọle, aami kan fun isinyi idahun ti fi kun lẹsẹkẹsẹ.

Didaakọ data lọpọlọpọ nigbagbogbo lati isinyi si isinyi ṣẹda awọn iṣoro, paapaa aṣoju fun awọn ibeere alaye. Nitorinaa, a lo ẹtan miiran: ni afikun si isinyi idahun, ilana kọọkan tun ṣẹda iranti pinpin (SystemV Pipin Memory). Awọn idii funrararẹ ni a gbe sinu rẹ, ati pe aami kan nikan ni a fipamọ sinu isinyi, ti o jẹ ki ẹnikan wa package atilẹba. Eyi ṣe iranlọwọ lati tọju data sinu kaṣe ero isise.

SystemV IPC pẹlu awọn ohun elo fun wiwo ipo ti isinyi, iranti, ati awọn nkan semaphore. A lo eyi ni itara lati ni oye ohun ti n ṣẹlẹ ninu eto ni akoko kan pato, nibiti awọn akopọ ti ṣajọpọ, kini ti dina, ati bẹbẹ lọ.

Awọn imudojuiwọn akọkọ

Ni akọkọ, a yọkuro kuro ni Ẹnu-ọna-ilana kan ṣoṣo. Aṣiṣe pataki rẹ ni pe o le mu boya idunadura ẹda kan tabi ibeere alaye kan lati ọdọ alabara kan. Ati pe bi ẹru naa ṣe n pọ si, Gateway yoo gba to gun lati ṣe ilana awọn ibeere ati pe kii yoo ni anfani lati ṣe ilana sisan ẹda. Ni afikun, ti alabara ba firanṣẹ idunadura kan, lẹhinna o nilo lati ṣayẹwo iwulo rẹ ati firanṣẹ siwaju siwaju. Nitorinaa, a rọpo ilana Ẹnu-ọna kan ṣoṣo pẹlu awọn paati pupọ ti o le ṣiṣẹ ni afiwe: alaye ti ọpọlọpọ-asapo ati awọn ilana idunadura nṣiṣẹ ni ominira ti ara wọn lori agbegbe iranti ti o pin nipa lilo titiipa RW. Ati ni akoko kanna a ṣe afihan fifiranṣẹ ati awọn ilana atunṣe.

Ipa ti Iṣowo Igbohunsafẹfẹ giga

Ẹya ti o wa loke ti faaji wa titi di ọdun 2010. Nibayi, a ko ni itẹlọrun pẹlu iṣẹ ti awọn olupin HP Superdome. Ni afikun, faaji PA-RISC ti fẹrẹ ku; ataja ko funni ni awọn imudojuiwọn pataki eyikeyi. Bi abajade, a bẹrẹ lati gbe lati HP UX/PA RISC si Linux / x86. Iyipada naa bẹrẹ pẹlu isọdọtun ti awọn olupin wiwọle.

Kini idi ti a ni lati yi ile-iṣọ pada lẹẹkansi? Otitọ ni pe iṣowo-igbohunsafẹfẹ giga ti yipada profaili fifuye ni pataki lori ipilẹ eto.

Jẹ ki a sọ pe a ni iṣowo kekere kan ti o fa iyipada owo pataki - ẹnikan ra idaji bilionu kan dọla. Lẹhin awọn iṣẹju-aaya meji, gbogbo awọn olukopa ọja ṣe akiyesi eyi ati bẹrẹ lati ṣe atunṣe. Nipa ti, awọn ibeere laini ni isinyi nla, eyiti eto naa yoo gba akoko pipẹ lati nu kuro.

Itankalẹ ti faaji ti iṣowo ati eto imukuro ti Moscow Exchange. Apa 1

Ni aarin 50 ms yii, iyara apapọ jẹ nipa 16 ẹgbẹrun awọn iṣowo fun iṣẹju kan. Ti a ba dinku window si 20 ms, a gba iyara apapọ ti 90 ẹgbẹrun awọn iṣowo fun keji, pẹlu 200 ẹgbẹrun awọn iṣowo ni oke. Ni awọn ọrọ miiran, ẹru naa kii ṣe igbagbogbo, pẹlu awọn nwaye lojiji. Ati awọn ti isinyi ti awọn ibeere gbọdọ nigbagbogbo wa ni ilọsiwaju ni kiakia.

Ṣugbọn kilode ti isinyi wa rara? Nitorinaa, ninu apẹẹrẹ wa, ọpọlọpọ awọn olumulo ṣe akiyesi iyipada idiyele ati firanṣẹ awọn iṣowo ni ibamu. Wọn wa si Gateway, o ṣe lẹsẹsẹ wọn, ṣeto aṣẹ kan ati firanṣẹ si nẹtiwọọki naa. Awọn olulana dapọ awọn apo-iwe ati firanṣẹ siwaju wọn. Ti package ti de akọkọ, ti idunadura "gba". Bi abajade, awọn alabara paṣipaarọ bẹrẹ lati ṣe akiyesi pe ti o ba ti firanṣẹ idunadura kanna lati ọpọlọpọ awọn Gateways, lẹhinna awọn aye ti iṣelọpọ iyara rẹ pọ si. Laipẹ, awọn roboti paṣipaarọ bẹrẹ bombarding Gateway pẹlu awọn ibeere, ati ọpọlọpọ awọn iṣowo dide.

Itankalẹ ti faaji ti iṣowo ati eto imukuro ti Moscow Exchange. Apa 1

A titun yika ti itankalẹ

Lẹhin idanwo nla ati iwadii, a yipada si ekuro eto iṣẹ akoko gidi. Fun eyi a yan RedHat Idawọlẹ MRG Linux, nibiti MRG duro fun akoj akoko gidi fifiranṣẹ. Anfani ti awọn abulẹ akoko gidi ni pe wọn mu eto naa pọ si fun ipaniyan ti o ṣeeṣe yiyara: gbogbo awọn ilana ti wa ni laini ni isinyi FIFO, awọn ohun kohun le ya sọtọ, ko si awọn imukuro, gbogbo awọn iṣowo ni ilọsiwaju ni ọna ti o muna.

Itankalẹ ti faaji ti iṣowo ati eto imukuro ti Moscow Exchange. Apa 1
Pupa - ṣiṣẹ pẹlu isinyi ni ekuro deede, alawọ ewe - ṣiṣẹ ni ekuro akoko gidi kan.

Ṣugbọn iyọrisi lairi kekere lori awọn olupin deede kii ṣe rọrun:

  • Ipo SMI, eyiti o wa ninu faaji x86 jẹ ipilẹ fun ṣiṣẹ pẹlu awọn agbeegbe pataki, dabaru pupọ. Ṣiṣe gbogbo iru awọn iṣẹlẹ ohun elo ati iṣakoso ti awọn paati ati awọn ẹrọ ni o ṣe nipasẹ famuwia ni ipo ti a pe ni ipo SMI sihin, ninu eyiti ẹrọ ṣiṣe ko rii kini famuwia n ṣe rara. Gẹgẹbi ofin, gbogbo awọn olutaja pataki nfunni ni awọn amugbooro pataki fun awọn olupin famuwia ti o gba laaye idinku iye sisẹ SMI.
  • Ko yẹ ki o jẹ iṣakoso ti o ni agbara ti igbohunsafẹfẹ ero isise, eyi yoo yorisi afikun downtime.
  • Nigbati iwe eto faili ba ti fọ, awọn ilana kan waye ninu ekuro ti o fa awọn idaduro airotẹlẹ.
  • O nilo lati san ifojusi si awọn nkan bii Sipiyu Affinity, Idilọwọ affinity, NUMA.

Mo gbọdọ sọ pe koko ti iṣeto ohun elo Linux ati ekuro fun sisẹ akoko gidi yẹ nkan lọtọ. A lo akoko pupọ lati ṣe idanwo ati ṣiṣewadii ṣaaju ki a to ṣaṣeyọri abajade to dara.

Nigbati o ba nlọ lati awọn olupin PA-RISC si x86, a ko ni lati yi koodu eto pada pupọ, a kan ṣe atunṣe ati tunto. Ni akoko kanna, a ṣe atunṣe ọpọlọpọ awọn idun. Fun apẹẹrẹ, awọn abajade ti o daju wipe PA RISC je kan Big endian eto, ati x86 je kan Little endian eto, ni kiakia dada: fun apẹẹrẹ, data ti a kika ti ko tọ. Kokoro ẹtan ni pe PA RISC nlo àìyẹsẹ dédé (Lesese ni ibamu) Wiwọle iranti, lakoko ti x86 le tunto awọn iṣẹ kika, nitorinaa koodu ti o wulo lori pẹpẹ kan di fifọ lori omiiran.

Lẹhin ti o yipada si x86, iṣẹ ṣiṣe pọ si ilọpo mẹta, apapọ akoko ṣiṣe idunadura dinku si 60 μs.

Jẹ ki a ni bayi wo diẹ sii kini awọn ayipada bọtini ti a ti ṣe si faaji eto naa.

Hot Reserve apọju

Nigbati o ba yipada si awọn olupin eru, a mọ pe wọn ko gbẹkẹle. Nitorina, nigba ṣiṣẹda titun kan faaji, a priori ro awọn seese ti ikuna ti ọkan tabi diẹ ẹ sii apa. Nitorinaa, eto imurasilẹ gbona ni a nilo ti o le yipada ni iyara pupọ si awọn ẹrọ afẹyinti.

Ni afikun, awọn ibeere miiran wa:

  • Labẹ ọran kankan o yẹ ki o padanu awọn iṣowo ti a ṣe ilana.
  • Awọn eto gbọdọ jẹ Egba sihin si wa amayederun.
  • Awọn onibara ko yẹ ki o wo awọn asopọ ti o lọ silẹ.
  • Awọn ifiṣura ko yẹ ki o ṣafihan idaduro pataki nitori eyi jẹ ifosiwewe pataki fun paṣipaarọ naa.

Nigbati o ba ṣẹda eto imurasilẹ gbigbona, a ko gbero iru awọn oju iṣẹlẹ bi awọn ikuna meji (fun apẹẹrẹ, nẹtiwọọki lori olupin kan duro ṣiṣẹ ati pe olupin akọkọ ti di); ko ṣe akiyesi iṣeeṣe ti awọn aṣiṣe ninu sọfitiwia nitori pe wọn ṣe idanimọ lakoko idanwo; ati ki o ko ro awọn ti ko tọ isẹ ti awọn hardware.

Bi abajade, a wa si eto atẹle yii:

Itankalẹ ti faaji ti iṣowo ati eto imukuro ti Moscow Exchange. Apa 1

  • Olupin akọkọ ṣe ajọṣepọ taara pẹlu awọn olupin Gateway.
  • Gbogbo awọn iṣowo ti a gba lori olupin akọkọ ni a tun ṣe lesekese si olupin afẹyinti nipasẹ ikanni lọtọ. Adajọ (Gomina) ṣe ipoidojuko iyipada ti awọn iṣoro eyikeyi ba dide.

    Itankalẹ ti faaji ti iṣowo ati eto imukuro ti Moscow Exchange. Apa 1

  • Olupin akọkọ ṣe ilana iṣowo kọọkan ati duro fun ijẹrisi lati ọdọ olupin afẹyinti. Lati tọju airi si o kere ju, a yago fun iduro fun idunadura lati pari lori olupin afẹyinti. Niwọn igba ti o gba fun idunadura kan lati rin irin-ajo kọja nẹtiwọọki naa jẹ afiwera si akoko ipaniyan, ko si afikun lairi ti a ṣafikun.
  • A le ṣayẹwo ipo ṣiṣe nikan ti akọkọ ati awọn olupin afẹyinti fun idunadura iṣaaju, ati ipo sisẹ ti idunadura lọwọlọwọ jẹ aimọ. Niwọn igba ti a tun nlo awọn ilana ti o tẹle-ọkan, iduro fun esi lati Afẹyinti yoo ti fa fifalẹ gbogbo ṣiṣan sisẹ, nitorinaa a ṣe adehun ti o ni oye: a ṣayẹwo abajade ti iṣowo iṣaaju.

Itankalẹ ti faaji ti iṣowo ati eto imukuro ti Moscow Exchange. Apa 1

Ilana naa ṣiṣẹ bi atẹle.

Jẹ ki a sọ pe olupin akọkọ duro lati dahun, ṣugbọn awọn Gateways tẹsiwaju lati baraẹnisọrọ. Aago akoko waye lori olupin afẹyinti, o kan si Gomina, ẹniti o fi ipa ti olupin akọkọ, ati gbogbo Gateways yipada si olupin akọkọ tuntun.

Ti olupin akọkọ ba pada wa lori ayelujara, o tun nfa akoko akoko inu, nitori ko si awọn ipe si olupin lati ẹnu-ọna fun akoko kan. Lẹhinna o tun yipada si Gomina, o si yọ ọ kuro ninu eto naa. Bi abajade, paṣipaarọ naa n ṣiṣẹ pẹlu olupin kan titi di opin akoko iṣowo naa. Niwọn bi iṣeeṣe ti ikuna olupin ti lọ silẹ pupọ, ero yii ni a gba pe o jẹ itẹwọgba; ko ni imọ-jinlẹ idiju ati pe o rọrun lati ṣe idanwo.

A tun ma a se ni ojo iwaju.

orisun: www.habr.com

Fi ọrọìwòye kun