19 ہائیڈرا ہیڈز۔ پروگرام کا زبردست جائزہ

ایک کانفرنس 11-12 جولائی کو سینٹ پیٹرزبرگ میں منعقد ہوگی۔ ہائڈرامتوازی اور تقسیم شدہ نظاموں کی ترقی کے لیے وقف ہے۔ ہائیڈرا کی چال یہ ہے کہ یہ ٹھنڈے سائنسدانوں (جو عام طور پر صرف غیر ملکی سائنسی کانفرنسوں میں ہی مل سکتے ہیں) اور مشہور پریکٹس کرنے والے انجینئرز کو سائنس اور پریکٹس کے سنگم پر ایک بڑے پروگرام میں اکٹھا کرتا ہے۔

ہائیڈرا گزشتہ چند سالوں میں ہماری سب سے اہم کانفرنسوں میں سے ایک ہے۔ اس سے پہلے بہت سنجیدہ تیاری، مقررین کا انتخاب اور رپورٹس تھیں۔ اس بارے میں گزشتہ ہفتے habro انٹرویو سامنے آیا JUG.ru گروپ کے ڈائریکٹر الیکسی فیڈروف کے ساتھ (23 ڈیریوو).

ہم ہیں پہلے ہی بتا دیا تقریباً تین اہم شرکاء، تقسیم شدہ نظام کے نظریہ کے بانی - لیسلی لیمپورٹ، موریس ہرلیہی اور مائیکل سکاٹ۔ یہ پورے پروگرام کے بارے میں مزید تفصیل سے بات کرنے کا وقت ہے!

19 ہائیڈرا ہیڈز۔ پروگرام کا زبردست جائزہ

پریرتا

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

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

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

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

دوسری طرف، ہمارے پاس بہت سے اعلی انجینئرز ہیں جو اس وقت تقسیم شدہ نظاموں میں مسائل کو دبانے پر کام کر رہے ہیں، اور ان کے پاس یقینی طور پر بتانے کے لیے بہت کچھ ہے۔ لیکن یہاں مسئلہ ہے - وہ работают، اور ان کا وقت قیمتی ہے۔ جی ہاں، اگر آپ مائیکروسافٹ، گوگل یا جیٹ برینز کے ملازم ہیں، تو اندرونی تقریب میں مشہور مقررین میں سے کسی ایک سے ملاقات کا امکان بہت زیادہ بڑھ جاتا ہے، لیکن عام طور پر، نہیں، ایسا ہر روز نہیں ہوتا ہے۔

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

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

کلیدی باتیں

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

کلف کلک کریں۔ H2O نے K/V الگورتھم تقسیم کیا۔

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

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

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

سب سے دلچسپ حصہ اس وقت شروع ہوا جب انہوں نے ایک بڑے کاروبار کے لیے ہارڈویئر بنایا - جاوا کو چلانے کے لیے ایک سپر کمپیوٹر۔ یہ ایک بہت ہی جدید چیز تھی، جو خاص طور پر جاوا کے لیے تیار کی گئی تھی، جس کے خاص تقاضے ہیں - کم توقف کے کوڑے کو جمع کرنے کے لیے میموری کی رکاوٹیں، باؤنڈ چیکنگ کے ساتھ صفوں، ورچوئل کالز کو پڑھیں... بہترین ٹیکنالوجیز میں سے ایک ہارڈویئر ٹرانزیکشنل میموری ہے۔ 1 کوروں میں سے کسی کا بھی پورا L864 ٹرانزیکشنل رائٹنگ میں حصہ لے سکتا ہے، جو جاوا میں لاک کے ساتھ کام کرنے کے لیے خاص طور پر اہم ہے (مطابقت پذیر بلاکس متوازی طور پر کام کر سکتے ہیں جب تک کہ میموری کا کوئی حقیقی تنازعہ نہ ہو)۔ لیکن خوبصورت خیال کو تلخ حقیقت نے کچل دیا - اور اس بات چیت میں کلف آپ کو بتائے گا کہ HTM اور STM ملٹی تھریڈ کمپیوٹنگ کی عملی ضروریات کے لیے بہت موزوں کیوں نہیں ہیں۔

مائیکل سکاٹ - دوہری ڈیٹا ڈھانچے

19 ہائیڈرا ہیڈز۔ پروگرام کا زبردست جائزہ مائیکل سکاٹ - روچیسٹر یونیورسٹی میں کمپیوٹر سائنس کے پروفیسر، جن کے ساتھ قسمت نے اسے جوڑ دیا۔ پہلے سے ہی 34 سال کی عمر میں، اور اپنے گھر کی یونیورسٹی آف وسکونسن – میڈیسن میں، وہ پانچ سال تک ڈین رہے۔ وہ طلباء کو متوازی اور تقسیم شدہ پروگرامنگ اور زبان کے ڈیزائن کے بارے میں تحقیق اور سکھاتا ہے۔

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

جہاں تک جاوا کی دنیا کا تعلق ہے، یہ ایک خاص معاملہ ہے: ڈوگ لی کے ساتھ مل کر، اس نے نان بلاکنگ الگورتھم اور ہم وقت ساز قطاریں تیار کیں جن پر جاوا لائبریریاں کام کرتی ہیں۔ یہ بالکل وہی ہے جو "دوہری ڈیٹا ڈھانچے" کے کلیدی نوٹ کے بارے میں ہوگا - جاوا SE 6 میں ان ڈھانچے کے تعارف نے کارکردگی کو 10 گنا بہتر کیا ہے۔ java.util.concurrent.ThreadPoolExecutor. اگر آپ پہلے سے سوچ رہے ہیں کہ یہ "دوہری ڈیٹا ڈھانچہ" کیا ہیں، تو اس کے بارے میں معلومات موجود ہیں۔ متعلقہ کام.

موریس ہرلیہی - بلاک چینز اور تقسیم شدہ کمپیوٹنگ کا مستقبل

19 ہائیڈرا ہیڈز۔ پروگرام کا زبردست جائزہ موریس ہرلیہی - دو Dijkstra انعامات کے فاتح۔ پہلا کام کے لیے ہے۔ "انتظار سے پاک مطابقت پذیری" (براؤن یونیورسٹی)، اور دوسرا، حال ہی میں - "ٹرانزیکشنل میموری: لاک فری ڈیٹا سٹرکچرز کے لیے آرکیٹیکچرل سپورٹ" (ورجینیا ٹیک یونیورسٹی)۔ ڈجکسٹرا پرائز اس کام کو تسلیم کرتا ہے جس کی اہمیت اور اثر کم از کم دس سالوں سے نظر آتا ہے، اور موریس واضح طور پر اس شعبے کے سب سے مشہور ماہرین میں سے ایک ہیں۔ وہ فی الحال براؤن یونیورسٹی میں بطور پروفیسر کام کرتا ہے اور اس کے پاس کامیابیوں کی ایک پیراگراف لمبی فہرست ہے۔

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

جولائی 2017 میں، موریس پہلے ہی SPTDC اسکول میں شرکت کے لیے روس آیا تھا، JUG.ru میٹ اپ میں حصہ لیا، اور ریکارڈنگ یوٹیوب پر دیکھی جا سکتی ہے:

مرکزی پروگرام

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

لیسلی لیمپورٹ - سوال و جواب

19 ہائیڈرا ہیڈز۔ پروگرام کا زبردست جائزہ لیسلی لیمپورٹ تقسیم شدہ کمپیوٹنگ میں بنیادی کاموں کی مصنف ہیں۔ "لیٹیکس" "Lamport TeX" کا مطلب ہے۔ یہ وہی تھا جس نے سب سے پہلے، 1979 میں، تصور کو متعارف کرایا ترتیب وار مستقل مزاجی، اور اس کا مضمون "ایک ملٹی پروسیسر کمپیوٹر کیسے بنایا جائے جو ملٹی پروسیس پروگراموں کو درست طریقے سے چلاتا ہو" Dijkstra انعام حاصل کیا.

یہ فارمیٹ میں پروگرام کا سب سے غیر معمولی حصہ ہے، کیونکہ یہ رپورٹ بھی نہیں ہے، بلکہ سوال و جواب کا سیشن ہے۔ جب سامعین کا ایک اہم حصہ پہلے سے ہی "Lamport's theory"، اس کے اپنے مضامین اور رپورٹس پر مبنی ہر طرح کے کاموں سے واقف ہے (یا واقف ہو سکتا ہے)، تو یہ زیادہ اہم ہے کہ تمام دستیاب وقت کو براہ راست رابطے پر صرف کیا جائے۔

خیال آسان ہے - آپ یوٹیوب پر دو رپورٹس دیکھتے ہیں: "پروگرامنگ کوڈنگ سے زیادہ ہونا چاہئے" и "اگر آپ پروگرام نہیں لکھ رہے ہیں تو، پروگرامنگ زبان کا استعمال نہ کریں" اور کم از کم ایک سوال تیار کریں، اور لیسلی جواب دیں۔

ان دو ویڈیوز میں سے پہلی ہمارے پاس پہلے ہی موجود ہے۔ ایک ہیبرو مضمون میں بدل گیا۔. اگر آپ کے پاس ویڈیو دیکھنے کے لیے ایک گھنٹہ کا وقت نہیں ہے، تو آپ اسے فوری طور پر متن کی شکل میں پڑھ سکتے ہیں۔

نوٹ: یوٹیوب پر لیسلی لیمپورٹ کے اور بھی بہت سے ویڈیوز موجود ہیں۔ مثال کے طور پر، ایک عظیم ہے TLA+ کورس. اس پورے کورس کا آف لائن ورژن یہاں پر دستیاب ہے۔ مصنف کا ہوم پیج، اور اس نے موبائل آلات پر آسانی سے دیکھنے کے لیے اسے YouTube پر اپ لوڈ کیا۔

مارٹن کلیپ مین - تقسیم شدہ تعاون کے لیے صارف کے آلات پر ڈیٹا کی مطابقت پذیری

19 ہائیڈرا ہیڈز۔ پروگرام کا زبردست جائزہ مارٹن کلیپ مین یونیورسٹی آف کیمبرج کے ایک محقق ہیں جو CRDT اور الگورتھم کی باقاعدہ تصدیق پر کام کر رہے ہیں۔ مارٹن کی کتاب "ڈیزایننگ ڈیٹا انٹینسیو ایپلی کیشنز"2017 میں شائع ہوا، بہت کامیاب ثابت ہوا اور اسے ڈیٹا اسٹوریج اور پروسیسنگ کے میدان میں سب سے زیادہ فروخت ہونے والی فہرستوں میں شامل کر لیا۔ کیون سکاٹ، مائیکروسافٹ میں CTO، ایک بار کہا: "یہ کتاب سافٹ ویئر انجینئرز کے لیے لازمی ہونی چاہیے۔ یہ ایک نادر وسیلہ ہے جو بنیادی ڈھانچے اور ڈیٹا سسٹمز کو ڈیزائن اور لاگو کرنے میں ڈویلپرز کی بہتر مدد کرنے کے لیے تھیوری اور پریکٹس کو یکجا کرتا ہے۔ کافکا کے خالق اور Confluent کے CTO جے کریپس نے بھی کچھ ایسا ہی کہا۔

تعلیمی تحقیق میں جانے سے پہلے، مارٹن نے صنعت میں کام کیا اور دو کامیاب اسٹارٹ اپس کی مشترکہ بنیاد رکھی:

  • آپ کے ای میل سے روابط کے سماجی پروفائل کو ظاہر کرنے کے لیے وقف، جو LinkedIn نے 2012 میں خریدا تھا۔
  • Go Test It، مختلف براؤزرز میں ویب سائٹس کو خود بخود جانچنے کے لیے ایک سروس، جسے RedGate نے 2009 میں خریدا تھا۔

عام طور پر، مارٹن، اگرچہ ہمارے کلیدی نوٹوں سے کم مشہور ہے، پہلے ہی تقسیم شدہ کمپیوٹنگ کی ترقی اور صنعت میں کچھ حصہ ڈالنے میں کامیاب رہا ہے۔

اس گفتگو میں، مارٹن اپنی علمی تحقیق کے قریب ایک موضوع پر بات کریں گے۔ Google Docs اور اسی طرح کی دستاویز کی مشترکہ تدوین کے صوفوں میں، "باہمی تدوین" سے مراد نقل تیار کرنے کا کام ہے: ہر صارف کے پاس مشترکہ دستاویز کی اپنی نقل ہوتی ہے، جس میں وہ پھر ترمیم کرتے ہیں، اور تمام تبدیلیاں پورے نیٹ ورک پر بھیجی جاتی ہیں۔ امیدوار. آف لائن دستاویزات میں تبدیلیاں دیگر شرکاء کے سلسلے میں دستاویز کی عارضی عدم مطابقت کا باعث بنتی ہیں، اور دوبارہ مطابقت پذیری کے لیے تنازعات سے نمٹنے کی ضرورت ہوتی ہے۔ یہ بالکل وہی ہے جس کے لئے وہ موجود ہیں۔ تنازعات سے پاک نقل شدہ ڈیٹا کی اقسام (CRDT)، درحقیقت، کافی نئی چیز ہے، جس کا جوہر صرف 2011 میں وضع کیا گیا تھا۔ یہ گفتگو بحث کرتی ہے کہ CRDT کی دنیا میں اس کے بعد سے کیا ہوا، حالیہ پیش رفت کیا ہیں، عام طور پر مقامی-پہلی ایپلی کیشنز بنانے کا طریقہ اور اوپن سورس لائبریری کا استعمال۔ خودکار مرج خاص طور پر.

اگلے ہفتے ہم Habré پر مارٹن کے ساتھ ایک طویل انٹرویو شائع کریں گے، یہ دلچسپ ہوگا۔

پیڈرو رامالہیٹے - انتظار سے پاک ڈیٹا ڈھانچے اور انتظار سے پاک لین دین

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

زیادہ تر ملٹی تھریڈ ایپلی کیشنز اب متوازی ڈیٹا ڈھانچے پر چلتی ہیں، اداکاروں کے درمیان پیغام کی قطار کے استعمال سے لے کر کلیدی قدر والے اسٹورز میں انڈیکس شدہ ڈیٹا ڈھانچے تک۔ وہ جاوا JDK میں کئی سالوں سے کامیابی سے کام کر رہے ہیں، اور انہیں آہستہ آہستہ C++ میں شامل کیا جا رہا ہے۔

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

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

ہیڈی ہاورڈ - تقسیم شدہ اتفاق رائے کو آزاد کرنا

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

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

ایک سے زیادہ میزبانوں کے درمیان اتفاق رائے تلاش کرنے کی اہلیت — ایڈریسنگ، لیڈر الیکشن، بلاکنگ، یا کوآرڈینیشن — جدید تقسیم شدہ نظاموں میں ایک بنیادی مسئلہ ہے۔ Paxos اب اتفاق رائے سے متعلق مسائل کو حل کرنے کا بنیادی طریقہ ہے، اور مختلف عملی ضروریات کے لیے الگورتھم کو وسعت دینے اور بہتر بنانے کے لیے اس کے ارد گرد کافی تحقیق جاری ہے۔

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

الیکس پیٹروف - عارضی نقل اور سستے کورم کے ساتھ اپنے اسٹوریج کے اخراجات کو کم کریں۔

19 ہائیڈرا ہیڈز۔ پروگرام کا زبردست جائزہ الیکس ایک ڈیٹا بیس اور سٹوریج سسٹمز کا ماہر ہے، اور اس سے بھی اہم بات یہ ہے کہ ہمارے لیے ایک کمٹٹر ہے۔ Cassandra. وہ فی الحال O'Reilly کے ساتھ ایک کتاب، Database Internals پر کام کر رہا ہے۔

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

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

رپورٹ کے دوران ہم غور کریں گے۔ گواہ نقلیں، نقل کی اسکیم جس میں استعمال ہوتا ہے۔ اسپینر и میگاسٹور، اور اپاچی کیسینڈرا میں اس تصور کے نفاذ کو کہا جاتا ہے۔ عارضی نقل اور سستے کورم.

دمتری ویوکوف - Goroutines بے نقاب

19 ہائیڈرا ہیڈز۔ پروگرام کا زبردست جائزہ Dmitry Google میں ایک ڈویلپر ہے جو C/C++ اور Go - Address/Memory/Thread Sanitizer، اور لینکس کرنل کے لیے اسی طرح کے ٹولز کے لیے متحرک ٹیسٹنگ پر کام کر رہا ہے۔ ایک توسیع پذیر گوروٹین شیڈیولر، ایک نیٹ ورک پولر، اور ایک متوازی کوڑا کرکٹ جمع کرنے والے Go میں تعاون کیا۔ وہ ملٹی تھریڈنگ کا ماہر ہے، ایک درجن نئے نان بلاکنگ الگورتھم کے مصنف اور اس کے مالک ہیں۔ بلیک بیلٹ انٹیل.

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

دمتری بگائیچینکو - امکانی خاکوں اور مزید کے ساتھ تقسیم شدہ گراف کے تجزیہ کو تیز کرنا

19 ہائیڈرا ہیڈز۔ پروگرام کا زبردست جائزہ دمتری نے یونیورسٹی اور سائنسی برادری سے رابطہ کھوئے بغیر تقریباً 9 سال تک آؤٹ سورسنگ میں کام کیا۔ Odnoklassniki میں اعداد و شمار کا بڑا تجزیہ ان کے لیے نظریاتی تربیت اور سائنسی بنیادوں کو حقیقی، طلب کے مطابق مصنوعات کی ترقی کے ساتھ جوڑنے کا ایک منفرد موقع بن گیا۔

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

ڈینس ریسٹسوف - عارضی نقل اور سستے کورم کے ساتھ اپنے اسٹوریج کے اخراجات کو کم کریں۔

19 ہائیڈرا ہیڈز۔ پروگرام کا زبردست جائزہ ڈینس - ڈویلپر Cosmos DBمستقل مزاجی کے ماڈلز، متفقہ الگورتھم، اور تقسیم شدہ لین دین کی جانچ کرنے میں ماہر۔ وہ فی الحال مائیکروسافٹ میں کام کرتا ہے، اور اس سے پہلے اس نے ایمیزون اور یانڈیکس میں تقسیم شدہ نظاموں پر کام کیا۔

اس گفتگو میں، ہم تقسیم شدہ لین دین کے پروٹوکولز پر ایک نظر ڈالیں گے جو پچھلے کچھ سالوں میں ایجاد ہوئے ہیں، جو کسی بھی ڈیٹا اسٹور کے اوپر کلائنٹ سائیڈ پر لاگو کیا جا سکتا ہے جو مشروط اپ ڈیٹ (موازنہ اور سیٹ) کو سپورٹ کرتا ہے۔ سب سے اہم بات یہ ہے کہ زندگی دو فیز کمٹ کے ساتھ ختم نہیں ہوتی، لین دین کو کسی بھی ڈیٹا بیس کے اوپر شامل کیا جا سکتا ہے - ایپلیکیشن لیول پر، لیکن مختلف پروٹوکولز (2PC، پرکولیٹر، RAMP) کے مختلف ٹریڈ آفس ہوتے ہیں اور ہمیں نہیں دیے جاتے۔ مفت میں.

الیکسی زینوویف - تمام ML الگورتھم اسے تقسیم شدہ جنت میں نہیں بناتے ہیں۔

19 ہائیڈرا ہیڈز۔ پروگرام کا زبردست جائزہ الیکسی (zaleslaw) ایک طویل عرصے سے مقرر اور دیگر کانفرنسوں میں پروگرام کمیٹیوں کے رکن ہیں۔ EPAM سسٹمز میں ٹرینر کی مشق کر رہا ہے، اور 2012 سے Hadoop/Spark اور دیگر بڑے ڈیٹا کے ساتھ دوستی کر رہا ہے۔

اس گفتگو میں، Alexey Apache Spark ML، Apache Mahout، Apache Flink ML کے ساتھ کام کرنے کے اپنے تجربے اور Apache Ignite ML بنانے کے تجربے کی بنیاد پر تقسیم شدہ موڈ میں کلاسیکل مشین لرننگ الگورتھم کو ڈھالنے کے مسائل کے بارے میں بات کرے گا۔ الیکسی ان فریم ورک میں تقسیم شدہ ایم ایل الگورتھم کے نفاذ کے بارے میں بھی بات کرے گا۔

اور آخر میں، Yandex کی طرف سے Yandex ڈیٹا بیس کے بارے میں دو رپورٹس۔

Vladislav Kuznetsov - Yandex ڈیٹا بیس - ہم غلطی کی رواداری کو کیسے یقینی بناتے ہیں۔

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

سیمیون چیچریندا - YDB میں تقسیم شدہ لین دین

19 ہائیڈرا ہیڈز۔ پروگرام کا زبردست جائزہ سیمیون Yandex میں تقسیم شدہ پلیٹ فارم گروپ میں ایک ڈویلپر ہے، جو YDB انسٹالیشن کے کثیر کرایہ دار کے استعمال کے امکان پر کام کر رہا ہے۔

Yandex ڈیٹا بیس OLTP سوالات کے لیے ڈیزائن کیا گیا ہے اور ٹرانزیکشنل سسٹم کے لیے ACID کے تقاضوں کی تعمیل کرتا ہے۔ اس رپورٹ میں، ہم ٹرانزیکشن شیڈولنگ الگورتھم پر غور کریں گے جو YDB ٹرانزیکشن سسٹم کو زیر کرتا ہے۔ آئیے دیکھتے ہیں کہ کون سے ادارے لین دین میں حصہ لیتے ہیں، کون لین دین کو عالمی ترتیب تفویض کرتا ہے، لین دین کی جوہری، قابل اعتمادی، اور تنہائی کی سخت سطح کیسے حاصل کی جاتی ہے۔ ایک عام مسئلہ کو مثال کے طور پر استعمال کرتے ہوئے، آئیے دو فیز کمٹ اور ڈیٹرمنسٹک ٹرانزیکشنز کا استعمال کرتے ہوئے لین دین کے نفاذ کو دیکھیں۔ آئیے ان کے اختلافات پر بات کرتے ہیں۔

اس کے بعد کیا ہے؟

کانفرنس کا پروگرام نئی رپورٹوں سے بھرا رہتا ہے۔ خاص طور پر، ہم سے ایک رپورٹ کی توقع ہے نکیتا کوول (ndkoval) JetBrains سے اور اولیگ اناستاسیوف (m0nsterمائنڈOdnoklassniki کمپنی سے۔ نکیتا کوٹلن ٹیم میں کوروٹینز کے لیے الگورتھم پر کام کرتی ہے، اور اولیگ Odnoklassniki پلیٹ فارم میں ہائی لوڈ سسٹمز کے لیے فن تعمیر اور حل تیار کرتا ہے۔ اس کے علاوہ، ایک اور جگہ مشروط طور پر خالی ہے، پروگرام کمیٹی اس کے لیے امیدواروں کے ساتھ ابھی کام کر رہی ہے۔

ہائیڈرا کانفرنس 11-12 جولائی کو سینٹ پیٹرزبرگ میں ہوگی۔ ٹکٹ دستیاب ہیں۔ سرکاری ویب سائٹ پر خریدیں۔. براہ کرم آن لائن ٹکٹوں کی دستیابی پر توجہ دیں - اگر کسی وجہ سے آپ ان دنوں سینٹ پیٹرزبرگ نہیں جا سکتے۔

Hydra میں ملتے ہیں!

ماخذ: www.habr.com

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