கூகிள் M:N த்ரெடிங் மாதிரியை ஆதரிக்கத் தேவையான கூறுகளை செயல்படுத்தும் முதல் தொகுப்பு இணைப்புகள் லினக்ஸ் கர்னலில் வெளியிடப்பட்டன. கூகிளின் இந்த முயற்சி மூடிய கதவுகளுக்குப் பின்னால் உருவாக்கப்பட்ட ஒரு API ஐத் திறப்பது தொடர்பானது. M:N த்ரெடிங் மாதிரியைப் பயன்படுத்தி பயனர்-இட மல்டித்ரெட் துணை அமைப்பை வழங்கும் லினக்ஸ் கர்னல். குறைந்தபட்ச தாமதம் தேவைப்படும் சேவைகளை ஆதரிக்க இந்த துணை அமைப்பு Google இல் பயன்படுத்தப்படுகிறது. த்ரெட் திட்டமிடல் மற்றும் மேலாண்மை முற்றிலும் பயனர் இடத்தில் செய்யப்படுகிறது, இது கணினி அழைப்புகளைக் குறைப்பதன் மூலம் சூழல் சுவிட்சுகளின் எண்ணிக்கையைக் கணிசமாகக் குறைக்கிறது.
இந்த துணை அமைப்பின் செயல்பாட்டை ஆதரிக்க, லினக்ஸ் கர்னல் மட்டத்தில் SwitchTo API செயல்படுத்தப்பட்டது, இது மூன்று அடிப்படை செயல்பாடுகளை வழங்குகிறது: காத்திருப்பு, மீண்டும் தொடங்கு மற்றும் இடமாற்று. கர்னலில் சேர்ப்பதற்காக FUTEX_SWAP என்ற புதிய செயல்பாடு முன்மொழியப்பட்டுள்ளது, இது , இது பயனர் இடத்தில் பல திரிக்கப்பட்ட நூலகங்களை உருவாக்குவதற்கான அடித்தளத்தை வழங்குகிறது. RPC போலவே, பணிகளுக்கு இடையில் செய்திகளை அனுப்ப FUTEX_SWAP ஐயும் பயன்படுத்தலாம். எடுத்துக்காட்டாக, தற்போது, பணிகளுக்கு இடையில் ஒரு செய்தியை அனுப்ப FUTEX_WAIT மற்றும் FUTEX_WAKE க்கு குறைந்தது நான்கு அழைப்புகள் தேவைப்படுகின்றன. இருப்பினும், FUTEX_SWAP ஐப் பயன்படுத்துவது 5-10 மடங்கு வேகமான ஒற்றை செயல்பாட்டை அனுமதிக்கிறது.
தற்போது, 1:1 மற்றும் N:1 ஓட்ட மாதிரிகள் முக்கியமாக நடைமுறையில் பயன்படுத்தப்படுகின்றன. 1:1 மாதிரி பயன்படுத்தப்படுகிறது (POSIX ஸ்ட்ரீம்கள்) மற்றும் , மேலும் ஒரு பயனர்-வெளி நூலை ஒரு கர்னல்-நிலை நூலுக்கு (செயல்படுத்தல் திட்டமிடல் அலகு) நேரடி மேப்பிங்கைக் குறிக்கிறது. N:1 மாதிரி செயல்படுத்தப்படுகிறது , பயனர் இடத்திற்கு நூல் அனுப்புதலை நகர்த்துகிறது மற்றும் N பயனர்-வெளி நூல்களை ஒற்றை கர்னல் நூலுடன் பிணைக்க அனுமதிக்கிறது, அதே நேரத்தில் கர்னலுக்கு பயனர் நூல்களைப் பற்றிய எந்த அறிவும் இல்லை.
1:1 மாதிரியின் முக்கிய குறைபாடு என்னவென்றால், கர்னலுக்கும் பயனர் இடத்திற்கும் இடையில் சூழல் மாறுதலின் அதிக செலவு ஆகும். N:1 மாதிரி இந்த சிக்கலை தீர்க்கிறது, ஆனால் ஒரு புதிய ஒன்றை உருவாக்குகிறது: கர்னல் நூல் என்பது செயல்படுத்தல் திட்டமிடலின் பிரிக்க முடியாத அலகு என்பதால், ஒரு இயக்க முறைமை கர்னல் நூலுடன் பிணைக்கப்பட்ட பயனர் நூல்கள் CPU கோர்களில் அளவிட முடியாது மற்றும் இறுதியில் ஒரு CPU மையத்துடன் பிணைக்கப்படாது.
M:N மாதிரி ஒரு கலப்பினமாகும், மேலும் N பயனர்-வெளி நூல்களை M கர்னல் நூல்களுடன் மேப்பிங் செய்வதன் மூலம் மேலே குறிப்பிடப்பட்ட அனைத்து குறைபாடுகளையும் நிவர்த்தி செய்கிறது, இது சூழல்-மாற்று மேல்நிலையைக் குறைக்கிறது மற்றும் CPU கோர்களில் அளவிடக்கூடிய தன்மையை வழங்குகிறது. இந்த அணுகுமுறையுடன் பரிமாற்றம் என்பது பயனர்-வெளி நூல் திட்டமிடல் செயல்படுத்தலின் குறிப்பிடத்தக்க சிக்கலான தன்மை மற்றும் கர்னல் திட்டமிடலுடன் செயல்களை ஒருங்கிணைக்க வழிமுறைகளின் தேவை ஆகும்.

ஆதாரம்: opennet.ru
