گوگل نے TCMalloc میموری ایلوکیشن سسٹم کا نیا ورژن شائع کیا ہے۔

گوگل پیش کیا میموری کی تقسیم کے نظام کا نیا ورژن TCMalloc، جو گوگل کے بہت سے اندرونی پروجیکٹس میں استعمال ہوتا ہے۔ TCMalloc کوڈ C++ اور میں لکھا گیا ہے۔ نے بانٹا اپاچی لائسنس کے تحت۔ کام کرنے کے لیے، آپ کو ایک کمپائلر کی ضرورت ہے جو C++ زبان کے لیے C++ 17، اور C زبان کے لیے C11 (gcc 9.2+ یا clang 9.0+) کو سپورٹ کرے۔ آپریٹنگ سسٹمز سے کی طرف سے حمایت صرف لینکس (x86، PPC)۔

یہ قابل ذکر ہے کہ 2005 کے بعد سے tcmalloc کی ایک اور قسم ہے، جو فراہم کیا پیکیج میں شامل gperftools (گوگل پرفارمنس ٹولز)۔ وہ دو مختلف مشترکہ جڑوں کے ساتھ منصوبے۔ نیا TCMalloc گوگل کی موجودہ داخلی پیشرفت کو اوپن سورس کرنے کی زیادہ کوشش ہے، لیکن اس کا مقصد ابھی تک ایک مستحکم ABI اور آپریٹنگ سسٹم کی وسیع رینج کے لیے سپورٹ فراہم کرنا نہیں ہے۔ gperftools سے پرانے tcmalloc کو برقرار رکھا جائے گا، لیکن نئی خصوصیات، جیسے CPU پر کیش بائنڈنگ، کو اس میں منتقل کرنے کا منصوبہ نہیں ہے۔

TCMalloc میں C فنکشن malloc() اور C++ "نیا" آپریٹر کا نفاذ شامل ہے، جو اعلیٰ کارکردگی اور ملٹی تھریڈ ایپلی کیشنز میں استعمال کے لیے موزوں ہے۔ TCMalloc خود معائنہ اور پروفائلنگ کی صلاحیتیں بھی فراہم کرتا ہے جو ایک ایپلیکیشن کو ہیپ پر میموری کے استعمال کے بارے میں تفصیلی معلومات حاصل کرنے کی اجازت دیتا ہے۔ کوڈ C++ زبان کی جدید خصوصیات پر مبنی اصلاح کا استعمال کرتا ہے، جیسے
کے ساتھ آپریٹر کو حذف کریں۔ سائز کا اشارہ C++14 سے اور اس کے ساتھ میموری مختص کرنا برابر کرنا C++17 سے۔

TCMalloc پر مشتمل ہے تین اجزاء میں سے: ایک فرنٹ اینڈ جس میں میموری کو فوری طور پر مختص کرنے اور آزاد کرنے کے لیے ایک کیش، فرنٹ اینڈ کیشے کو بھرنے کے لیے ایک پرت، اور ایک بیک اینڈ جو آپریٹنگ سسٹم سے میموری وصول کرنے، غیر استعمال شدہ میموری کے بڑے حصوں کا انتظام، اور اضافی میموری کو واپس کرنے جیسے کام انجام دیتا ہے۔ OS پر واپس جائیں۔ کیشے تالے سے پاک ہے اور CPU کور سے منسلک کام کرتا ہے، لیکن اگر OS کرنل میں ضروری فعالیت دستیاب نہیں ہے تو دھاگے پر مبنی کیشنگ ماڈل پر واپس آ جاتا ہے (کیشے کو CPU کے ساتھ بائنڈنگ کرنا صرف حالیہ لینکس کرنل میں کام کرتا ہے)۔ بیک اینڈ ریگولر میموری پیجز اور بڑھے ہوئے سائز والے صفحات (بڑے صفحہ) دونوں کے ساتھ کام کرنے کی حمایت کرتا ہے۔

 گوگل نے TCMalloc میموری ایلوکیشن سسٹم کا نیا ورژن شائع کیا ہے۔

TCMalloc کی اہم خصوصیات:

  • کیشنگ کا استعمال کرتے ہوئے میموری کی تیزی سے مختص اور ڈی ایلوکیشن۔ زیادہ تر میموری مختص کرنے کے لیے لاکنگ کی ضرورت نہیں ہوتی ہے، جو انتہائی ہم آہنگی، ملٹی تھریڈڈ ایپلی کیشنز کے لیے اچھی اسکیل ایبلٹی فراہم کرتا ہے۔
  • میموری کا لچکدار استعمال، آپ کو مختلف سائز کی اشیاء کے لیے آزاد میموری والے علاقوں کو دوبارہ استعمال کرنے یا آپریٹنگ سسٹم میں میموری کو واپس کرنے کی اجازت دیتا ہے۔
  • یکساں سائز کے آبجیکٹ صفحات مختص کرکے اور چھوٹی اشیاء کی مؤثر طریقے سے نمائندگی کرکے کم فی آبجیکٹ اوور ہیڈ۔ 4KiB، 8KiB، 32KiB اور 256KiB سائز کے منطقی صفحات تعاون یافتہ ہیں۔ مثال کے طور پر، 512 بائٹس میموری کے بلاکس کی درخواست کرتے وقت، 4 بائٹ آبجیکٹ کے لیے ایک پورا 512KiB صفحہ مختص کیا جائے گا، جو 8 ایسی اشیاء کو ایڈجسٹ کر سکتا ہے۔
  • OS پر میموری کی واپسی کی شدت کے لیے کیشے کے سائز اور پیرامیٹرز کا تعین کرکے فائن ٹیوننگ ممکن ہے۔
  • ایپلی کیشن میموری کے استعمال کا تجزیہ کرنے کے لیے تفصیلی معلومات فراہم کرتا ہے۔

ماخذ: opennet.ru

DDoS تحفظ، VPS VDS سرورز والی سائٹوں کے لیے قابل اعتماد ہوسٹنگ خریدیں۔ DDoS تحفظ، VPS VDS سرورز کے ساتھ قابل اعتماد ویب سائٹ ہوسٹنگ خریدیں۔ ProHoster