پاپ کارن لینکس کرنل کے لیے ایک تقسیم شدہ تھریڈ ایگزیکیوشن سسٹم تیار کر رہا ہے۔

ورجینیا ٹیک تجویز کردہ لینکس کرنل ڈویلپرز کی طرف سے بحث کے لیے، تقسیم شدہ تھریڈ ایگزیکیوشن سسٹم کے نفاذ کے ساتھ پیچ کا ایک سیٹ پاپکارن (Distributed Thread Execution)، جو آپ کو میزبانوں کے درمیان تھریڈز کی تقسیم اور شفاف منتقلی کے ساتھ کئی کمپیوٹرز پر ایپلی کیشنز کے عمل کو منظم کرنے کی اجازت دیتا ہے۔ پاپ کارن کے ساتھ، ایپلی کیشنز کو ایک میزبان پر لانچ کیا جا سکتا ہے اور پھر بغیر کسی رکاوٹ کے دوسرے میزبان میں منتقل کیا جا سکتا ہے۔ ملٹی تھریڈ پروگراموں میں، انفرادی تھریڈز کو دوسرے میزبانوں میں منتقل کرنے کی اجازت ہے۔

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

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

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

پاپ کارن تقسیم شدہ ایپلی کیشنز بنانے کے امکانات کا مطالعہ کرنے کے لیے 2014 سے ایک تحقیقی پروجیکٹ کے طور پر ترقی کر رہا ہے، جس کے تھریڈز کو مختلف نوڈس پر عمل میں لایا جا سکتا ہے۔ متفاوت کمپیوٹنگ سسٹم جو مختلف انسٹرکشن سیٹ آرکیٹیکچرز (Xeon/Xeon-Phi، ARM/x86، CPU/GPU/FPGA) کی بنیاد پر کور کو جوڑ سکتے ہیں۔ لینکس کرنل ڈویلپرز کو تجویز کردہ پیچ کا سیٹ صرف x86 CPU والے میزبانوں پر عمل درآمد کی حمایت کرتا ہے، لیکن Popcorn Linux کا ایک زیادہ فعال ورژن بھی ہے، جو ایپلی کیشنز کو مختلف CPU آرکیٹیکچرز (x86 اور ARM) والے میزبانوں پر چلانے کی اجازت دیتا ہے۔ متفاوت ماحول میں پاپ کارن استعمال کرنے کے لیے، آپ کو ایک خاص استعمال کرنا چاہیے۔ مرتب کرنے والا LLVM پر مبنی۔ جب ایک ہی فن تعمیر کے ساتھ میزبانوں پر تقسیم شدہ طور پر چل رہا ہو تو، علیحدہ کمپائلر کے ساتھ دوبارہ تعمیر کرنے کی ضرورت نہیں ہے۔

پاپ کارن لینکس کرنل کے لیے ایک تقسیم شدہ تھریڈ ایگزیکیوشن سسٹم تیار کر رہا ہے۔

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

ماخذ: opennet.ru

نیا تبصرہ شامل کریں