سيعقد مؤتمر هيدرا يومي 11 و 12 يوليو في سان بطرسبرغ ، مكرس لتطوير أنظمة موازية وموزعة. تتمثل ميزة Hydra في أنها تجمع بين العلماء الرائعين (والذي لا يمكن العثور عليه عادة إلا في المؤتمرات العلمية الأجنبية) والمهندسين الممارسين المشهورين ، في برنامج واحد كبير عند تقاطع العلوم والممارسة.
هيدرا هو أحد أهم مؤتمراتنا خلال السنوات القليلة الماضية. وقد سبقتها تحضير جدي للغاية ، واختيار المتحدثين والتقارير. في الأسبوع الماضي ، تم إطلاق مقابلة مع مدير شركة JUG.ru Group ، Alexei Fedorov ( 23derevo ) حول هذا الموضوع.
لقد تحدثنا بالفعل عن ثلاثة مشاركين مهمين ، مؤسسي نظرية النظم الموزعة - ليزلي لامبورت ، موريس هيرليشي ومايكل سكوت. حان الوقت للتحدث أكثر عن البرنامج بأكمله!

حافز
إذا كنت تقوم بالبرمجة ، فأنت تتعامل بطريقة أو بأخرى مع الحوسبة متعددة العمليات الموزعة. يعمل الخبراء في المجالات ذات الصلة معهم مباشرة ، لكن التوزيع ينظر إلينا من كل مكان بشكل ضمني: في أي كمبيوتر متعدد النواة أو خدمة موزعة ، هناك شيء يقوم بإجراء عمليات حسابية بالتوازي.
هناك العديد من المؤتمرات التي تكشف عن جوانب مختلفة من البرمجة التطبيقية. على الجانب الآخر من الطيف ، لدينا مدارس علمية خاصة ، في شكل محاضرات ، تكشف عن كميات هائلة من النظرية المعقدة. على سبيل المثال ، تعمل مدرسة SPTDC بالتوازي مع Hydra في سان بطرسبرغ. في هيدرا ، حاولنا الجمع بين الممارسات القاسية والعلوم وكل شيء عند تقاطعهم.
فكر في هذا الأمر: نحن نعيش في وقت مذهل حيث يمكنك مقابلة مؤسسي مجال العلوم والهندسة الذي نشارك فيه. لن يجتمع الفيزيائيون إما نيوتن أو آينشتاين - القطار الأيسر ولكن لا يزال هناك أشخاص يعيشون بالقرب منا الذين أسسوا أسس نظرية النظم الموزعة ، وتوصلوا إلى لغات البرمجة الشعبية ، وللمرة الأولى تجسيد كل هذا في نماذج العمل. هؤلاء الأشخاص لم يتخلوا عن عملهم في منتصف الطريق ، وهم الآن يشاركون في مهام عاجلة في الجامعات والشركات العالمية الشهيرة ، وهم أكبر مصادر المعرفة والخبرة حتى الآن.
من ناحية أخرى ، تبقى فرصة مقابلتهم عادةً نظرية بحتة: قلة منا يمكنها مراقبة الأحداث العامة باستمرار في أي جامعة من روتشستر ، ثم التسرع إلى الولايات المتحدة والعودة إلى محاضرة إلى مايكل سكوت. ستكون زيارة جميع المشاركين في Hydra بشكل عام في حالة صغيرة ، دون حساب هاوية الوقت المستغرق (على الرغم من أن هذا يبدو وكأنه مهمة مثيرة للاهتمام).
من ناحية أخرى ، لدينا الكثير من كبار المهندسين الذين يعملون على حل المشكلات العاجلة للأنظمة الموزعة في الوقت الحالي ، ولديهم بالتأكيد شيء ليقولونه. ولكن هنا تكمن المشكلة - إنهم يعملون ، ووقتهم مكلف. نعم ، إذا كنت موظفًا في Microsoft أو Google أو JetBrains ، فإن احتمال مقابلة أحد المتحدثين المعروفين في حدث داخلي يزداد بشكل كبير ، ولكن بشكل عام - لا ، لا يحدث كل يوم.
وهكذا ، فإن مؤتمر هيدرا يفي بمهمة مهمة لا يستطيع معظمنا القيام بها - في مكان واحد وفي الوقت نفسه يجمع أشخاصًا يمكن لأفكارهم أو التواصل معهم تغيير حياتك. أعترف أنه ليس كل شخص يحتاج إلى أنظمة موزعة ، وبعض الأشياء الأساسية المعقدة. يمكنك برمجة CRUDs في PHP لبقية حياتك وتبقى سعيدًا تمامًا. ولكن من يحتاجها هو فرصتك.
لقد مر الكثير من الوقت منذ الإعلان الأول عن مؤتمر هيدرا بشأن حبري. خلال هذا الوقت ، تم إنجاز الكثير من العمل - والآن ، لدينا قائمة بجميع التقارير تقريبًا. لا خوارزميات واحدة مترابطة بطيئة ، مجرد توزيع المتشددين النقي! دعونا ننتهي من الكلمات العامة ، ونرى ما لدينا في متناول اليد الآن.
Keynouty
تبدأ الكلمات الأساسية وتنتهي أيام المؤتمر. عادة ما يكون معنى الكلمة الافتتاحية هو ضبط الروح العامة واتجاه المؤتمر. يرسم الخط الرئيسي الختامي خطًا ويشرح كيفية التعايش مع المعرفة والمهارات المكتسبة خلال أيام المؤتمر. البداية والنهاية: الشيء الذي سيتذكره الجميع ، وبشكل عام ، يتسم بأهمية متزايدة.
كليف هو أسطورة في عالم جافا. في أواخر التسعينيات من القرن الماضي ، عن أطروحته للحصول على درجة الدكتوراه ، كتب ورقة بعنوان " دمج التحليلات ، والجمع بين التحسينات" ، والتي أصبحت بعد بعض الوقت أساسًا لمترجم خادم HotSpot JVM. بعد ذلك بعامين ، عمل بالفعل في Sun Microsystems على JVM وأظهر للعالم أن JIT لها الحق في الوجود. القصة الكاملة أن جافا هي واحدة من أسرع وقت التشغيل الحديث مع أذكى وأسرع التحسينات جاءت من كليف كليك. في البداية ، كان يعتقد أنه إذا كان هناك شيء متاح للمترجم الثابت ، لا يمكنك حتى محاولة الخروج. بفضل عمل Cliff والفريق ، بدأت إنشاء كل اللغات الجديدة بفكرة تجميع JIT الافتراضي. بالطبع ، لم تكن هذه وظيفة لشخص واحد ، لكن كليف لعب دورًا مهمًا للغاية في ذلك.
في الكلمة الافتتاحية ، سيتحدث كليف عن مساعيه الأخرى - H20 ، منصة في الذاكرة لتعلم الآلة الموزعة والقابلة للتطوير للتطبيقات الصناعية. أو بالأحرى ، حول التخزين الموزع لأزواج القيمة الرئيسية بداخله. هذا مستودع سريع للغاية يحتوي على الكثير من الخصائص المثيرة للاهتمام (القائمة الدقيقة في الوصف ) ، والتي تتيح لك استخدام حلول مماثلة في رياضيات دفق البيانات الكبيرة.
نقاش آخر سوف يقدمه كليف هو تجربة ذاكرة أجهزة Azul . جزء آخر من سيرته الذاتية هو عشر سنوات من العمل في Azul ، حيث قام بتحديث وتحسين الكثير من الأشياء في الأجهزة ومجموعة تكنولوجيا Azul: JIT compilers ، وقت التشغيل ، نموذج مؤشر الترابط ، معالجة الأخطاء ، عمل الحزمة ، مقاطعات الأجهزة ، تحميل الفصل الدراسي ، وهكذا دواليك. أشياء من هذا القبيل - حسنا ، تحصل على هذه النقطة.
بدأ الجزء الأكثر إثارة للاهتمام عندما صنعوا أجهزة للشركات الكبيرة - كمبيوتر عملاق لتشغيل جافا. لقد كان شيئًا مبتكرًا إلى حدٍ ما ، تم تحديده خصيصًا لـ Java ، التي لها متطلبات خاصة - حواجز الذاكرة أمام جمع البيانات المهملة منخفضة الحفر ، والمصفوفات مع التحقق من الحدود ، والمكالمات الافتراضية ... واحدة من أروع التقنيات هي ذاكرة معاملات الأجهزة. يمكن أن تشارك L1 بأكملها في أيٍ من المراكز الأساسية البالغ عددها 864 في كتابة المعاملات ، وهو أمر مهم بشكل خاص للعمل مع الأقفال في Java (يمكن أن تعمل القطع المتزامنة بشكل متوازٍ ، طالما لا يوجد تعارض حقيقي في الذاكرة). لكن فكرة جميلة اصطدمت بواقع قاسي - وفي هذا التقرير ، سيشرح كليف سبب عدم ملائمة HTM و STM للاحتياجات العملية للحوسبة متعددة الخيوط.
مايكل سكوت أستاذ علوم الكمبيوتر بجامعة روتشستر ، وقد ربطه مصيره بالفعل لمدة 34 عامًا ، وفي جامعة ويسكونسن - ماديسون ، كان عميدًا لمدة خمس سنوات. يشارك في البحث في مجال البرمجة المتوازية والموزعة وتصميم اللغة ويعلم الطلاب ذلك.
يعرف العالم كله مايكل بفضل الكتاب المدرسي "Programming Language Pragmatics" ، الذي تم إصدار الطبعة الأخيرة منه مؤخرًا نسبيًا - في عام 2015. حاز عمله "خوارزميات للتزامن القابل للتطوير على معالجات متعددة مشتركة للذاكرة" على جائزة Dijkstra باعتبارها واحدة من أشهرها في مجال الحوسبة الموزعة وتقع علانية في المكتبة الإلكترونية لجامعة روتشستر. يمكنك أيضًا معرفته كمؤلف لخوارزمية Michael-Scott نفسها من "خوارزميات قائمة انتظار متزامنة بسيطة وسريعة وعملية وحظرها" .
بالنسبة إلى عالم Java ، هذه حالة خاصة: قام مع Doug Lea بتطوير تلك الخوارزميات غير المحظورة وقوائم الانتظار المتزامنة التي تدير مكتبات Java. هذا هو بالضبط ما ستكون عليه البنية الأساسية للبيانات المزدوجة - سمح إدخال هذه الهياكل في Java SE 6 10 مرات لتحسين أداء java.util.concurrent.ThreadPoolExecutor
. إذا كنت مهتمًا مسبقًا بماهية "بنيات البيانات المزدوجة" ، فهناك عمل مماثل حولها.
موريس هيرليشي هو الفائز بجائزتي ديكسترا. الأول هو العمل على التزامن بدون انتظار (جامعة براون) ، والثاني ، الأحدث ، هو ذاكرة المعاملات: الدعم المعماري لهياكل البيانات الخالية من القفل (جامعة فرجينيا التقنية). تُمنح جائزة ديكسترا للأعمال التي كانت أهميتها وتأثيرها ملحوظة لمدة عشر سنوات على الأقل ، ومن الواضح أن موريس هي واحدة من أشهر المتخصصين في هذا المجال. يعمل حاليًا أستاذاً بجامعة براون ولديه العديد من الإنجازات لفكرة كاملة.
في هذا الختام الرئيسي ، سوف يتحدث موريس عن نظرية وممارسة النظم الموزعة لـ blockchain من حيث كلاسيكيات الحوسبة الموزعة وكيف يبسط ذلك العديد من المشكلات ذات الصلة. هذا التقرير مخصص حصريًا لموضوع المؤتمر - ليس حول التعدين على الإطلاق ، بل حول كيفية أن تكون معرفتنا فعالة ومناسبة بشكل مذهل لتطبيقها على مجموعة متنوعة من المهام.
في يوليو 2017 ، حضر موريس إلى روسيا في مدرسة SPTDC ، وشارك في تجمع JUG.ru ، ويمكن مشاهدة التسجيل على YouTube:
البرنامج الرئيسي
التالي سيكون مراجعة قصيرة للتقارير المدرجة في البرنامج. يتم وصف بعض التقارير بالتفصيل هنا ، وبعضها أكثر إيجازًا. تم الحصول على أوصاف طويلة بشكل رئيسي في تقارير اللغة الإنجليزية التي تتطلب روابط لأوراق علمية ، مصطلحات على ويكيبيديا ، وهلم جرا. يمكن رؤية القائمة الكاملة على موقع المؤتمر . سيتم تحديث القائمة على الموقع واستكمالها.
Leslie Lampport هو مؤلف العمل الأساسي في الحوسبة الموزعة. يرمز LaTeX إلى Lamport TeX. هذه هي المرة الأولى التي يقدم فيها مفهوم التناسق الثابت في عام 1979 ، وفاز مقالته "كيفية صنع كمبيوتر متعدد المعالجات ينفذ بشكل صحيح برامج متعددة المعالجات" بجائزة Dijkstra.
هذا هو الجزء الأكثر غرابة في البرنامج من حيث الشكل ، لأنه ليس مجرد تقرير ، بل جلسة أسئلة وأجوبة. عندما يكون جزء كبير من الجمهور معتادًا بالفعل (أو يمكنه التعرف على) جميع أنواع الأعمال التي تستند إلى "نظرية لامبورت" ومقالاته وتقاريره الخاصة ، فمن المهم قضاء كل الوقت المتاح على التواصل المباشر.
الفكرة بسيطة - تشاهد تقريرين على موقع YouTube: "البرمجة يجب أن تكون أكثر من الترميز" و "إذا لم تكن تكتب برنامجًا ، لا تستخدم لغة برمجة" ، وقمت بإعداد سؤال واحد على الأقل ، وإجابات ليزلي.
أول هذين الفيديوين قد تحولنا بالفعل إلى habrosta . إذا لم يكن لديك ساعة لمشاهدة الفيديو ، فيمكنك قراءة كل هذا بسرعة في النص.
ملاحظة: يوجد المزيد من مقاطع الفيديو من Leslie Lamport على YouTube. على سبيل المثال ، هناك دورة TLA + ممتازة. الإصدار غير المتصل لهذه الدورة التدريبية بالكامل موجود على الصفحة الرئيسية للمؤلف ، وقد حمّلها على YouTube لتسهيل عرضها على أجهزة الجوال.
مارتن كليبمان باحث في جامعة كامبريدج ، يعمل على CRDT والتحقق الرسمي من الخوارزميات. أثبت كتاب Martin 's Designing Data-Intensive Application ، الذي نُشر عام 2017 ، أنه حقق نجاحًا كبيرًا وأدرجه في قائمة أكثر الكتب مبيعًا في مجال تخزين البيانات ومعالجتها. قال كيفن سكوت ، مدير التسويق في شركة مايكروسوفت ، ذات مرة : "يجب أن يكون هذا الكتاب ضروريًا لمهندسي التطوير. "هذا مورد نادر يجمع بين النظرية والتطبيق ، ويساعد المطورين على تصميم وتنفيذ أنظمة البنية التحتية ومعالجة البيانات بطريقة ذكية." قيل شيئًا مماثلاً عن خالق كافكا والرئيس التنفيذي لشركة كونفلوينت ، جاي كريبس.
قبل الانخراط في البحث الأكاديمي ، عمل مارتن في الصناعة وشارك في تأسيس شركتين ناشبتين ناجحتين:
- Rapportive ، مكرس لعرض الملف الشخصي لجهات الاتصال من بريدك الإلكتروني ، والذي اشترته LinkedIn في عام 2012 ؛
- Go Test It ، خدمة للتحقق من مواقع الويب تلقائيًا في مختلف المتصفحات ، والتي اشترتها RedGate في عام 2009.
بشكل عام ، كان Martin ، على الرغم من كونه أقل شهرة من قائمتنا الرئيسية ، قادرًا بالفعل على تقديم بعض المساهمة في تطوير الحوسبة الموزعة وفي الصناعة.
في هذا التقرير ، سيتحدث مارتن عن موضوع أقرب إلى بحثه الأكاديمي. في مُحرر مستندات Google وأريكة مماثلة للتحرير المشترك ، يُقصد بـ "التحرير المشترك" مهمة النسخ المتماثل: كل مستخدم لديه نسخة متماثلة خاصة به من المستند المشترك ، والذي يعدله بعد ذلك ، ويتم إرسال جميع التغييرات إلى المشاركين الآخرين عبر الشبكة. تؤدي التغييرات التي يتم إجراؤها على المستندات في وضع عدم الاتصال إلى تعارض مؤقت للمستند فيما يتعلق بالمشاركين الآخرين ، وتتطلب إعادة المزامنة معالجة التعارض. لهذا الغرض فقط ، هناك أنواع بيانات مكررة خالية من التعارض (CRDT) ، في الواقع - شيء جديد إلى حد ما ، تم صياغة جوهره فقط في عام 2011. يناقش هذا التقرير ما حدث منذ ذلك الحين في عالم CRDT ، ما هي آخر الإنجازات ، ويناقش طريقة إنشاء التطبيقات المحلية الأولى بشكل عام واستخدام مكتبة المصادر المفتوحة Automerge على وجه الخصوص.
في الأسبوع القادم ، سننشر على Habré مقابلة كبيرة مع Martin ، ستكون ممتعة.
يعمل بيدرو في شركة سيسكو ويقوم بتطوير خوارزميات متوازية على مدار السنوات العشر الماضية ، بما في ذلك آليات المزامنة وهياكل البيانات الخالية من الأقفال والانتظار وكل ما يمكنك تخيله حول هذا الموضوع. تتركز اهتماماته البحثية والهندسية الحالية على الإنشاءات العالمية وذاكرة التعامل مع البرامج والذاكرة الدائمة والتقنيات المماثلة التي تتيح تنفيذ التطبيقات الصحيحة والقابلة للتطوير والتسامح مع الأعطال. وهو أيضًا مؤلف مدونة " تزامن العملات" المعروف على نطاق واسع في دوائر ضيقة.
تعمل معظم التطبيقات متعددة الخيوط الآن على بنيات بيانات متوازية ، بدءًا من استخدام قوائم انتظار الرسائل بين الجهات الفاعلة وتنتهي بنيات البيانات المفهرسة في مخازن القيمة الرئيسية. في Java JDK ، كانوا يعملون بنجاح لسنوات عديدة ، وفي C ++ تتم إضافتهم ببطء.
إن أبسط طريقة لتنفيذ بنية بيانات متوازية هي تنفيذ متسلسل (أحادي الترابط) يتم فيه حماية الأساليب من خلال mutexes. يمكن الوصول إلى هذا في أي يونيو ، ولكن لديه مشاكل واضحة في القياس والأداء. في الوقت نفسه ، لا تتكيف هياكل البيانات الخالية من القفل والانتظار مع الأخطاء بشكل أفضل فحسب ، بل تتمتع أيضًا بملف تعريف أداء أكثر نجاحًا - ومع ذلك ، فإن تطويرها يتطلب خبرة متعمقة وتكيفًا مع تطبيق معين. سطر واحد خاطئ من التعليمات البرمجية يكفي لكسر كل شيء.
كيف تجعل حتى غير خبير قادرًا على تصميم وتنفيذ هياكل البيانات هذه؟ من المعروف أن أي خوارزمية متسلسلة يمكن أن تكون آمنة من سلاسل العمليات باستخدام تصميم عالمي أو ذاكرة معاملات. لأحد ، يمكن أن تخفض عتبة لدخول هذه المهمة. ومع ذلك ، يميل كلا الحلين إلى التنفيذ غير الفعال. سيتحدث بيدرو عن كيفية تمكنهم من جعل هذه التصاميم أكثر فاعلية وكيف يمكن استخدامها لخوارزمياتهم.
هايدي هوارد ، مثل مارتن ، باحث أنظمة موزعة في جامعة كامبريدج. تخصصها هو الاتساق والتسامح مع الخطأ والأداء وتوافق الآراء. اشتهرت بتعميم خوارزمية Paxos المسماة Flexible Paxos .
تذكر أن Paxos هي مجموعة من البروتوكولات لحل مشكلة الإجماع في شبكة من أجهزة الكمبيوتر غير الموثوقة ، والتي كانت تستند إلى عمل Leslie Lamport. وبالتالي ، فإن بعض المتحدثين لدينا يعملون على المهام التي اقترحها في الأصل متحدثون آخرون - وهذا رائع.
تعد القدرة على إيجاد إجماع بين مضيفين متعددين - للمعالجة أو اختيار القادة أو الحظر أو التنسيق - مشكلة أساسية في الأنظمة الموزعة الحديثة. Paxos هي الآن الطريقة الرئيسية لحل مشاكل إيجاد توافق ، ويتم إجراء الكثير من الأبحاث حوله من أجل توسيع الخوارزمية وتحسينها لتلبية الاحتياجات العملية المختلفة.
في هذا التقرير ، سنقوم بمراجعة الأساس النظري لـ Paxos ، وإضعاف المتطلبات الأولية وتعميم الخوارزمية. سنرى أن باكسوس ، في الواقع ، هو خيار واحد فقط من بين مجموعة كبيرة من مقاربات الإجماع ، وأن النقاط الأخرى في الطيف مفيدة جدًا أيضًا في بناء أنظمة جيدة التوزيع.
أليكس متخصص في قواعد البيانات وأنظمة التخزين ، والأهم من ذلك بالنسبة إلينا ، هو متعهّد في كاساندرا . جنبا إلى جنب مع O'Reilly ، يعمل حاليا على كتاب Internals Database.
بالنسبة للأنظمة ذات التناسق النهائي (في المصطلحات الروسية - "الاتساق على المدى الطويل") ، بعد إسقاط العقدة أو تقسيم الشبكة ، يجب حل المعضلة التالية: إما الاستمرار في تلبية الطلبات أو التضحية بالاتساق أو رفض الوفاء بها والتضحية بتوافرها. في مثل هذا النظام ، يمكن أن يكون النصاب القانوني المتداخل مع مجموعات فرعية من العقد وضمان احتواء عقدة واحدة على الأقل على أحدث قيمة حلاً جيدًا للحدود. يمكنك التغلب على حالات الفشل وفقدان الاتصال ببعض العقد ، والاستمرار في الاستجابة بأحدث القيم.
ومع ذلك ، كل شيء يأتي بسعر. يعني نظام نسخ النصاب القانوني زيادة تكلفة التخزين: تحتاج إلى تخزين البيانات الزائدة على عدة عقد في وقت واحد لضمان عدد كاف من النسخ المتاحة في وقت حدوث المشكلة. اتضح أنه لا يمكنك تخزين جميع البيانات على جميع النسخ المتماثلة. يمكنك تقليل التحميل على وحدة التخزين عن طريق الاحتفاظ بالبيانات على جزء فقط من العقد ، واستخدام العقد الخاصة (النسخ المتماثل العابر) لسيناريوهات معالجة الفشل.
في سياق التقرير ، سننظر في Witness Replicas ، ونظام النسخ المتماثل المستخدم من قبل Spanner و Megastore ، وتنفيذ هذا المفهوم في Apache Cassandra تحت أسماء النسخ المتماثل والنصاب القانوني الرخيص .
Dmitry هو مطور Google يعمل على اختبار ديناميكي لـ C / C ++ و Go - Address / Memory / ThreadSanitizer ، وعلى أدوات مماثلة لنواة Linux. لدى Go برنامج جدولة goroutine قابل للتحجيم ، ومسح شبكة ، وجامع بيانات متوازي. وهو خبير في تعدد العمليات ، وهو مؤلف لعشرات الخوارزميات الجديدة غير المحظورة وهو مالك Intel Black Belt .
الآن قليلا عن التقرير نفسه. Go لديه دعم أصلي للعديد من مؤشرات الترابط في شكل goroutines (مؤشرات ترابط خفيفة) وقنوات (طوابير FIFO). بفضل هذه الآليات ، من السهل جدًا وممتعًا أن يكتب المستخدمون تطبيقات حديثة ذات مؤشرات ترابط متعددة ، ويبدو أنه سحر. كما نفهم ، ليس هناك سحر هنا. في هذا التقرير ، سوف يبحث ديمتري في تعقيدات عمل برنامج جدولة Go ويظهر أسرار تنفيذ هذا "السحر". أولاً ، سيقدم نظرة عامة على المكونات الرئيسية لجدول المواعيد ، ويخبرك بكيفية عمله. علاوة على ذلك ، سوف نلقي نظرة فاحصة على بعض الجوانب ، مثل إستراتيجية إيقاف السيارات / تفريغ ومعالجة مكالمات نظام الحظر. أخيرًا ، سيتحدث ديمتري قليلاً عن التحسينات المحتملة في برنامج الجدولة.
عمل ديمتري في الاستعانة بمصادر خارجية لمدة 9 سنوات تقريبًا ، دون أن يفقد الاتصال بالجامعة والمجتمع العلمي. كان تحليل البيانات الضخمة في Odnoklassniki فرصة فريدة بالنسبة له للجمع بين التدريب النظري والأساس العلمي مع تطوير منتجات حقيقية مطلوبة.
كان تحليل الرسم البياني الموزع وما زال مهمة صعبة: عندما يصبح من الضروري الحصول على معلومات حول اتصالات قمة الرأس المجاورة ، غالبًا ما يتعين تقطير البيانات بين الآلات ، مما يؤدي إلى زيادة وقت التنفيذ وتحميل البنية الأساسية للشبكة. في هذا التقرير ، سنرى كيف يمكنك الحصول على سرعة معالجة كبيرة باستخدام هياكل بيانات احتمالية أو حقائق مثل تناسق رسم بياني للصداقة في شبكة اجتماعية. يتضح كل هذا من خلال أمثلة كود Apache Spark.
Denis هو مطور Cosmos DB ، وهو خبير في مجال فحص نماذج الاتساق وخوارزميات الإجماع والمعاملات الموزعة. يعمل الآن في شركة Microsoft وقبل ذلك كان يعمل في أنظمة موزعة في Amazon و Yandex.
في هذا التقرير ، سنتعرف على بروتوكولات المعاملات الموزعة التي تم اختراعها على مدار السنوات القليلة الماضية ، والتي يمكن تنفيذها على جانب العميل أعلى أي متجر بيانات يدعم التحديث الشرطي (قارن وتعيين). خلاصة القول هي أن الحياة لا تنتهي بالتزام من مرحلتين ، ويمكن إضافة المعاملات على رأس أي قواعد بيانات - على مستوى التطبيق ، ولكن البروتوكولات المختلفة (2PC ، Percolator ، RAMP) لها مفاضلات مختلفة ولا يتم تقديمها لنا مجانًا.
أليكسي ( zaleslaw ) هو المتحدث منذ فترة طويلة وعضو في لجان البرنامج في المؤتمرات الأخرى. مدرب ممارس في شركة EPAM Systems ، وأصبح صديقًا لـ Hadoop / Spark وغيرهم من الكبار منذ عام 2012
في هذا التقرير ، سوف يتحدث أليكسي عن مشاكل تكييف خوارزميات تعلم الآلة الكلاسيكية للتنفيذ الموزع استنادًا إلى خبرته في العمل مع Apache Spark ML و Apache Mahout و Apache Flink ML وتجربة إنشاء Apache Ignite ML. سيتحدث أليكسي أيضًا عن تنفيذ خوارزميات ML الموزعة في هذه الأطر.
وأخيرا - تقريران من ياندكس حول قاعدة بيانات ياندكس.
فلاديسلاف هو مطور ياندكس في مجموعة منصات موزعة. قاعدة بيانات Yandex عبارة عن نظام إدارة قواعد بيانات DBMS متسامح مع الأعطال وموزَّع جغرافيًا وقابل للتوسع ، يمكنه تحمل فشل الأقراص والخوادم ورفوف ومراكز البيانات دون المساس بالاتساق. لضمان التسامح مع الخطأ ، يتم استخدام خوارزمية توافق الآراء الموزعة ، بالإضافة إلى عدد من الحلول التقنية التي تمت مناقشتها بالتفصيل في التقرير. قد يكون التقرير ذا أهمية لكل من مطوري DBMS ومطوري حلول التطبيقات استنادًا إلى DBMS.
Semyon - مطور في مجموعة من منصة موزعة في ياندكس ، يعمل على إمكانية استخدام المستأجرين متعددة لتركيب YDB.
تم تصميم قاعدة بيانات Yandex لطلبات OLTP وتفي بمتطلبات ACID لنظام المعاملات. في التقرير ، سننظر في خوارزمية تخطيط المعاملات التي يقوم عليها نظام معاملات YDB. سنقوم بتحليل أي الكيانات المشاركة في المعاملات ، الذي يعين المعاملات أمر عالمي ، وكيف يتم تحقيق ذرية المعاملات والموثوقية ومستوى العزلة الصارمة. باستخدام مثال لمشكلة شائعة ، فإننا نفكر في تنفيذ المعاملات باستخدام معاملات التزام ومحددتين على مرحلتين. نناقش خلافاتهم.
ما التالي؟
لا يزال برنامج المؤتمر ممتلئًا بتقارير جديدة. على وجه الخصوص ، نتوقع تقريرًا من Nikita Koval ( ndkoval ) من JetBrains و Oleg Anastasiev ( m0nstermind ) من Odnoklassniki. تعمل Nikita في خوارزميات لل coroutines في فريق Kotlin ، وتقوم Oleg بتطوير الهندسة المعمارية والحلول للأنظمة المحملة للغاية في منصة Odnoklassniki. بالإضافة إلى ذلك ، هناك فتحة أخرى فارغة مشروطة ، مع المرشحين الذين تعمل لجنة البرنامج في الوقت الحالي.
سيعقد مؤتمر هيدرا في 11-12 يوليو في سان بطرسبرغ. يمكن شراء التذاكر على الموقع الرسمي . نلفت الانتباه إلى توفر التذاكر عبر الإنترنت - إذا لم تتمكن من الوصول إلى سان بطرسبرغ في هذه الأيام لسبب ما.
قابلني في هيدرا!