மாஸ்கோ பரிமாற்றத்தின் வர்த்தக மற்றும் தீர்வு அமைப்பின் கட்டிடக்கலையின் பரிணாமம். பகுதி 1

மாஸ்கோ பரிமாற்றத்தின் வர்த்தக மற்றும் தீர்வு அமைப்பின் கட்டிடக்கலையின் பரிணாமம். பகுதி 1

அனைவருக்கும் வணக்கம்! எனது பெயர் செர்ஜி கோஸ்டன்பேவ், எக்ஸ்சேஞ்சில் நான் வர்த்தக அமைப்பின் மையத்தை உருவாக்குகிறேன்.

ஹாலிவுட் படங்கள் நியூயார்க் பங்குச் சந்தையைக் காண்பிக்கும் போது, ​​​​இது எப்போதும் இப்படித்தான் இருக்கும்: மக்கள் கூட்டம், எல்லோரும் ஏதோ கத்துகிறார்கள், காகிதங்களை அசைக்கிறார்கள், முழுமையான குழப்பம் நடக்கிறது. மாஸ்கோ எக்ஸ்சேஞ்சில் இது ஒருபோதும் நடக்கவில்லை, ஏனென்றால் வர்த்தகம் ஆரம்பத்தில் இருந்தே மின்னணு முறையில் நடத்தப்பட்டது மற்றும் இரண்டு முக்கிய தளங்களை அடிப்படையாகக் கொண்டது - ஸ்பெக்ட்ரா (அந்நிய செலாவணி சந்தை) மற்றும் ASTS (அந்நிய செலாவணி, பங்கு மற்றும் பணச் சந்தை). இன்று நான் ASTS வர்த்தக மற்றும் தீர்வு அமைப்பின் கட்டமைப்பின் பரிணாம வளர்ச்சியைப் பற்றி, பல்வேறு தீர்வுகள் மற்றும் கண்டுபிடிப்புகள் பற்றி பேச விரும்புகிறேன். கதை நீளமாக இருக்கும், எனவே நான் அதை இரண்டு பகுதிகளாக பிரிக்க வேண்டியிருந்தது.

அனைத்து வகுப்புகளின் சொத்துக்களையும் வர்த்தகம் செய்து முழு அளவிலான பரிமாற்ற சேவைகளை வழங்கும் உலகின் சில பரிமாற்றங்களில் நாங்கள் ஒன்றாகும். எடுத்துக்காட்டாக, கடந்த ஆண்டு பத்திர வர்த்தக அளவின் அடிப்படையில் உலகில் இரண்டாவது இடத்தைப் பிடித்தோம், அனைத்து பங்குச் சந்தைகளிலும் 25 வது இடம், பொதுச் சந்தைகளில் மூலதனமாக்கலில் 13 வது இடம்.

மாஸ்கோ பரிமாற்றத்தின் வர்த்தக மற்றும் தீர்வு அமைப்பின் கட்டிடக்கலையின் பரிணாமம். பகுதி 1

தொழில்முறை வர்த்தக பங்கேற்பாளர்களுக்கு, பதில் நேரம், நேர விநியோகத்தின் நிலைத்தன்மை (நடுக்கம்) மற்றும் முழு வளாகத்தின் நம்பகத்தன்மை போன்ற அளவுருக்கள் முக்கியமானவை. நாங்கள் தற்போது ஒரு நாளைக்கு பல்லாயிரக்கணக்கான பரிவர்த்தனைகளைச் செய்கிறோம். கணினி கர்னல் மூலம் ஒவ்வொரு பரிவர்த்தனையின் செயலாக்கமும் பத்து மைக்ரோ விநாடிகள் ஆகும். நிச்சயமாக, புத்தாண்டு ஈவ் அல்லது தேடுபொறிகளில் உள்ள மொபைல் ஆபரேட்டர்கள் எங்களை விட அதிக பணிச்சுமையைக் கொண்டுள்ளனர், ஆனால் பணிச்சுமையைப் பொறுத்தவரை, மேலே குறிப்பிட்ட பண்புகளுடன் இணைந்து, சிலர் எங்களுடன் ஒப்பிடலாம், எனக்குத் தோன்றுகிறது. அதே நேரத்தில், கணினி ஒரு நொடி கூட மெதுவாக இல்லை, முற்றிலும் நிலையானது மற்றும் அனைத்து பயனர்களும் சமமான நிலையில் இருப்பது எங்களுக்கு முக்கியம்.

ஒரு சிறிய வரலாறு

1994 ஆம் ஆண்டில், ஆஸ்திரேலிய ASTS அமைப்பு மாஸ்கோ இன்டர்பேங்க் கரன்சி எக்ஸ்சேஞ்சில் (MICEX) தொடங்கப்பட்டது, அந்த தருணத்திலிருந்து மின்னணு வர்த்தகத்தின் ரஷ்ய வரலாற்றைக் கணக்கிடலாம். 1998 இல், இணைய வர்த்தகத்தை அறிமுகப்படுத்த பரிமாற்ற கட்டமைப்பு நவீனமயமாக்கப்பட்டது. அப்போதிருந்து, அனைத்து அமைப்புகள் மற்றும் துணை அமைப்புகளில் புதிய தீர்வுகள் மற்றும் கட்டடக்கலை மாற்றங்களை செயல்படுத்துவதற்கான வேகம் வேகத்தை மட்டுமே பெறுகிறது.

அந்த ஆண்டுகளில், எக்ஸ்சேஞ்ச் சிஸ்டம் ஹை-எண்ட் ஹார்டுவேரில் வேலை செய்தது - அதி-நம்பகமான ஹெச்பி சூப்பர்டோம் 9000 சர்வர்கள் (அதில் கட்டப்பட்டது PA-RISC), இதில் முற்றிலும் அனைத்தும் நகலெடுக்கப்பட்டன: உள்ளீடு/வெளியீடு துணை அமைப்புகள், நெட்வொர்க், ரேம் (உண்மையில், ரேம் RAID வரிசை இருந்தது), செயலிகள் (ஹாட்-ஸ்வாப்பபிள்). இயந்திரத்தை நிறுத்தாமல் எந்த சேவையக கூறுகளையும் மாற்ற முடியும். இந்தச் சாதனங்களை நாங்கள் நம்பியிருந்தோம், மேலும் அவை கிட்டத்தட்ட தோல்வியடைவதில்லை என்று கருதுகிறோம். இயங்குதளமானது யூனிக்ஸ் போன்ற HP UX அமைப்பாக இருந்தது.

ஆனால் சுமார் 2010 முதல், உயர் அதிர்வெண் வர்த்தகம் (HFT) அல்லது உயர் அதிர்வெண் வர்த்தகம் என்று அழைக்கப்படும் ஒரு நிகழ்வு வெளிப்பட்டது - எளிமையாகச் சொன்னால், பங்குச் சந்தை ரோபோக்கள். வெறும் 2,5 ஆண்டுகளில், எங்கள் சர்வர்களில் சுமை 140 மடங்கு அதிகரித்துள்ளது.

மாஸ்கோ பரிமாற்றத்தின் வர்த்தக மற்றும் தீர்வு அமைப்பின் கட்டிடக்கலையின் பரிணாமம். பகுதி 1

பழைய கட்டிடக்கலை மற்றும் உபகரணங்களுடன் அத்தகைய சுமைகளைத் தாங்குவது சாத்தியமில்லை. எப்படியாவது மாற்றியமைக்க வேண்டியது அவசியம்.

Начало

பரிமாற்ற அமைப்புக்கான கோரிக்கைகளை இரண்டு வகைகளாகப் பிரிக்கலாம்:

  • பரிவர்த்தனைகள். நீங்கள் டாலர்கள், பங்குகள் அல்லது வேறு ஏதாவது வாங்க விரும்பினால், நீங்கள் ஒரு பரிவர்த்தனையை வர்த்தக அமைப்புக்கு அனுப்பி வெற்றியைப் பற்றிய பதிலைப் பெறுவீர்கள்.
  • தகவல் கோரிக்கைகள். தற்போதைய விலையை நீங்கள் கண்டுபிடிக்க விரும்பினால், ஆர்டர் புத்தகம் அல்லது குறியீடுகளைப் பார்க்கவும், பின்னர் தகவல் கோரிக்கைகளை அனுப்பவும்.

மாஸ்கோ பரிமாற்றத்தின் வர்த்தக மற்றும் தீர்வு அமைப்பின் கட்டிடக்கலையின் பரிணாமம். பகுதி 1

திட்டவட்டமாக, அமைப்பின் மையத்தை மூன்று நிலைகளாகப் பிரிக்கலாம்:

  • வாடிக்கையாளர் நிலை, இதில் தரகர்கள் மற்றும் வாடிக்கையாளர்கள் வேலை செய்கிறார்கள். அவை அனைத்தும் அணுகல் சேவையகங்களுடன் தொடர்பு கொள்கின்றன.
  • கேட்வே சேவையகங்கள் அனைத்து தகவல் கோரிக்கைகளையும் உள்நாட்டில் செயல்படுத்தும் கேச்சிங் சர்வர்கள். Sberbank பங்குகள் தற்போது எந்த விலையில் வர்த்தகம் செய்யப்படுகிறது என்பதை அறிய விரும்புகிறீர்களா? கோரிக்கை அணுகல் சேவையகத்திற்கு செல்கிறது.
  • ஆனால் நீங்கள் பங்குகளை வாங்க விரும்பினால், கோரிக்கை மத்திய சேவையகத்திற்கு (வர்த்தக இயந்திரம்) செல்கிறது. ஒவ்வொரு வகை சந்தைக்கும் இதுபோன்ற ஒரு சேவையகம் உள்ளது, அவை முக்கிய பங்கு வகிக்கின்றன, அவர்களுக்காகவே இந்த அமைப்பை உருவாக்கினோம்.

வர்த்தக அமைப்பின் மையமானது ஒரு புத்திசாலித்தனமான நினைவக தரவுத்தளமாகும், இதில் அனைத்து பரிவர்த்தனைகளும் பரிமாற்ற பரிவர்த்தனைகளாகும். அடிப்படை C இல் எழுதப்பட்டது, வெளிப்புற சார்புகள் மட்டுமே libc நூலகம் மற்றும் டைனமிக் நினைவக ஒதுக்கீடு எதுவும் இல்லை. செயலாக்க நேரத்தைக் குறைக்க, கணினி நிலையான வரிசைகள் மற்றும் நிலையான தரவு இடமாற்றத்துடன் தொடங்குகிறது: முதலில், தற்போதைய நாளுக்கான அனைத்து தரவும் நினைவகத்தில் ஏற்றப்படும், மேலும் வட்டு அணுகல் எதுவும் செய்யப்படவில்லை, எல்லா வேலைகளும் நினைவகத்தில் மட்டுமே மேற்கொள்ளப்படுகின்றன. கணினி தொடங்கும் போது, ​​அனைத்து குறிப்பு தரவு ஏற்கனவே வரிசைப்படுத்தப்பட்டுள்ளது, எனவே தேடல் மிகவும் திறமையாக வேலை செய்கிறது மற்றும் இயக்க நேரத்தில் சிறிது நேரம் எடுக்கும். அனைத்து அட்டவணைகளும் ஊடுருவும் பட்டியல்கள் மற்றும் டைனமிக் தரவு கட்டமைப்புகளுக்கான மரங்களால் உருவாக்கப்படுகின்றன, இதனால் அவை இயக்க நேரத்தில் நினைவக ஒதுக்கீடு தேவையில்லை.

எங்கள் வர்த்தக மற்றும் தீர்வு முறையின் வளர்ச்சியின் வரலாற்றை சுருக்கமாகப் பார்ப்போம்.
டிரேடிங் மற்றும் கிளியரிங் சிஸ்டம் ஆர்கிடெக்சரின் முதல் பதிப்பு யூனிக்ஸ் இன்டராக்ஷன் என்று அழைக்கப்படுவதில் கட்டமைக்கப்பட்டது: பகிரப்பட்ட நினைவகம், செமாஃபோர்கள் மற்றும் வரிசைகள் பயன்படுத்தப்பட்டன, மேலும் ஒவ்வொரு செயல்முறையும் ஒரு நூலைக் கொண்டிருந்தது. இந்த அணுகுமுறை 1990 களின் முற்பகுதியில் பரவலாக இருந்தது.

கணினியின் முதல் பதிப்பு இரண்டு நிலை நுழைவாயில் மற்றும் வர்த்தக அமைப்பின் மைய சேவையகத்தைக் கொண்டிருந்தது. வேலை ஓட்டம் இப்படி இருந்தது:

  • வாடிக்கையாளர் ஒரு கோரிக்கையை அனுப்புகிறார், அது நுழைவாயிலை அடைகிறது. இது வடிவமைப்பின் செல்லுபடியை சரிபார்க்கிறது (ஆனால் தரவு அல்ல) மற்றும் தவறான பரிவர்த்தனைகளை நிராகரிக்கிறது.
  • ஒரு தகவல் கோரிக்கை அனுப்பப்பட்டால், அது உள்நாட்டில் செயல்படுத்தப்படும்; நாங்கள் ஒரு பரிவர்த்தனையைப் பற்றி பேசுகிறோம் என்றால், அது மத்திய சேவையகத்திற்கு திருப்பி விடப்படும்.
  • வர்த்தக இயந்திரம் பின்னர் பரிவர்த்தனையைச் செயல்படுத்துகிறது, உள்ளூர் நினைவகத்தை மாற்றியமைக்கிறது, மேலும் பரிவர்த்தனை மற்றும் பரிவர்த்தனைக்கு ஒரு தனி பிரதி இயந்திரத்தைப் பயன்படுத்தி நகலெடுப்பதற்கான பதிலை அனுப்புகிறது.
  • கேட்வே மத்திய முனையிலிருந்து பதிலைப் பெற்று அதை வாடிக்கையாளருக்கு அனுப்புகிறது.
  • சிறிது நேரம் கழித்து, கேட்வே நகலெடுக்கும் பொறிமுறையின் மூலம் பரிவர்த்தனையைப் பெறுகிறது, மேலும் இந்த முறை அதை உள்நாட்டில் செயல்படுத்துகிறது, அதன் தரவு கட்டமைப்புகளை மாற்றுகிறது, இதனால் அடுத்த தகவல் கோரிக்கைகள் சமீபத்திய தரவைக் காண்பிக்கும்.

உண்மையில், இது ஒரு பிரதி மாதிரியை விவரிக்கிறது, இதில் கேட்வே வர்த்தக அமைப்பில் செய்யப்படும் செயல்களை முழுமையாகப் பிரதிபலிக்கிறது. பல அணுகல் முனைகளில் பரிவர்த்தனைகள் ஒரே வரிசையில் செயல்படுத்தப்படுவதை ஒரு தனி பிரதி சேனல் உறுதி செய்தது.

குறியீடு ஒற்றை-திரிக்கப்பட்டதாக இருந்ததால், பல வாடிக்கையாளர்களுக்கு சேவை செய்ய, செயல்முறை ஃபோர்க்குகளுடன் கூடிய உன்னதமான திட்டம் பயன்படுத்தப்பட்டது. இருப்பினும், முழு தரவுத்தளத்தையும் பிரிப்பது மிகவும் விலை உயர்ந்தது, எனவே TCP அமர்வுகளிலிருந்து பாக்கெட்டுகளை சேகரித்து அவற்றை ஒரு வரிசையில் (SystemV செய்தி வரிசை) மாற்றும் இலகுரக சேவை செயல்முறைகள் பயன்படுத்தப்பட்டன. கேட்வே மற்றும் டிரேட் என்ஜின் இந்த வரிசையில் மட்டுமே வேலை செய்து, அங்கிருந்து பரிவர்த்தனைகளை செயல்படுத்துவதற்கு எடுத்துக்கொண்டன. எந்தச் சேவைச் செயல்முறையைப் படிக்க வேண்டும் என்பது தெளிவாகத் தெரியாததால், அதற்குப் பதில் அனுப்ப முடியாது. எனவே நாங்கள் ஒரு தந்திரத்தை நாடினோம்: ஒவ்வொரு முட்கரண்டி செயல்முறையும் தனக்கென ஒரு பதில் வரிசையை உருவாக்கியது, மேலும் ஒரு கோரிக்கை உள்வரும் வரிசையில் வந்தவுடன், பதில் வரிசைக்கான குறிச்சொல் உடனடியாக அதில் சேர்க்கப்பட்டது.

பெரிய அளவிலான தரவை வரிசையிலிருந்து வரிசைக்கு தொடர்ந்து நகலெடுப்பது சிக்கல்களை உருவாக்கியது, குறிப்பாக தகவல் கோரிக்கைகளுக்கு பொதுவானது. எனவே, நாங்கள் மற்றொரு தந்திரத்தைப் பயன்படுத்தினோம்: மறுமொழி வரிசைக்கு கூடுதலாக, ஒவ்வொரு செயல்முறையும் பகிரப்பட்ட நினைவகத்தை உருவாக்கியது (SystemV பகிரப்பட்ட நினைவகம்). தொகுப்புகள் அதில் வைக்கப்பட்டன, மேலும் ஒரு குறிச்சொல் மட்டுமே வரிசையில் சேமிக்கப்பட்டது, இது அசல் தொகுப்பைக் கண்டுபிடிக்க அனுமதிக்கிறது. இது செயலி தற்காலிக சேமிப்பில் தரவுகளை சேமிக்க உதவியது.

SystemV IPC ஆனது வரிசை, நினைவகம் மற்றும் செமாஃபோர் பொருள்களின் நிலையைப் பார்ப்பதற்கான பயன்பாடுகளை உள்ளடக்கியது. ஒரு குறிப்பிட்ட தருணத்தில் கணினியில் என்ன நடக்கிறது, பாக்கெட்டுகள் எங்கே குவிந்தன, என்ன தடுக்கப்பட்டது போன்றவற்றைப் புரிந்துகொள்ள இதை தீவிரமாகப் பயன்படுத்தினோம்.

முதல் நவீனமயமாக்கல்

முதலில், நாங்கள் ஒற்றை செயல்முறை நுழைவாயிலை அகற்றினோம். அதன் குறிப்பிடத்தக்க குறைபாடு என்னவென்றால், இது ஒரு பிரதி பரிவர்த்தனை அல்லது ஒரு வாடிக்கையாளரிடமிருந்து ஒரு தகவல் கோரிக்கையை கையாள முடியும். மேலும் சுமை அதிகரிக்கும் போது, ​​கேட்வே கோரிக்கைகளைச் செயல்படுத்த அதிக நேரம் எடுக்கும் மற்றும் நகலெடுக்கும் ஓட்டத்தை செயல்படுத்த முடியாது. கூடுதலாக, கிளையன்ட் ஒரு பரிவர்த்தனையை அனுப்பியிருந்தால், நீங்கள் அதன் செல்லுபடியை சரிபார்த்து அதை மேலும் அனுப்ப வேண்டும். எனவே, ஒற்றை நுழைவாயில் செயல்முறையை இணையாக இயங்கக்கூடிய பல கூறுகளுடன் மாற்றியுள்ளோம்: RW லாக்கிங்கைப் பயன்படுத்தி பகிரப்பட்ட நினைவகப் பகுதியில் ஒருவருக்கொருவர் சுயாதீனமாக இயங்கும் பல-திரிக்கப்பட்ட தகவல் மற்றும் பரிவர்த்தனை செயல்முறைகள். அதே நேரத்தில் நாங்கள் அனுப்புதல் மற்றும் நகலெடுக்கும் செயல்முறைகளை அறிமுகப்படுத்தினோம்.

உயர் அதிர்வெண் வர்த்தகத்தின் தாக்கம்

கட்டிடக்கலையின் மேலே உள்ள பதிப்பு 2010 வரை இருந்தது. இதற்கிடையில், HP Superdome சேவையகங்களின் செயல்திறனில் நாங்கள் திருப்தி அடையவில்லை. கூடுதலாக, PA-RISC கட்டிடக்கலை கிட்டத்தட்ட இறந்துவிட்டது; விற்பனையாளர் குறிப்பிடத்தக்க புதுப்பிப்புகள் எதையும் வழங்கவில்லை. இதன் விளைவாக, நாங்கள் HP UX/PA RISC இலிருந்து Linux/x86க்கு மாறத் தொடங்கினோம். அணுகல் சேவையகங்களின் தழுவலுடன் மாற்றம் தொடங்கியது.

நாம் ஏன் மீண்டும் கட்டிடக்கலையை மாற்ற வேண்டும்? உண்மை என்னவென்றால், உயர் அதிர்வெண் வர்த்தகம் கணினி மையத்தில் சுமை சுயவிவரத்தை கணிசமாக மாற்றியுள்ளது.

எங்களிடம் ஒரு சிறிய பரிவர்த்தனை உள்ளது, அது குறிப்பிடத்தக்க விலை மாற்றத்தை ஏற்படுத்தியது - ஒருவர் அரை பில்லியன் டாலர்களை வாங்கினார். இரண்டு மில்லி விநாடிகளுக்குப் பிறகு, அனைத்து சந்தை பங்கேற்பாளர்களும் இதைக் கவனித்து, திருத்தம் செய்யத் தொடங்குகிறார்கள். இயற்கையாகவே, கோரிக்கைகள் ஒரு பெரிய வரிசையில் வரிசையாக இருக்கும், இது கணினி அழிக்க நீண்ட நேரம் எடுக்கும்.

மாஸ்கோ பரிமாற்றத்தின் வர்த்தக மற்றும் தீர்வு அமைப்பின் கட்டிடக்கலையின் பரிணாமம். பகுதி 1

இந்த 50 எம்எஸ் இடைவெளியில், சராசரி வேகம் வினாடிக்கு சுமார் 16 ஆயிரம் பரிவர்த்தனைகள் ஆகும். சாளரத்தை 20 ms ஆகக் குறைத்தால், ஒரு வினாடிக்கு சராசரியாக 90 ஆயிரம் பரிவர்த்தனைகளின் வேகத்தைப் பெறுகிறோம், உச்சத்தில் 200 ஆயிரம் பரிவர்த்தனைகள். வேறு வார்த்தைகளில் கூறுவதானால், திடீர் வெடிப்புகளுடன் சுமை நிலையானது அல்ல. மேலும் கோரிக்கைகளின் வரிசை எப்போதும் விரைவாகச் செயல்படுத்தப்பட வேண்டும்.

ஆனால் ஏன் ஒரு வரிசை இருக்கிறது? எனவே, எங்கள் எடுத்துக்காட்டில், பல பயனர்கள் விலை மாற்றத்தைக் கவனித்தனர் மற்றும் அதற்கேற்ப பரிவர்த்தனைகளை அனுப்பியுள்ளனர். அவர்கள் நுழைவாயிலுக்கு வருகிறார்கள், அது அவர்களை வரிசைப்படுத்துகிறது, ஒரு குறிப்பிட்ட வரிசையை அமைத்து நெட்வொர்க்கிற்கு அனுப்புகிறது. திசைவிகள் பாக்கெட்டுகளை மாற்றி அவற்றை முன்னோக்கி அனுப்புகின்றன. யாருடைய தொகுப்பு முதலில் வந்தது, அந்த பரிவர்த்தனை "வெற்றி". இதன் விளைவாக, பரிமாற்ற வாடிக்கையாளர்கள் பல நுழைவாயில்களிலிருந்து ஒரே பரிவர்த்தனை அனுப்பப்பட்டால், அதன் விரைவான செயலாக்கத்திற்கான வாய்ப்புகள் அதிகரித்தன. விரைவில், பரிமாற்ற ரோபோக்கள் கேட்வே மீது கோரிக்கைகளுடன் குண்டு வீசத் தொடங்கின, மேலும் பரிவர்த்தனைகளின் பனிச்சரிவு எழுந்தது.

மாஸ்கோ பரிமாற்றத்தின் வர்த்தக மற்றும் தீர்வு அமைப்பின் கட்டிடக்கலையின் பரிணாமம். பகுதி 1

பரிணாம வளர்ச்சியின் புதிய சுற்று

விரிவான சோதனை மற்றும் ஆராய்ச்சிக்குப் பிறகு, நாங்கள் நிகழ்நேர இயக்க முறைமை கர்னலுக்கு மாறினோம். இதற்காக நாங்கள் RedHat Enterprise MRG Linux ஐ தேர்வு செய்தோம், இங்கு MRG என்பது செய்தி அனுப்பும் நிகழ் நேர கட்டத்தை குறிக்கிறது. நிகழ்நேர இணைப்புகளின் நன்மை என்னவென்றால், அவை விரைவாக சாத்தியமான செயல்பாட்டிற்கு கணினியை மேம்படுத்துகின்றன: அனைத்து செயல்முறைகளும் FIFO வரிசையில் வரிசைப்படுத்தப்படுகின்றன, கோர்கள் தனிமைப்படுத்தப்படலாம், வெளியேற்றங்கள் இல்லை, அனைத்து பரிவர்த்தனைகளும் கடுமையான வரிசையில் செயல்படுத்தப்படுகின்றன.

மாஸ்கோ பரிமாற்றத்தின் வர்த்தக மற்றும் தீர்வு அமைப்பின் கட்டிடக்கலையின் பரிணாமம். பகுதி 1
சிவப்பு - வழக்கமான கர்னலில் வரிசையுடன் வேலை செய்தல், பச்சை - நிகழ்நேர கர்னலில் வேலை செய்தல்.

ஆனால் வழக்கமான சேவையகங்களில் குறைந்த தாமதத்தை அடைவது அவ்வளவு எளிதானது அல்ல:

  • x86 கட்டமைப்பில் முக்கியமான சாதனங்களுடன் பணிபுரிய அடிப்படையாக இருக்கும் SMI பயன்முறை பெரிதும் குறுக்கிடுகிறது. அனைத்து வகையான வன்பொருள் நிகழ்வுகளின் செயலாக்கம் மற்றும் கூறுகள் மற்றும் சாதனங்களை நிர்வகித்தல் ஆகியவை ஃபார்ம்வேரால் வெளிப்படையான SMI பயன்முறையில் செய்யப்படுகின்றன, இதில் ஃபார்ம்வேர் என்ன செய்கிறது என்பதை இயக்க முறைமை பார்க்காது. ஒரு விதியாக, அனைத்து முக்கிய விற்பனையாளர்களும் ஃபார்ம்வேர் சேவையகங்களுக்கான சிறப்பு நீட்டிப்புகளை வழங்குகிறார்கள், இது SMI செயலாக்கத்தின் அளவைக் குறைக்க அனுமதிக்கிறது.
  • செயலி அதிர்வெண்ணின் டைனமிக் கட்டுப்பாடு இருக்கக்கூடாது, இது கூடுதல் வேலையில்லா நேரத்திற்கு வழிவகுக்கிறது.
  • கோப்பு முறைமை பதிவை சுத்தப்படுத்தும்போது, ​​கணிக்க முடியாத தாமதங்களை ஏற்படுத்தும் சில செயல்முறைகள் கர்னலில் நிகழ்கின்றன.
  • CPU அஃபினிட்டி, இன்டர்ரப்ட் அஃபினிட்டி, NUMA போன்ற விஷயங்களில் நீங்கள் கவனம் செலுத்த வேண்டும்.

நிகழ்நேர செயலாக்கத்திற்கான லினக்ஸ் வன்பொருள் மற்றும் கர்னலை அமைக்கும் தலைப்பு ஒரு தனி கட்டுரைக்கு தகுதியானது என்று நான் சொல்ல வேண்டும். ஒரு நல்ல முடிவைப் பெறுவதற்கு முன்பு நாங்கள் நிறைய நேரம் பரிசோதனை செய்து ஆராய்ச்சி செய்தோம்.

PA-RISC சேவையகங்களில் இருந்து x86 க்கு நகரும் போது, ​​நாங்கள் நடைமுறையில் கணினி குறியீட்டை அதிகம் மாற்ற வேண்டியதில்லை, நாங்கள் அதை மாற்றியமைத்து மறுகட்டமைத்தோம். அதே நேரத்தில், நாங்கள் பல பிழைகளை சரிசெய்தோம். எடுத்துக்காட்டாக, PA RISC ஒரு பெரிய எண்டியன் அமைப்பாகவும், x86 ஒரு சிறிய எண்டியன் அமைப்பாகவும் இருந்ததன் விளைவுகள் விரைவாக வெளிப்பட்டன: எடுத்துக்காட்டாக, தரவு தவறாகப் படிக்கப்பட்டது. தந்திரமான பிழை என்னவென்றால், PA RISC பயன்படுத்துகிறது தொடர்ந்து சீரான (வரிசையாக சீரானது) நினைவக அணுகல், அதேசமயம் x86 வாசிப்பு செயல்பாடுகளை மறுவரிசைப்படுத்த முடியும், எனவே ஒரு தளத்தில் முற்றிலும் செல்லுபடியாகும் குறியீடு மற்றொன்றில் உடைந்தது.

x86 க்கு மாறிய பிறகு, செயல்திறன் கிட்டத்தட்ட மூன்று மடங்கு அதிகரித்தது, சராசரி பரிவர்த்தனை செயலாக்க நேரம் 60 μs ஆக குறைந்தது.

கணினி கட்டமைப்பில் என்ன முக்கிய மாற்றங்கள் செய்யப்பட்டுள்ளன என்பதை இப்போது கூர்ந்து கவனிப்போம்.

ஹாட் ரிசர்வ் காவியம்

சரக்கு சேவையகங்களுக்கு மாறும்போது, ​​அவை குறைந்த நம்பகத்தன்மை கொண்டவை என்பதை நாங்கள் அறிந்தோம். எனவே, ஒரு புதிய கட்டமைப்பை உருவாக்கும் போது, ​​ஒன்று அல்லது அதற்கு மேற்பட்ட முனைகள் தோல்வியடையும் சாத்தியத்தை நாங்கள் முன்கூட்டியே கருதினோம். எனவே, காப்பு இயந்திரங்களுக்கு மிக விரைவாக மாறக்கூடிய சூடான காத்திருப்பு அமைப்பு தேவைப்பட்டது.

கூடுதலாக, பிற தேவைகள் இருந்தன:

  • எந்த சூழ்நிலையிலும் நீங்கள் செயலாக்கப்பட்ட பரிவர்த்தனைகளை இழக்கக்கூடாது.
  • இந்த அமைப்பு நமது உள்கட்டமைப்புக்கு முற்றிலும் வெளிப்படையானதாக இருக்க வேண்டும்.
  • கைவிடப்பட்ட இணைப்புகளை வாடிக்கையாளர்கள் பார்க்கக்கூடாது.
  • முன்பதிவுகள் குறிப்பிடத்தக்க தாமதத்தை அறிமுகப்படுத்தக்கூடாது, ஏனெனில் இது பரிமாற்றத்திற்கான முக்கியமான காரணியாகும்.

சூடான காத்திருப்பு அமைப்பை உருவாக்கும் போது, ​​இரட்டை தோல்விகள் போன்ற காட்சிகளை நாங்கள் கருதவில்லை (உதாரணமாக, ஒரு சர்வரில் உள்ள பிணையம் வேலை செய்வதை நிறுத்தியது மற்றும் பிரதான சேவையகம் உறைந்தது); மென்பொருளில் பிழைகள் ஏற்படுவதற்கான சாத்தியத்தை கருத்தில் கொள்ளவில்லை, ஏனெனில் அவை சோதனையின் போது அடையாளம் காணப்படுகின்றன; மற்றும் வன்பொருளின் தவறான செயல்பாட்டைக் கருத்தில் கொள்ளவில்லை.

இதன் விளைவாக, நாங்கள் பின்வரும் திட்டத்திற்கு வந்தோம்:

மாஸ்கோ பரிமாற்றத்தின் வர்த்தக மற்றும் தீர்வு அமைப்பின் கட்டிடக்கலையின் பரிணாமம். பகுதி 1

  • பிரதான சேவையகம் கேட்வே சேவையகங்களுடன் நேரடியாக தொடர்பு கொண்டது.
  • பிரதான சேவையகத்தில் பெறப்பட்ட அனைத்து பரிவர்த்தனைகளும் ஒரு தனி சேனல் வழியாக காப்புப்பிரதி சேவையகத்திற்கு உடனடியாக நகலெடுக்கப்பட்டன. ஏதேனும் சிக்கல்கள் ஏற்பட்டால், நடுவர் (ஆளுநர்) மாறுதலை ஒருங்கிணைத்தார்.

    மாஸ்கோ பரிமாற்றத்தின் வர்த்தக மற்றும் தீர்வு அமைப்பின் கட்டிடக்கலையின் பரிணாமம். பகுதி 1

  • பிரதான சேவையகம் ஒவ்வொரு பரிவர்த்தனையையும் செயல்படுத்தி, காப்புப் பிரதி சேவையகத்திலிருந்து உறுதிப்படுத்தலுக்காகக் காத்திருந்தது. தாமதத்தை குறைந்தபட்சமாக வைத்திருக்க, காப்புப்பிரதி சேவையகத்தில் பரிவர்த்தனை முடிவடையும் வரை காத்திருப்பதைத் தவிர்த்தோம். நெட்வொர்க் முழுவதும் பயணிக்க ஒரு பரிவர்த்தனை எடுக்கும் நேரம் செயல்பாட்டின் நேரத்துடன் ஒப்பிடக்கூடியதாக இருப்பதால், கூடுதல் தாமதம் சேர்க்கப்படவில்லை.
  • முந்தைய பரிவர்த்தனைக்கான முதன்மை மற்றும் காப்புப்பிரதி சேவையகங்களின் செயலாக்க நிலையை மட்டுமே எங்களால் சரிபார்க்க முடியும், மேலும் தற்போதைய பரிவர்த்தனையின் செயலாக்க நிலை தெரியவில்லை. நாங்கள் இன்னும் சிங்கிள்-த்ரெட் செயல்முறைகளைப் பயன்படுத்துவதால், காப்புப்பிரதியின் பதிலுக்காகக் காத்திருப்பது முழு செயலாக்க ஓட்டத்தையும் குறைக்கும், எனவே நியாயமான சமரசம் செய்தோம்: முந்தைய பரிவர்த்தனையின் முடிவைச் சரிபார்த்தோம்.

மாஸ்கோ பரிமாற்றத்தின் வர்த்தக மற்றும் தீர்வு அமைப்பின் கட்டிடக்கலையின் பரிணாமம். பகுதி 1

திட்டம் பின்வருமாறு செயல்பட்டது.

பிரதான சேவையகம் பதிலளிப்பதை நிறுத்துகிறது என்று வைத்துக்கொள்வோம், ஆனால் கேட்வேஸ் தொடர்ந்து தொடர்பு கொள்கிறது. காப்புப் பிரதி சேவையகத்தில் ஒரு காலக்கெடு ஏற்படுகிறது, அது ஆளுநரைத் தொடர்பு கொள்கிறது, அவர் முக்கிய சேவையகத்தின் பங்கை வழங்குகிறார், மேலும் அனைத்து கேட்வேகளும் புதிய பிரதான சேவையகத்திற்கு மாறுகின்றன.

பிரதான சேவையகம் மீண்டும் ஆன்லைனில் வந்தால், அது ஒரு உள் காலக்கெடுவைத் தூண்டும், ஏனெனில் குறிப்பிட்ட நேரத்திற்கு கேட்வேயிலிருந்து சேவையகத்திற்கு அழைப்புகள் எதுவும் வரவில்லை. பின்னர் அவர் ஆளுநரிடம் திரும்பினார், மேலும் அவர் அவரை திட்டத்திலிருந்து விலக்குகிறார். இதன் விளைவாக, பரிமாற்றம் வர்த்தக காலம் முடியும் வரை ஒரு சேவையகத்துடன் செயல்படுகிறது. சர்வர் தோல்வியின் நிகழ்தகவு மிகவும் குறைவாக இருப்பதால், இந்த திட்டம் மிகவும் ஏற்றுக்கொள்ளத்தக்கதாகக் கருதப்பட்டது; இது சிக்கலான தர்க்கத்தைக் கொண்டிருக்கவில்லை மற்றும் சோதிக்க எளிதானது.

தொடர வேண்டும்.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்