ጎግል የM:N ፈትል ሞዴል አተገባበርን መክፈት ጀምሯል።

በጉግል መፈለግ የሚል ሀሳብ አቅርቧል በዋናው ውስጥ ለማካተት Linux የM:N ዥረት ሞዴልን ለመደገፍ የሚያስፈልጉትን ክፍሎች ተግባራዊ የሚያደርጉ የመጀመሪያዎቹ የፓይቾች ስብስብ። የGoogle ተነሳሽነት ከተዘጉ በሮች በስተጀርባ የተገነባ ኤፒአይ ከመክፈት ጋር የተያያዘ ነው። ወደ ቀይር ለዋናው Linux, ይህም የተጠቃሚ-ቦታ ባለብዙ ክር ንዑስ ስርዓትን በM:N የክር ሞዴል በመጠቀም ያንቀሳቅሳል። ይህ ንዑስ ስርዓት በGoogle ላይ አነስተኛ መዘግየት የሚያስፈልጋቸውን አገልግሎቶች ለመደገፍ ጥቅም ላይ ይውላል። የክር መርሐግብር ማስያዝ እና አስተዳደር ሙሉ በሙሉ በተጠቃሚ ቦታ ውስጥ ይከናወናል፣ ይህም የስርዓት ጥሪዎችን በመቀነስ የአውድ መቀየሪያዎችን ቁጥር በእጅጉ ይቀንሳል።

የተወሰነውን ንዑስ ስርዓት በከርነል ደረጃ ላይ አሠራር ለማረጋገጥ Linux የSwitchTo API ተግባራዊ ሲሆን ሶስት መሰረታዊ ስራዎችን ያቀርባል፡ ቆይ፣ ቀጥል እና ስዋፕ። በዋናው ውስጥ እንዲካተት አዲስ ኦፕሬሽን፣ FUTEX_SWAP፣ ተጠናቋል፣ ይህም በዋናው ውስጥ እንዲካተት እና እንዲጠናቀቅ ሀሳብ ቀርቧል። FUTEX_WAIT እና FUTEX_WAKEእና በተጠቃሚ ቦታ ላይ ባለ ብዙ ክር ቤተ-መጻሕፍት ለመፍጠር ማዕቀፍ ያቀርባል። FUTEX_SWAP ከ RPC ጋር በሚመሳሰሉ ተግባራት መካከል መልዕክቶችን ለማስተላለፍም ሊያገለግል ይችላል። ለምሳሌ በአሁኑ ጊዜ መልእክትን በተግባሮች መካከል ለማስተላለፍ ቢያንስ አራት ጥሪዎችን ወደ FUTEX_WAIT እና FUTEX_WAKE ማድረግ አለቦት ነገርግን FUTEX_SWAP ን በመጠቀም በአንድ ኦፕሬሽን እንዲያልፉ ይፈቅድልዎታል ይህም ከ5-10 ጊዜ በፍጥነት ይጠናቀቃል።


ጎግል የM:N ፈትል ሞዴል አተገባበርን መክፈት ጀምሯል።

በአሁኑ ጊዜ, 1: 1 እና N: 1 ፍሰት ሞዴሎች በዋናነት በተግባር ላይ ይውላሉ. የ1፡1 ሞዴል በ ውስጥ ጥቅም ላይ ይውላል NPTL (POSIX ዥረቶች) እና Linuxተከታታዮች, እና በቀጥታ በተጠቃሚ ቦታ ላይ ያለውን ክር በከርነል ደረጃ ላይ ወዳለው ክር (የአፈፃፀም መርሐግብር አሃድ) በቀጥታ ካርታ መስራትን ያመለክታል። ሞዴል N፡1 በ ውስጥ ተተግብሯል። ጂኤንዩ ፒ, ክር መላክን ወደ ተጠቃሚ ቦታ ያመጣል እና በተጠቃሚ ቦታ ላይ ያሉ N ክሮች በከርነል ውስጥ ከአንድ ክር ጋር እንዲተሳሰሩ ያስችላቸዋል, ከርነል የተጠቃሚ ክሮች እውቀት ሳይኖረው.

የ1፡1 ሞዴል ዋነኛው ጉዳቱ በከርነል እና በተጠቃሚ ቦታ መካከል ያለው ትልቅ የአውድ ለውጥ ነው። የ N: 1 ሞዴል ይህንን ችግር ይፈታል ፣ ግን አዲስ ይፈጥራል - በከርነል ውስጥ ያለው ክር የማይከፋፈል የአፈፃፀም መርሐግብር አሃድ ስለሆነ ፣ በስርዓተ ክወናው ከርነል ውስጥ ከአንድ ክር ጋር የተሳሰሩ የተጠቃሚ ክሮች በሲፒዩ ኮሮች ላይ ሊመዘኑ አይችሉም እና መጨረሻ ላይ የታሰሩ ናቸው። ነጠላ የሲፒዩ ኮር.

የኤም፡ኤን ሞዴል ድቅል ነው እና በተጠቃሚ ቦታ ላይ ያሉትን N ክሮች በ OS kernel ውስጥ ያሉትን M ክሮች በመቅረጽ ከላይ የተገለጹትን ድክመቶች ያስወግዳል፣ ይህም ሁለቱም የአውድ መቀያየርን የላይኛውን ጫፍ እንዲቀንሱ እና በሲፒዩ ኮሮች ላይ መመዘንን ለማረጋገጥ ያስችላል። የዚህ አማራጭ ዋጋ በተጠቃሚ ቦታ ላይ ክር መርሐግብርን የመተግበር ታላቅ ውስብስብነት እና እርምጃዎችን ከከርነል መርሐግብር ጋር የማስተባበር ዘዴዎች አስፈላጊነት ነው።

ቪዲዮ ያጫውቱ

ምንጭ: opennet.ru

በDDoS ጥበቃ፣ VPS VDS አገልጋዮች ለጣቢያዎች አስተማማኝ ማስተናገጃ ይግዙ 🔥 አስተማማኝ የድር ጣቢያ ማስተናገጃ በዲዶኤስ ጥበቃ፣ በቪፒኤስ ቪዲኤስ አገልጋዮች ይግዙ | ProHoster