"خاموش رہنے سے جواب دینا آسان ہے" - ٹرانزیکشنل میموری کے والد، موریس ہرلیہی کے ساتھ ایک زبردست انٹرویو

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

اس سے پہلے، ماریس پہلے ہی ایس پی ٹی سی سی کے لیے روس آچکے تھے۔ویڈیو ریکارڈنگ) اور سینٹ پیٹرزبرگ میں JUG.ru Java ڈویلپر کمیونٹی کی ایک بہترین میٹنگ کی۔ویڈیو ریکارڈنگ).

یہ habrapost Maurice Herlihy کے ساتھ ایک زبردست انٹرویو ہے۔ یہ مندرجہ ذیل موضوعات پر بحث کرتا ہے:

  • اکیڈمی اور صنعت کے درمیان تعامل؛
  • بلاکچین ریسرچ کے لیے فاؤنڈیشن؛
  • پیش رفت کے خیالات کہاں سے آتے ہیں؟ مقبولیت کا اثر؛
  • باربرا لیسکوف کی نگرانی میں پی ایچ ڈی؛
  • دنیا ملٹی کور کا انتظار کر رہی ہے۔
  • ایک نئی دنیا نئے مسائل لاتی ہے۔ NVM، NUMA اور فن تعمیر کی ہیکنگ؛
  • کمپائلرز بمقابلہ پروسیسرز، RISC بمقابلہ CISC، مشترکہ میموری بمقابلہ پیغام پاس کرنا؛
  • نازک ملٹی تھریڈڈ کوڈ لکھنے کا فن؛
  • طلباء کو پیچیدہ ملٹی تھریڈڈ کوڈ لکھنا کیسے سکھایا جائے؛
  • کتاب کا نیا ایڈیشن "ملٹی پروسیسر پروگرامنگ کا فن"؛
  • ٹرانزیکشنل میموری کیسے ایجاد ہوئی؛   
  • تقسیم شدہ کمپیوٹنگ کے میدان میں تحقیق کرنے کے قابل کیوں ہے؛
  • کیا الگورتھم کی ترقی رک گئی ہے، اور کیسے آگے بڑھنا ہے؛
  • براؤن یونیورسٹی میں کام؛
  • یونیورسٹی اور کارپوریشن میں تحقیق کے درمیان فرق؛
  • ہائیڈرا اور ایس پی ٹی ڈی سی۔

انٹرویو کی طرف سے منعقد کیا جاتا ہے:

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

الیکسی فیڈروف - JUG Ru گروپ میں پروڈیوسر، ایک روسی کمپنی جو ڈویلپرز کے لیے کانفرنسوں کا اہتمام کرتی ہے۔ الیکسی نے 50 سے زیادہ کانفرنسوں کی تیاری میں حصہ لیا، اور اس کے ریزیومے میں اوریکل (JCK، Java Platform Group) میں ڈویلپمنٹ انجینئر کے عہدے سے لے کر Odnoklassniki میں ایک ڈویلپر کے عہدے تک سب کچھ شامل ہے۔

ولادیمیر سیٹنکوف - نیٹ کریکر میں انجینئر۔ NetCracker OS کی کارکردگی اور اسکیل ایبلٹی پر دس سال کا کام، ٹیلی کام آپریٹرز کے ذریعے نیٹ ورک اور نیٹ ورک آلات کے انتظام کے عمل کو خودکار کرنے کے لیے استعمال کیا جاتا ہے۔ جاوا اور اوریکل ڈیٹا بیس کی کارکردگی کے مسائل میں دلچسپی رکھتے ہیں۔ آفیشل PostgreSQL JDBC ڈرائیور میں ایک درجن سے زیادہ کارکردگی میں بہتری کا مصنف۔

اکیڈمی اور صنعت کے درمیان تعامل

الیکسی: موریس، آپ نے ایک طویل عرصے تک علمی ماحول میں کام کیا ہے اور پہلا سوال تعلیمی اور صنعتی شعبوں کے درمیان تعامل کا ہے۔ کیا آپ اس بارے میں بات کر سکتے ہیں کہ حال ہی میں ان کے درمیان بات چیت کیسے بدلی ہے؟ 20-30 سال پہلے کیا ہوا تھا اور اب کیا ہو رہا ہے؟ 

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

الیکسی: کیا آپ ہمیں مزید تفصیل سے بتا سکتے ہیں کہ یہ کیسے ہوتا ہے؟

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

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

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

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

بلاکچین ریسرچ کے لیے فاؤنڈیشن

Vitaly: کچھ لوگوں کا خیال ہے کہ مستقبل بلاک چین اور اس کے الگورتھم کے ساتھ ہے۔ اور دوسرے لوگ کہتے ہیں کہ یہ صرف ایک اور بلبلہ ہے۔ کیا آپ اس معاملے پر اپنی رائے بتا سکتے ہیں؟

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

Vitaly: تو آپ بلاکچین تحقیق کی بنیاد رکھنے کی کوشش کر رہے ہیں، ٹھیک ہے؟

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

اگر لوگ نئی ٹیکنالوجی ایجاد کرتے ہیں، تو وہ اسے بلاک چین کہتے رہیں گے۔ میرا مطلب ہے، جیسے آج کے فورٹران کا 1960 کی دہائی کی فورٹران زبان سے کوئی تعلق نہیں ہے، لیکن ہر کوئی اسے فورٹران ہی کہتا ہے۔ UNIX کے لیے بھی ایسا ہی ہے۔ جسے "blockchain" کہا جاتا ہے وہ اب بھی اپنا انقلاب لائے گا۔ لیکن مجھے شک ہے کہ یہ نیا بلاکچین کچھ بھی ایسا ہی ہوگا جیسا کہ آج کل ہر کوئی استعمال کر رہا ہے۔

پیش رفت کے خیالات کہاں سے آتے ہیں؟ مقبولیت کا اثر

الیکسی: کیا بلاک چین کی مقبولیت سائنسی نقطہ نظر سے نئے نتائج کا باعث بنی ہے؟ مزید تعامل، زیادہ طلباء، علاقے میں مزید کمپنیاں۔ کیا مقبولیت میں اس اضافے سے پہلے ہی کوئی نتائج سامنے آئے ہیں؟

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

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

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

الیکسی: آپ کے خیال میں ایسا کیوں ہوتا ہے؟ کیوں کہ "باہر" لوگوں کی کمیونٹی میں کوئی خاص رکاوٹیں نہیں ہیں؟

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

الیکسی: یہ سٹارٹ اپس اور لیگیسی پروجیکٹس کے درمیان فرق کی طرح ہے۔ ہمیں سوچ کی بہت سی حدود، رکاوٹیں، خصوصی تقاضے وغیرہ ورثے میں ملتے ہیں۔

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

باربرا لیسکوف کی نگرانی میں پی ایچ ڈی

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

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

دنیا ملٹی کور کا انتظار کر رہی ہے۔

Vitaly: آپ نے بتایا کہ اس وقت بہت کم ملٹی کور کمپیوٹرز تھے، ٹھیک ہے؟

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

الیکسی: کیا اس کا مطلب یہ نہیں ہے کہ قدیم زمانے میں یہ زیادہ نظریاتی مطالعہ تھا؟

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

الیکسی: آپ کو کیوں لگتا ہے کہ ملٹی کور پروسیسرز صرف XNUMX کی دہائی میں ظاہر ہوئے؟ تو اتنی دیر کیوں؟

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

ایک نئی دنیا نئے مسائل لاتی ہے۔ NUMA، NVM اور فن تعمیر کی ہیکنگ

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

Vitaly: میں الیکسی کے سوال میں اضافہ کروں گا: کیا آپ نے تھیوری کا مطالعہ کرتے وقت پروسیسر کے فن تعمیر کی صحیح پیش گوئی کی تھی؟

مورس: 100% نہیں۔ لیکن مجھے لگتا ہے کہ میں نے اور میرے ساتھیوں نے مشترکہ میموری کے ساتھ ملٹی کور کی پیش گوئی کرتے ہوئے ایک اچھا کام کیا ہے۔ میرے خیال میں ہم نے متوازی ڈیٹا ڈھانچے کو تیار کرنے میں دشواریوں کی صحیح پیش گوئی کی ہے جو تالے کے بغیر کام کرتے ہیں۔ اس طرح کے ڈیٹا ڈھانچے بہت ساری ایپلی کیشنز کے لیے اہم رہے ہیں، اگرچہ سبھی نہیں، لیکن اکثر آپ کو واقعی ضرورت ہوتی ہے نان لاکنگ ڈیٹا ڈھانچہ۔ جب ہم نے انہیں ایجاد کیا، تو بہت سے لوگوں نے دلیل دی کہ یہ بکواس ہے، کہ سب کچھ تالے کے ساتھ ٹھیک کام کرتا ہے۔ ہم نے کافی اچھی پیش گوئی کی تھی کہ پروگرامنگ کے بہت سے مسائل اور ڈیٹا سٹرکچر کے مسائل کے لیے تیار حل ہوں گے۔ مزید پیچیدہ مسائل بھی تھے، جیسے NUMA - میموری تک غیر مساوی رسائی۔ درحقیقت، ان پر اس وقت تک غور نہیں کیا گیا جب تک کہ ملٹی کور پروسیسرز ایجاد نہیں ہوئے کیونکہ وہ بہت مخصوص تھے۔ ریسرچ کمیونٹی ایسے سوالات پر کام کر رہی تھی جو عام طور پر قابل قیاس تھے۔ مخصوص فن تعمیر کے ساتھ منسلک کچھ ہارڈ ویئر کے مسائل کو پنکھوں میں انتظار کرنا پڑا - حقیقت میں، ان فن تعمیر کی ظاہری شکل. مثال کے طور پر، کسی نے واقعی GPU کے مخصوص ڈیٹا ڈھانچے پر کام نہیں کیا کیونکہ GPUs اس وقت موجود نہیں تھے۔ اگرچہ اس پر بہت کام ہو چکا ہے۔ سمڈیہ الگورتھم جیسے ہی مناسب ہارڈ ویئر دستیاب ہو گئے استعمال کے لیے تیار ہو گئے۔ تاہم، ہر چیز کا اندازہ لگانا ناممکن ہے۔

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

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

Vitaly: مستقبل کے بارے میں کیا؟ کیا آپ اندازہ لگا سکتے ہیں کہ اگلا پروسیسرز کیسے تیار ہوں گے؟ ایک خیال ہے کہ جوابات میں سے ایک ٹرانزیکشنل میموری ہے۔ آپ کے پاس اسٹاک میں شاید کچھ اور ہے۔

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

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

الیکسی: غیر مستحکم میموری کا کیا ہوگا (غیر مستحکم میموری)?

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

کمپائلرز بمقابلہ پروسیسرز، RISC بمقابلہ CISC، مشترکہ میموری بمقابلہ پیغام پاس کرنا

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

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

الیکسی: انڈسٹری کے لیے یہ کتنا عام ہے کہ کچھ خیالات کئی دہائیوں تک جیت جاتے ہیں اور اگلے میں ہار جاتے ہیں؟ کیا اس طرح کی متواتر تبدیلیوں کی دوسری مثالیں ہیں؟

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

برٹل ملٹی تھریڈڈ کوڈ لکھنے کا فن

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

موریس: یہ بالکل سچ ہے کہ مشترکہ میموری پیغام کے گزرنے پر بنتی ہے - بسیں، کیچز وغیرہ۔ لیکن میسج پاسنگ کا استعمال کرتے ہوئے پروگرام لکھنا مشکل ہے، اس لیے ہارڈ ویئر جان بوجھ کر جھوٹ بولتا ہے، یہ دکھاوا کرتا ہے کہ آپ کے پاس یکساں میموری ہے۔ اس سے کارکردگی خراب ہونے سے پہلے آپ کے لیے آسان، درست پروگرام لکھنا آسان ہو جائے گا۔ پھر آپ کہیں گے: ایسا لگتا ہے کہ کیشے سے دوستی کرنے کا وقت آگیا ہے۔ اور پھر آپ کو کیش کے محل وقوع کے بارے میں فکر ہونے لگتی ہے، اور یہ وہاں سے چلا جاتا ہے۔ ایک لحاظ سے، آپ تجرید کو ہیک کر رہے ہیں: آپ جانتے ہیں کہ یہ صرف فلیٹ، یکساں میموری نہیں ہے، اور آپ اس علم کو کیش فرینڈلی پروگرام لکھنے کے لیے استعمال کرنے جا رہے ہیں۔ حقیقی مسائل میں آپ کو یہی کرنا پڑے گا۔ آپ کو دی گئی میٹھی، سادہ، عمدہ تجرید اور بنیادی ہارڈ ویئر کے خوفناک حد تک پیچیدہ نفاذ کے درمیان یہ تنازعہ ہے جہاں ہر کوئی اپنا سمجھوتہ کرے گا۔ میرے پاس ملٹی پروسیسرز اور سنکرونائزیشن کے بارے میں ایک کتاب ہے، اور ایک موقع پر میں ڈیٹا ڈھانچے پر ایک باب لکھنے جا رہا تھا۔ java.util.concurrent. اگر آپ ان پر نظر ڈالیں تو جیسے چیزیں بھول چوک کے ساتھ فہرستیں یہ فن کے حیرت انگیز کام ہیں۔ (ایڈیٹر کا نوٹ: جاوا زبان سے واقف افراد کو کم از کم نفاذ پر ایک نظر ڈالنی چاہئے۔ ConcurrentSkipListMap، آپ لنکس کو دیکھ سکتے ہیں۔ API и سورس کوڈ)۔ لیکن میرے نقطہ نظر سے، یہ طالب علموں کو دکھانا غیر ذمہ دارانہ ہوگا، کیونکہ اس طرح کا ڈیٹا ڈھانچہ اس طرح ہے جیسے سرکس میں ایک لڑکا ریچھ کے گڑھے پر ٹائیٹروپ پر دوڑ رہا ہو۔ اگر آپ ایک چھوٹی سی تفصیل بھی بدل دیتے ہیں تو پورا ڈھانچہ گر جائے گا۔ یہ کوڈ بہت تیز اور خوبصورت ہے صرف اس لیے کہ یہ بالکل ٹھیک لکھا گیا ہے، لیکن ذرا سی تبدیلی مکمل ناکامی کا باعث بنے گی۔ اگر میں یہ کوڈ طالب علموں کو بطور مثال دیتا ہوں تو وہ فوراً کہیں گے: میں بھی ایسا کر سکتا ہوں! اور پھر کوئی طیارہ گر کر تباہ ہو جائے گا یا ایٹمی ری ایکٹر پھٹ جائے گا، اور میں ان کو غلط وقت پر بہت زیادہ معلومات دینے کا مجرم ہو گا۔

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

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

الیکسی: یہ پتہ چلتا ہے کہ آپ مسئلہ کو دو حصوں میں تقسیم کرتے ہیں: پہلا درستگی ہے، دوسرا کارکردگی؟

مورس: بالکل۔ اور، بالکل اسی ترتیب میں۔ مسئلہ کا ایک حصہ یہ ہے کہ نئے طلباء یہ نہیں سمجھتے کہ درستگی حاصل کرنا مشکل ہے۔ پہلی نظر میں وہ کہتے ہیں: یہ واضح طور پر درست ہے، صرف اس کی رفتار کو تیز کرنا ہے. تو کبھی کبھی میں انہیں ابتدائی طور پر غلط الگورتھم کے بارے میں بتاتا ہوں گویا یہ درست تھا۔

طلباء کو پیچیدہ ملٹی تھریڈ کوڈ لکھنا کیسے سکھایا جائے۔

الیکسی: صرف یہ دیکھنے کے لیے کہ کیا وہ کیچ کو محسوس کر سکتے ہیں؟

موریس: میں ہمیشہ پیشگی خبردار کرتا ہوں کہ بعض اوقات میں غلط الگورتھم تجویز کروں گا۔ آپ کو لوگوں کو دھوکہ نہیں دینا چاہئے۔ میرا مشورہ ہے کہ وہ معلومات کو نمک کے ایک دانے کے ساتھ لیں۔ اگر میں کچھ بتاؤں اور کہوں: "دیکھو، یہ ظاہر ہے کہ درست ہے" - یہ اس بات کا اشارہ ہے کہ کہیں وہ آپ کو دھوکہ دینے کی کوشش کر رہے ہیں، اور آپ کو سوال پوچھنا شروع کر دینا چاہیے۔ اس کے بعد، میں طلباء کی حوصلہ افزائی کرنے کی کوشش کرتا ہوں کہ وہ سوالات کرتے رہیں، اور پھر میں تجویز کرتا ہوں، "اگر ہم چیزوں کو ویسا ہی چھوڑ دیں تو کیا ہوگا؟" اور انہیں فوراً غلطی نظر آتی ہے۔ لیکن طلباء کو یہ باور کرانا کہ انہیں درستگی کے بارے میں فکر کرنے کی ضرورت ہے اس سے کہیں زیادہ مشکل ہے جتنا کہ پہلی نظر میں لگتا ہے۔ ان میں سے بہت سے طالب علم ہائی اسکول میں پروگرامنگ کے تجربے کے ساتھ آتے ہیں، کچھ نے نوکریاں حاصل کی ہیں اور وہاں پروگرامنگ کی ہے، اور وہ سب اعتماد سے بھرے ہوئے ہیں۔ یہ فوج کی طرح کچھ ہے: آپ کو سب سے پہلے ان کا مزاج بدلنا ہوگا تاکہ وہ اس بات پر قائل ہو جائیں کہ وہ پیش آنے والے مسائل کو حل کرنے کے لیے صبر سے رجوع کریں۔ یا شاید یہ بدھ راہبوں کی طرح ہے: پہلے وہ درستگی کے بارے میں استدلال کرنا سیکھتے ہیں، اور ایک بار جب وہ درستگی کے بارے میں استدلال کے طریقوں کو سمجھ لیتے ہیں، تو انہیں اگلے درجے پر جانے اور کارکردگی کے بارے میں فکر کرنے کی اجازت مل جاتی ہے۔

الیکسی: یعنی، بعض اوقات آپ طلباء کو غیر کام کرنے والی مثالیں دکھاتے ہیں، جس کی بدولت آپ کو تاثرات ملتے ہیں کہ آیا وہ مسئلے کے جوہر کو سمجھتے ہیں، آیا وہ غلط کوڈ اور غلط نتیجہ تلاش کر سکتے ہیں۔ تو، کیا طلباء عام طور پر آپ کو خوش یا غمگین کرتے ہیں؟

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

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

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

الیکسی: اب ہمارے پاس اس انٹرویو کا ایک بہترین عنوان ہے: "خاموش رہنے سے جواب دینا آسان ہے۔"

Vitaly: مجھے دوبارہ پوچھنے دو۔ آپ ٹاپولوجیکل ثبوتوں پر کام کر رہے ہیں۔ یہاں تک کہ آپ اس میں کیسے شامل ہوئے، کیونکہ تقسیم شدہ کمپیوٹنگ اور ٹوپولوجی بالکل مختلف چیزیں ہیں!

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

Vitaly: یہ پتہ چلتا ہے کہ آپ صرف خوش قسمت تھے؟

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

کتاب کا نیا ایڈیشن "ملٹی پروسیسر پروگرامنگ کا فن"

الیکسی: آپ نے اپنی کتاب کے بارے میں کچھ الفاظ کہے۔ یہ شاید سب سے برا راز نہیں ہے کہ آپ نے ملٹی تھریڈنگ پر دنیا کی سب سے مشہور کتاب لکھی، "ملٹی پروسیسر پروگرامنگ کا فن". یہ پہلے ہی تقریباً 11 سال پرانا ہے اور اس کے بعد سے اسے صرف جاری کیا گیا ہے۔  نظر ثانی شدہ دوبارہ پرنٹ. کیا دوسرا ایڈیشن ہوگا؟

ماریس: یہ اچھا ہے کہ آپ نے پوچھا! یہ بہت جلد ہو جائے گا، تین ماہ یا اس سے زیادہ میں۔ دو اور مصنفین ہیں، ہم نے بہت زیادہ مواد شامل کیا، فورک/جوائن متوازی کے حصے کو بہتر بنایا، MapReduce پر ایک سیکشن لکھا، بہت سی نئی چیزیں شامل کیں اور غیر ضروری چیزیں پھینک دیں - ایسی چیز جو لکھنے کے وقت بہت دلچسپ تھی۔ پہلا ایڈیشن، لیکن آج نہیں ہے۔ نتیجہ ایک بہت سنجیدگی سے نظر ثانی شدہ کتاب تھا۔

الیکسی: سب کچھ ہو چکا ہے، جو باقی رہ گیا ہے اسے جاری کرنا ہے؟

مورس: چند ابواب پر ابھی بھی کچھ کام کی ضرورت ہے۔ ہمارا پبلشر (جو میرے خیال میں پہلے ہی ہم سے نفرت کرتا ہے) اب بھی یہ پیغام پہنچانے کی کوشش کر رہا ہے کہ ہمیں تیزی سے کام کرنا چاہیے۔ ہم شیڈول سے بہت پیچھے ہیں۔ نظریاتی طور پر، ہم یہ کتاب چند سال پہلے کر سکتے تھے۔

الیکسی: کرسمس سے پہلے کتاب کا نیا ورژن حاصل کرنے کا کوئی امکان؟

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

الیکسی: کسی بھی صورت میں، یہ شاندار خبر ہے۔ مجھے کتاب کا پہلا ایڈیشن بہت پسند آیا۔ آپ کہہ سکتے ہیں کہ میں مداح ہوں۔

مورس: مجھے امید ہے کہ نیا ایڈیشن آپ کے پرجوش جوش و خروش کے لائق ہوگا، شکریہ!

ٹرانزیکشنل میموری کی ایجاد کیسے ہوئی۔

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

موریس: میں اپنے گریجویٹ تحقیقی دنوں سے لین دین کے بارے میں جانتا ہوں۔

Vitaly: ہاں، لیکن یہ مختلف لین دین ہیں!

موریس: میں نے ایلیٹ ماس کے ساتھ نان بلاکنگ کوڑا کرکٹ جمع کرنے پر کام کیا۔ ہمارا مسئلہ یہ تھا کہ ہم میموری میں کچھ الفاظ کو جوہری طور پر تبدیل کرنا چاہتے تھے اور پھر الگورتھم بہت آسان ہو جائیں گے، اور کم از کم ان میں سے کچھ زیادہ موثر ہو جائیں گے۔ استعمال کرنا موازنہ اور تبادلہ لیے load-link/store-conditionalمتوازی فن تعمیر کے ذریعہ فراہم کردہ، کچھ کرنا ممکن ہے، لیکن یہ بہت ناکارہ اور بدصورت ہے کیونکہ آپ کو انڈائریکشن کی تہوں سے نمٹنا پڑے گا۔ میں میموری الفاظ کو تبدیل کرنا چاہتا ہوں اور مجھے سوئچ کرنے کی ضرورت ہے کیونکہ میں صرف ایک پوائنٹر کو تبدیل کر سکتا ہوں، اس لیے انہیں کسی قسم کی ڈائریکٹری نما ساخت کی طرف اشارہ کرنے کی ضرورت ہے۔ ہم نے اس بارے میں بات کی کہ یہ کتنا اچھا ہو گا اگر ہم ہارڈ ویئر کو تبدیل کر سکیں تاکہ یہ بیک وقت ریکارڈنگ کر سکے۔ ایسا لگتا ہے کہ ایلیوٹ نے اس پر توجہ دی ہے: اگر آپ کیشے ہم آہنگی پروٹوکول کو دیکھیں تو وہ پہلے سے ہی زیادہ تر مطلوبہ فعالیت فراہم کرتے ہیں۔ ایک پرامید لین دین میں، کیش ہم آہنگی پروٹوکول یہ محسوس کرے گا کہ وقت کا تنازعہ ہے اور کیش بن جائے گا باطل. اگر آپ قیاس آرائی کے ساتھ اپنے کیشے پر ٹرانزیکشن چلاتے ہیں اور تنازعات کا پتہ لگانے کے لیے ہم آہنگی پروٹوکول میکانزم کا استعمال کرتے ہیں تو کیا ہوتا ہے؟ قیاس آرائی پر مبنی ہارڈویئر فن تعمیر کو ڈیزائن کرنا آسان تھا۔ تو ہم نے وہ لکھا پہلی اشاعت ٹرانزیکشنل میموری کے بارے میں اسی وقت، جس کمپنی کے لیے میں کام کر رہا تھا، ڈیجیٹل ایکوپمنٹ کارپوریشن، الفا نامی ایک نیا 64 بٹ پروسیسر بنا رہی تھی۔ چنانچہ میں نے جا کر الفا ڈویلپمنٹ گروپ کو اپنی حیرت انگیز ٹرانزیکشنل میموری کے بارے میں ایک پریزنٹیشن دی اور انہوں نے پوچھا: اگر ہم یہ سب براہ راست پروسیسر میں شامل کر دیں تو ہماری کمپنی کو کتنا اضافی ریونیو ملے گا؟ اور میرے پاس اس کا قطعی طور پر کوئی جواب نہیں تھا، کیونکہ میں ایک ٹیکنولوجسٹ ہوں، میں مارکیٹنگ کا ماہر نہیں ہوں۔ میرے پاس جواب دینے کے لیے واقعی کچھ نہیں تھا۔ وہ زیادہ متاثر نہیں ہوئے تھے کہ میں کچھ نہیں جانتا تھا۔

Vitaly: اربوں! صرف اربوں کا کہنا ہے!

ماریس: ہاں، مجھے یہی کہنا چاہیے تھا۔ اب، سٹارٹ اپس اور ہر چیز کے دور میں، میں جانتا ہوں کہ بزنس پلان کیسے لکھنا ہے۔ کہ آپ اپنے ممکنہ منافع کے سائز کے بارے میں تھوڑا سا جھوٹ بول سکتے ہیں۔ لیکن ان دنوں یہ بولی لگتی تھی، اس لیے میں نے صرف اتنا کہا، ’’مجھے نہیں معلوم۔‘‘ اگر آپ ٹرانزیکشنل میموری پر اشاعت کی تاریخ پر نظر ڈالیں تو آپ دیکھیں گے کہ ایک سال کے بعد اس کے کئی حوالے آئے اور پھر تقریباً دس سال تک کسی نے اس مقالے کا سرے سے حوالہ نہیں دیا۔ اقتباسات 2004 کے آس پاس نمودار ہوئے، جب حقیقی ملٹی کور نمودار ہوئے۔ جب لوگوں نے دریافت کیا کہ متوازی کوڈ لکھ کر پیسہ کمایا جا سکتا ہے، نئی تحقیق شروع ہوئی۔ روی راجوار ایک مضمون لکھاجس نے ایک طرح سے ٹرانزیکشنل میموری کے تصور کو مرکزی دھارے میں متعارف کرایا۔ (ایڈیٹر کا نوٹ: اس مضمون کا دوسرا ورژن ہے، جو 2010 میں جاری ہوا اور آزادانہ طور پر دستیاب ہے PDF کے طور پر)۔ اچانک لوگوں کو احساس ہوا کہ یہ سب کیسے استعمال کیا جا سکتا ہے، تالے والے روایتی الگورتھم کو کس طرح تیز کیا جا سکتا ہے۔ کسی چیز کی ایک اچھی مثال جو ماضی میں صرف ایک دلچسپ تعلیمی مسئلہ کی طرح لگتا تھا۔ اور ہاں، اگر آپ اس وقت مجھ سے پوچھتے کہ کیا میں سمجھتا ہوں کہ یہ سب مستقبل میں اہم ہو گا، تو میں کہتا: یقیناً، لیکن یہ واضح نہیں ہے کہ کب۔ شاید 50 سالوں میں؟ عملی طور پر، یہ صرف ایک دہائی کے لئے نکلا. یہ بہت اچھا لگتا ہے جب آپ کچھ کرتے ہیں اور دس سال بعد لوگ اسے محسوس کرتے ہیں۔

تقسیم شدہ کمپیوٹنگ کے میدان میں تحقیق کرنے کے قابل کیوں ہے۔

Vitaly: اگر ہم نئی تحقیق کے بارے میں بات کرتے ہیں، تو آپ قارئین کو کیا مشورہ دیں گے - تقسیم شدہ کمپیوٹنگ یا ملٹی کور اور کیوں؟ 

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

وٹالی: آپ بلاک چین پر تحقیق کر کے اب کیا کر رہے ہیں؟ آپ کو پہلے کن مضامین پر توجہ دینی چاہیے؟

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

کیا الگورتھم کی ترقی رک گئی ہے اور کیسے آگے بڑھنا ہے؟

Vitaly: آخری نظریاتی سوال کا وقت! کیا ایسا لگتا ہے کہ مسابقتی ڈیٹا ڈھانچے میں ترقی ہر سال کم ہو رہی ہے؟ کیا آپ کو لگتا ہے کہ ہم ڈیٹا ڈھانچے کے بارے میں اپنی سمجھ میں ایک سطح مرتفع پر پہنچ گئے ہیں یا کیا اس میں کوئی بڑی بہتری آئے گی؟ شاید کچھ ہوشیار خیالات ہیں جو سب کچھ مکمل طور پر تبدیل کر سکتے ہیں؟

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

Vitaly: لہذا، ایک بہت مشہور محقق بننے کے لئے، مجھے اپنے فن تعمیر کو ایجاد کرنا پڑا :)

موریس: آپ کسی اور کے نئے فن تعمیر کو "چوری" کر سکتے ہیں - یہ بہت آسان لگتا ہے!

براؤن یونیورسٹی میں کام کرنا

Vitaly: کیا آپ ہمیں مزید بتا سکتے ہیں؟ براؤن یونیورسٹیتم کہاں کام کرتے ہو؟ انفارمیشن ٹیکنالوجی کے تناظر میں ان کے بارے میں زیادہ معلومات نہیں ہیں۔ مثال کے طور پر، MIT کے بارے میں کم۔

موریس: براؤن یونیورسٹی ریاستہائے متحدہ کی قدیم ترین یونیورسٹیوں میں سے ایک ہے۔ میرے خیال میں صرف ہارورڈ ہی تھوڑا بڑا ہے۔ براؤن نام نہاد کا حصہ ہے آئیوی لیگجو آٹھ قدیم ترین یونیورسٹیوں کا مجموعہ ہے۔ ہارورڈ، براؤن، کارنیل، ییل، کولمبیا، ڈارٹ ماؤتھ، پنسلوانیا، پرنسٹن۔ یہ ایک پرانی، چھوٹی اور قدرے اشرافیہ کی یونیورسٹی ہے۔ بنیادی توجہ لبرل آرٹس کی تعلیم پر ہے۔ یہ MIT کی طرح بننے کی کوشش نہیں کر رہا ہے، MIT بہت ماہر اور تکنیکی ہے۔ براؤن روسی ادب یا کلاسیکی یونانی، اور یقیناً کمپیوٹر سائنس کا مطالعہ کرنے کے لیے ایک بہترین جگہ ہے۔ اس کی توجہ جامع تعلیم پر ہے۔ ہمارے زیادہ تر طلباء فیس بک، ایپل، گوگل پر جاتے ہیں - لہذا میرے خیال میں ہمارے طلباء کو انڈسٹری میں نوکری تلاش کرنے میں کوئی مسئلہ نہیں ہے۔ میں براؤن میں کام کرنے گیا کیونکہ میں نے پہلے بوسٹن میں ڈیجیٹل آلات کارپوریشن میں کام کیا تھا۔ یہ وہ کمپنی تھی جس نے بہت سی دلچسپ چیزیں ایجاد کیں لیکن پرسنل کمپیوٹر کی اہمیت سے انکار کیا۔ ایک مشکل قسمت والی کمپنی، جس کے بانی کبھی نوجوان انقلابی تھے، انہوں نے کچھ نہیں سیکھا اور کچھ نہیں بھولا، اور یوں وہ تقریباً ایک درجن سال کے اندر انقلابیوں سے رجعت پسند بن گئے۔ انہوں نے یہ مذاق کرنا پسند کیا کہ ذاتی کمپیوٹرز گیراج میں ہیں - یقیناً ایک ترک شدہ گیراج۔ یہ بالکل واضح ہے کہ وہ زیادہ لچکدار کمپنیوں کے ذریعہ تباہ ہوگئے تھے۔ جب یہ واضح ہو گیا کہ کمپنی مشکل میں ہے، میں نے براؤن میں اپنے ایک دوست کو فون کیا، جو بوسٹن سے تقریباً ایک گھنٹہ باہر ہے۔ میں اس وقت بوسٹن چھوڑنا نہیں چاہتا تھا کیونکہ دوسری یونیورسٹیوں میں بہت زیادہ مواقع نہیں تھے۔ یہ وہ وقت تھا جب کمپیوٹر سائنس میں اتنی نوکریاں نہیں تھیں جتنی اب ہیں۔ اور براؤن کا ایک افتتاح تھا، مجھے اپنے گھر کو منتقل کرنے کی ضرورت نہیں تھی، مجھے اپنے خاندان کو منتقل کرنے کی ضرورت نہیں تھی، اور مجھے واقعی بوسٹن میں رہنا پسند ہے! اس طرح میں نے براؤن جانے کا فیصلہ کیا۔ مجھے یہ پسند ہے. طلباء بہت اچھے ہیں، اس لیے میں نے کبھی کہیں اور جانے کی کوشش بھی نہیں کی۔ اپنی چھٹی کے دوران، میں نے مائیکروسافٹ میں ایک سال کام کیا، ایک سال کے لیے حیفا میں ٹیکنین گیا، اور اب میں الگورنڈ میں رہوں گا۔ میرے ہر جگہ بہت سے ساتھی ہیں اور اس وجہ سے ہمارے کلاس رومز کا جسمانی مقام اتنا اہم نہیں ہے۔ لیکن سب سے اہم بات طلباء کی ہے، وہ یہاں بہترین ہیں۔ میں نے کبھی کہیں اور جانے کی کوشش نہیں کی کیونکہ میں یہاں بہت خوش ہوں۔

اس کے باوجود امریکہ میں براؤن کی شہرت کے باوجود وہ حیرت انگیز طور پر بیرون ملک نامعلوم ہیں۔ جیسا کہ آپ دیکھ سکتے ہیں، میں اب اس حالت کو درست کرنے کی ہر ممکن کوشش کر رہا ہوں۔

یونیورسٹی اور کارپوریشن میں تحقیق کے درمیان فرق

Vitaly: ٹھیک ہے، اگلا سوال ڈیجیٹل آلات کے بارے میں ہے۔ آپ وہاں ایک محقق کی حیثیت سے موجود تھے۔ ایک بڑی کمپنی کے R&D ڈیپارٹمنٹ میں کام کرنے اور یونیورسٹی میں کام کرنے میں کیا فرق ہے؟ فوائد اور نقصانات کیا ہیں؟

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

Vitaly: ایسا لگتا ہے کہ کسی کمپنی کو قائل کرنا دوسرے سائنسدانوں کو قائل کرنے سے زیادہ مشکل ہے۔

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

ہائیڈرا اور ایس پی ٹی ڈی سی

Vitaly: میرے سوالات ختم ہونے والے ہیں، تو آئیے روس کے آنے والے سفر کے بارے میں تھوڑی بات کرتے ہیں۔

موریس: ہاں، میں سینٹ پیٹرزبرگ واپس آنے کا منتظر ہوں۔

الیکسی: مجھے اس سال آپ کو ہمارے ساتھ رکھنے پر فخر ہے۔ سینٹ پیٹرزبرگ میں یہ آپ کی دوسری بار ہے، ٹھیک ہے؟

مورس: پہلے ہی تیسرا!

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

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

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

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

مورس: کیونکہ سات مقررین ہوں گے؟ اور کیا ان کے سر کاٹے جا سکتے ہیں، اور ان کی جگہ نئے بولنے والے اگیں گے؟

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

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

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

ماخذ: www.habr.com

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