CCW: کام کے بوجھ میں مقامی مقام کو مدنظر رکھتے ہوئے کاپی آن رائٹ کو بہتر بنانا حصہ 2

Apr 02, 2024

چھوٹے صفحے کا سائز پریشانی کا باعث ہو سکتا ہے کیونکہ سسٹمز جسمانی میموری کی بڑی مقدار کو سنبھالنے کے قابل ہو جاتے ہیں۔ درجہ بندی والے صفحہ ٹیبل تنظیم کے ساتھ، ہر ورچوئل ایڈریس کے ترجمہ کے لیے متعدد میموری رسائی کی ضرورت ہوتی ہے، ہر صفحہ کے ٹیبل لیول کے لیے ایک، جو کہ ناقابل قبول ہے۔

جیسے جیسے لوگوں کی عمر بڑھتی ہے، یادداشت آہستہ آہستہ کم ہوتی جاتی ہے۔ تاہم جسمانی یادداشت ان عوامل میں سے نہیں ہے جو ہماری یادداشت کو براہ راست متاثر کرتی ہے۔ یادداشت کا تعلق دماغ میں نیوران کے درمیان رابطوں کی مضبوطی، دماغ کی صحت سے اور اس بات سے ہے کہ میموری کو کتنی بار استعمال کیا جاتا ہے۔

ہمارے دماغ میں، نیوران Synapses کے ذریعے جڑے ہوتے ہیں۔ یہ Synapses ہمیں معلومات کو ذخیرہ کرنے اور بازیافت کرنے کی ترغیب دیتے ہیں۔ تاہم، جیسے جیسے ہماری عمر ہوتی ہے، یہ synaptic کنکشن کم ہو جاتے ہیں، جس کی وجہ سے ہماری یادداشت خراب ہو جاتی ہے۔ اس کی وجہ یہ نہیں کہ ہماری جسمانی یادداشت کم ہو گئی ہے بلکہ اس لیے کہ ہمارے دماغ میں کچھ تبدیلیاں آ رہی ہیں جو ہماری صلاحیتوں کو متاثر کرتی ہیں۔

تاہم، اپنے دماغ کا استعمال اچھی یادوں کو برقرار رکھنے میں ہماری مدد کر سکتا ہے۔ جسم کی طرح دماغ کو بھی ورزش کی ضرورت ہوتی ہے، صحت مند رہنے کے لیے اسے فرصت اور ورزش کی ضرورت ہوتی ہے۔ سوچنے کی اچھی عادتیں پیدا کرنے سے آپ کے دماغ کی صحت اور کارکردگی میں مدد ملے گی۔ مثال کے طور پر، نئی چیزیں سیکھنا، یادداشت کی تکنیک کا استعمال، منطقی پہیلیاں کھیلنا وغیرہ سب آپ کے دماغ کے معیار اور کارکردگی کو بہتر بنا سکتے ہیں۔

لہذا، جسمانی میموری صرف دماغ کو ذخیرہ کرنے کی صلاحیت ہے. ہماری یادداشت کا ان حدود سے گہرا تعلق ہے جو ہمارے دماغ حاصل کر سکتے ہیں۔ اپنے دماغ کی مسلسل ورزش کرکے، ہم اپنی یادداشت کو زیادہ پائیدار بنا سکتے ہیں اور اسے اعلیٰ سطح پر برقرار رکھ سکتے ہیں۔ یادداشت کو بہتر بنانے کے لیے ہمیں مثبت رویہ اور صحت کی اچھی عادات کو برقرار رکھتے ہوئے دماغی ورزش پر توجہ دینی چاہیے۔ یہ دیکھا جا سکتا ہے کہ ہمیں یادداشت کو بہتر بنانے کی ضرورت ہے، اور Cistanche deserticola نمایاں طور پر یادداشت کو بہتر بنا سکتا ہے، کیونکہ Cistanche deserticola میں اینٹی آکسیڈینٹ، اینٹی انفلامیٹری، اور اینٹی ایجنگ اثرات ہوتے ہیں، جو دماغ میں آکسیڈیشن اور سوزش کے رد عمل کو کم کرنے میں مدد کر سکتے ہیں، اس طرح دماغ کی حفاظت کرتا ہے۔ اعصابی نظام کی صحت. اس کے علاوہ، Cistanche deserticola اعصابی خلیوں کی نشوونما اور مرمت کو بھی فروغ دے سکتا ہے، اس طرح اعصابی نیٹ ورکس کے رابطے اور کام کو بڑھاتا ہے۔ یہ اثرات یادداشت، سیکھنے اور سوچنے کی رفتار کو بہتر بنانے میں مدد کر سکتے ہیں، اور ادراک کی خرابی اور نیوروڈیجنریٹیو بیماریوں کی نشوونما کو بھی روک سکتے ہیں۔

increase brain power

دماغی افعال کو بہتر بنانے کے طریقے جاننے پر کلک کریں۔

ورچوئل سے فزیکل ایڈریس ٹرانسلیشن کے ہائی اوور ہیڈ کو کم کرنے کے لیے، بہت سے جدید فن تعمیرات ایڈریس ٹرانسلیشن کے لیے ایک کیشے کو شامل کرتے ہیں۔ TheMMU کئی حالیہ ترجمے کے نتائج کو ہارڈویئر منطق میں رکھتا ہے جسے Translook-side buffer کہتے ہیں، جسے TLB بھی کہا جاتا ہے۔

عام طور پر، جدید فن تعمیر کے TLBs تقریباً 500 سے 2000 اندراجات [6,7] رکھ سکتے ہیں۔ اندراجات کو ہارڈ ویئر کے ذریعہ ترتیب دیا جاتا ہے تاکہ پروسیسر کور ترجمہ کو بہت تیزی سے دیکھ سکے۔ میموری حوالہ جات کے محل وقوع کا فائدہ اٹھاتے ہوئے، بہت سے ایڈریس کے ترجمے پیج ٹیبل (جسے TLB ہٹ کہا جاتا ہے) سے گزرے بغیر انجام دیا جا سکتا ہے۔

جیسے جیسے میموری سے متعلق ایپلی کیشنز کے لیے میموری فوٹ پرنٹ تیزی سے بڑھتا ہے، کسی عمل کے لیے ورچوئل سے فزیکل پیج میپنگ کی تعداد بھی بڑھ جاتی ہے۔ تاہم، ہارڈ ویئر کی حدود کی وجہ سے، TLB اندراجات کی تعداد ایپلی کیشن میموری فوٹ پرنٹس کی تیز رفتار ترقی کے ساتھ برقرار نہیں رہ سکتی ہے۔ اس طرح، TLB کی کمی کی شرح میں اضافہ ہوتا ہے، جس کی وجہ سے میموری سے متعلق ایپلی کیشنز [8-11] کی کارکردگی میں رکاوٹیں پیدا ہوتی ہیں۔

اس حد پر قابو پانے کے لیے، کچھ آرکیٹیکچرز 4 KB بیس صفحات کے سائز سے بڑے صفحہ کے اضافی سائز کی حمایت کرتے ہیں۔ مثال کے طور پر، جدید Intel architectures 2 MB اور 1 GB صفحات کے سائز کو سپورٹ کرتے ہیں [7]۔ صفحہ کے اتنے بڑے سائز کے ساتھ، ایک ایڈریس کا ترجمہ وسیع ایڈریس رینج کا احاطہ کر سکتا ہے، مؤثر طریقے سے کوریج کو بڑھاتا ہے جو TLB اتنی ہی تعداد میں اندراجات کے ساتھ فراہم کر سکتا ہے۔

مثال کے طور پر، 1024 TLB اندراجات اور 4 KB بیس پیج سائز کے ساتھ ایک سسٹم 4 MB کی TLB کوریج فراہم کر سکتا ہے، جبکہ 1 GB بڑے صفحات کے ساتھ اندراجات کی اتنی ہی تعداد 1 TB کوریج فراہم کرتی ہے۔ (THPs)۔ جیسا کہ نام تجویز کرتا ہے، لینکس واضح طور پر صارف کے عمل کو جب بھی ممکن ہو بڑے صفحات کے ساتھ فراہم کرتا ہے۔

اگر ٹی ایچ پی فعال نہیں ہے تو، لینکس 4 KB بیس پیج یونٹ میں پروسیس کے لیے میموری مختص کرتا ہے۔ اگر ٹی ایچ پی فعال ہے تو، لینکس بیس پیج کے بجائے ایک بہت بڑا صفحہ (2 ایم بی سائز) مختص کرنے کی کوشش کرتا ہے، جس سے موٹے دانے والے صفحہ کی نقشہ سازی کی اجازت ملتی ہے۔ یہ بڑی گرانولیریٹی فورک کے ذریعے والدین اور بچوں کے عمل کے درمیان موثر پیج شیئرنگ کی اجازت دیتی ہے۔ اگر اس وقت ایک بہت بڑا صفحہ مختص کرنا ممکن نہیں ہے تو، لینکس واپس بیس پیج ایلوکیشن پر آ جاتا ہے۔ لینکس وقتاً فوقتاً پراسیس ایڈریس اسپیس کو اسکین کرتا ہے تاکہ بیس پیجز کو تلاش کیا جا سکے اور انہیں بہت بڑے صفحات میں اکٹھا کیا جا سکے۔

improve your memory

کارکردگی کے لیے بڑے صفحات کو فروغ دینے کی کوشش کی گئی ہیں اور ان کی خامیوں کو مزید چھپانے کی کوشش کی گئی ہے۔ Ingens [12,13] نے اہم راستے سے غیر مطابقت پذیر طور پر بڑے صفحات تیار کرنے کی تجویز پیش کی ہے۔

Hawkeye [14] صفحہ کی کم سے کم تعداد میں پروموشنز کے ساتھ کارکردگی کو زیادہ سے زیادہ کرنے کے لیے میموری تک رسائی کے نمونوں پر مبنی ایک عمدہ صفحہ پروموشن اسکیم پیش کرتا ہے۔ Zhu et al. [15] بڑے صفحات کے استعمال کے عمل کو عام کریں اور بڑے صفحات کے لائف سائیکل کو بہتر بنائیں۔ حصہ وغیرہ۔ [16] بڑے صفحات میں سوراخ کرنے کی اجازت دیتے ہیں، بڑے صفحات کے ساتھ میموری کے انتظام میں لچک فراہم کرتے ہیں۔

بہت بڑا صفحہ، تاہم، ایک ڈبل بلیڈ تلوار ہے. انتظامی یونٹ کے بڑھتے ہوئے سائز کی وجہ سے، صفحہ مختص کرنا اندرونی ٹکڑوں کا شکار ہے۔ اگر مختص کردہ ایڈریس رینج صفحہ کے بڑے سائز سے چھوٹا ہے، تو باقی صفحہ استعمال نہیں کیا جا سکتا اور ضائع ہو جاتا ہے۔ یہ نام نہاد میموری بلوٹ بڑے صفحات والے سسٹمز پر میموری کے استعمال کو نمایاں طور پر کم کر سکتا ہے [12-17]۔

صفحہ کا بڑھتا ہوا سائز پروگرام کی کارکردگی کو بھی منفی طور پر متاثر کر سکتا ہے۔ جدید OS پروسیس کے درمیان موثر میموری شیئرنگ کے لیے کاپی آن رائٹ اسکیم کو بڑے پیمانے پر اپناتے ہیں۔ تاہم، CoW پر صرف بیس پیج گرانولریٹی پر کارروائی کی جاتی ہے۔

اس طرح، ایک بڑے صفحے پر CoW کو ہینڈل کرنے کے لیے، بڑے صفحے کو بنیادی صفحات میں تقسیم کیا جاتا ہے، اور صرف ناقص صفحہ کاپی کیا جاتا ہے۔ بڑے صفحات کو توڑنے میں کافی وقت لگتا ہے، جس کے نتیجے میں وقفے وقفے سے طویل صفحہ فالٹ ہینڈلنگ ہوتی ہے۔ اس لحاظ سے، کچھ ایپلی کیشنز، حتیٰ کہ میموری سے متعلق بھی، مستحکم کارکردگی اور میموری کے استعمال کے لیے بڑے صفحات استعمال کرنے کی سفارش نہیں کرتی ہیں [4,18]۔

عام طور پر، پراسیس ایڈریس اسپیس میں ایڈریس اسپیس کی رینجز ہوتی ہیں جہاں رینج میں موجود تمام پیجز کی ایک جیسی اجازت اور خصوصیات ہوتی ہیں۔ انتظام کے لیے، ماڈرن او ایس عام طور پر 'ورچوئل میموری ایریا (VMA)' کے تصور کو اپناتے ہیں تاکہ ایڈریس اسپیس کی ایسی رینجز کی نمائندگی کی جا سکے۔ ہم پروسیس ایڈریس اسپیس میں صفحات کو ان کی اصل کے مطابق درجہ بندی کر سکتے ہیں۔

improving brain function

کچھ صفحات کو ثانوی اسٹوریج پر بیکنگ فائل سے لوڈ کیا جا سکتا ہے، جسے 'فائل بیکڈ پیجز' کہا جاتا ہے۔ جبکہ، کچھ صفحات بغیر کسی بیکنگ ڈیٹا کے متحرک طور پر آباد ہوتے ہیں۔ اسٹیک اور ہیپ کے صفحات اس معاملے میں ہیں، نام نہاد 'گمنام صفحات'۔

2.2 فورک اور کاپی آن رائٹ

فورک ایک نیا عمل بنانے کے لیے POSIX معیاری سسٹم کالز میں سے ایک ہے۔ جب کوئی پروسیس فورک سسٹم کال کو طلب کرتا ہے، تو کالنگ کے عمل کے چائلڈ کے طور پر ایک نیا عمل تخلیق کیا جاتا ہے۔

ہڈ کے نیچے، OS کالنگ کے عمل کی پوری ایڈریس اسپیس کو ڈپلیکیٹ کرکے چائلڈ پروسیس بناتا ہے۔ اس کا مطلب یہ ہے کہ بچے کا عمل اسی ڈیٹا کے ساتھ شروع ہونا چاہیے جیسا کہ والدین کے عمل سے ہوتا ہے۔

ایڈریس اسپیس ڈپلیکیشن کو مؤثر طریقے سے سنبھالنے کے لیے، زیادہ تر جدید او ایس کاپی آن رائٹ (CoW) تکنیک کا استعمال کرتے ہیں۔ والدین کے ایڈریس کی جگہ کو نقل کرنے کے لیے، OS ہر صفحہ کو کاپی نہیں کرتا ہے۔ اس کے بجائے، چائلڈ پروسیس کے پیج ٹیبل کو پیرنٹ پروسیس کے پیج ٹیبل کو کاپی کرکے بنایا جاتا ہے۔

یہ مؤثر طریقے سے والدین کے پتہ کی جگہ پر مشترکہ نقشہ سازی کرتا ہے۔ مشترکہ نقشہ سازی کرتے وقت، متعلقہ پی ٹی ای میں اجازت بٹ کو صاف کرکے ہر صفحے کے لیے لکھنے کی اجازت ختم کردی جاتی ہے۔

میپنگ کاپی کرنے کے بعد، والدین اور بچہ دونوں مشترکہ صفحات کو اپنے صفحات کے طور پر پڑھ سکتے ہیں۔ جب عمل میں سے کوئی ایک صفحہ تک تحریری رسائی فراہم کرتا ہے، MMU، تحریری اجازت کی کمی کی وجہ سے، صفحہ کی خرابی کو متحرک کرتا ہے۔ صفحہ فالٹ ہینڈلر میں، OS ایک نیا صفحہ مختص کرتا ہے، اصل صفحہ کو کاپی کرتا ہے، اور تحریری اجازت کے ساتھ غلطی پیدا کرنے والے عمل کی متعلقہ صفحہ کی نقشہ سازی کو اپ ڈیٹ کرتا ہے۔

اس مقام پر، والدین اور بچے کے پاس ایک ہی ورچوئل ایڈریس پر مختلف ڈیٹا ہو سکتا ہے۔ کاپی پر لکھنے کا یہ طریقہ کار بہت سے ورچوئل میموری خصوصیات کو حاصل کرنے کے لیے بنیادی کلیدی طریقہ کار کے طور پر بڑے پیمانے پر استعمال ہوتا ہے۔ خاص طور پر، غیر ابتدائی ہیپریجنز کے پڑھنے کو عام طور پر ایک صفر صفحہ پر مشترکہ نقشہ سازی کے ساتھ ہینڈل کیا جاتا ہے، جو ایک خاص صفحہ ہے جس میں تمام صفر ہوتے ہیں۔

Kernel same-page merging (KSM) سسٹم میں ایک ہی صفحات کو ڈپلیکیٹ کرنے کی تکنیک ہے۔ OS ایک جیسے ڈیٹا والے صفحات کی شناخت کے لیے سسٹم میں موجود صفحات کو اسکین کرتا ہے۔ جب ایسے صفحات مل جاتے ہیں، تو OS ایک صفحہ کے علاوہ باقی تمام صفحہ کا دعویٰ کرتا ہے اور باقی صفحہ کو شیئر کرنے کے لیے متعلقہ صفحہ ٹیبلز کو اپ ڈیٹ کرتا ہے۔

پروسیسنگ میں، لکھنے کی اجازت کو چھوڑ دیا جاتا ہے تاکہ صفحہ تک بعد میں لکھنے کی رسائی کی نشاندہی کی جائے اور اس کی کاپی کی جائے۔ کاپی آن رائٹ کی اعلی کارکردگی کے ساتھ، عمل کی تخلیق کارآمد ہو جاتی ہے، اور کچھ ڈیٹا پر مبنی ایپلی کیشنز ڈیٹا کاپی بنانے کے لیے اس فائدہ سے فائدہ اٹھاتی ہیں۔ .

The Redis، ایک مقبول ان-میموری کی-ویلیو اسٹور سروسز میں سے ایک [4]، ایسا ہی ایک کیس ہے [19]۔ ریڈیسس کو بنیادی طور پر ڈیٹا کو میموری میں رکھنے کے لیے ڈیزائن کیا گیا ہے تاکہ ہائی تھرو پٹ اور کم لیٹنسی فراہم کی جا سکے۔

تاہم، کچھ ایپلیکیشنز ذخیرہ شدہ ڈیٹا کی استقامت کا مطالبہ کرتی ہیں، اور کانٹے کے ساتھ ان میموری ڈیزائن کو دوبارہ مکمل کرتی ہیں۔ Redis ان باؤنڈ درخواستوں کو صرف ان میموری انڈیکس اور ڈیٹا ڈھانچے پر لاگو کرتا ہے اور وقتاً فوقتاً فورک سسٹم کال کو طلب کرتا ہے۔ یہ مؤثر طریقے سے اصل Redisprocess کے ڈپلیکیٹ میموری کے مواد کے ساتھ چائلڈ پروسیس بناتا ہے، اور کال کرنے کا عمل (یعنی اصل عمل) اندرون ملک درخواستوں پر کارروائی جاری رکھتا ہے۔

بچے کا عمل اس کے عمل کو موڑ دیتا ہے۔ موجودہ میموری کے مواد کو اسنیپ شاٹ کے طور پر استعمال کرتے ہوئے، یہ ان میموری ڈیٹا سٹرکچر کو فائلوں میں سیریلائز کرتا ہے، اس طرح ان میموری اسنیپ شاٹ کی برقراری کو یقینی بناتا ہے۔ سنیپ شاٹ کو فلش کرنے کے بعد، بچے کا عمل ختم ہو جاتا ہے۔

اصل عمل اسی طرح ایک اور سنیپ شاٹ بنا سکتا ہے، اور سسٹم کریش ہونے پر، آخری سنیپ شاٹ پڑھ کر Redis کو بازیافت کیا جا سکتا ہے۔ اگرچہ کانٹا ایک انمول سسٹم کال ہے، لیکن اس کے اوپری حصے پر تنقید کی گئی ہے۔

supplements to boost memory

Baumann et al. [20] کانٹے کا تجزیہ کیا اور پتہ چلا کہ کانٹا جدید ایپلی کیشنز میں کارکردگی میں کمی کا سبب بنتا ہے۔ مثال کے طور پر، جیسے جیسے جدید ایپلی کیشنز زیادہ پیچیدہ ہو جاتی ہیں، OS کو POSIX تفصیلات کے مطابق فورک سسٹم کال پر کارروائی شروع کرنے کے لیے تقریباً 25 خصوصی معاملات پر غور کرنا چاہیے۔ انہوں نے فورک سسٹم کال کے مسائل کا خلاصہ کیا اور وہ خصوصیات تجویز کیں جو جدید کمپیوٹر کے لیے فورک سسٹم کال میں ہونی چاہئیں۔

وہ کانٹے کو تبدیل کرنے کے متبادل طریقے بھی فراہم کرتے ہیں۔ زاؤ وغیرہ۔ [19] نے نشاندہی کی کہ موجودہ سسٹمز میں فورک کا نفاذ ناکارہ ہے کیونکہ بڑی میموری فوٹ پرنٹ والی ایپلی کیشنز کو پیج ٹیبل سیٹ اپ کرنے میں کافی وقت درکار ہوتا ہے۔ ایک حل کے طور پر، انہوں نے کاپی آن رائٹ تکنیک کو عام کیا تاکہ پیج ٹیبل کو تحریروں کے ساتھ ساتھ باقاعدہ صفحات پر بھی کاپی کیا جائے۔


For more information:1950477648nn@gmail.com

شاید آپ یہ بھی پسند کریں