
مرحباً ، قراء حبر. نريد مشاركة الأخبار الجيدة للغاية. انتظرنا أخيرًا لإنتاج مسلسل حقيقي لجيل جديد من معالجات Elbrus 8C الروسية. رسميا ، كان من المفترض أن يبدأ الإنتاج التسلسلي بالفعل في عام 2016 ، ولكن في الواقع ، كان الإنتاج الضخم هو الذي بدأ فقط في عام 2019 وحاليا تم إطلاق حوالي 4000 معالج.
بعد بدء الإنتاج الضخم تقريبًا ، ظهرت هذه المعالجات في شركة Aerodisk الخاصة بنا ، والتي نريد أن نشكرها شركة NORSI-TRANS ، التي قدمت لنا بلطف مع نظام الأجهزة Yakhont UVM ، الذي يدعم معالجات Elbrus 8C ، لنقل برنامج التخزين. هذه منصة عالمية حديثة تلبي جميع متطلبات MCST. في الوقت الحالي ، يتم استخدام النظام الأساسي بواسطة مستهلكين خاصين ومشغلي الاتصالات لضمان تنفيذ الإجراءات المحددة أثناء أنشطة البحث التشغيلي.
في الوقت الحالي ، تم الانتهاء من عملية النقل بنجاح ، والآن تتوفر سعة تخزين AERODISK في الإصدار باستخدام معالجات Elbrus المحلية.
في هذه المقالة ، سوف نتحدث عن المعالجات أنفسهم ، وتاريخهم ، والهندسة المعمارية ، وبطبيعة الحال ، عن تنفيذنا للتخزين على Elbrus.
القصة
ينشأ تاريخ معالجات Elbrus في أيام الاتحاد السوفيتي. في عام 1973 ، في معهد ميكانيكا الدقة وهندسة الكمبيوتر. SA بدأ ليبيديف (الذي سمي على اسم سيرجي ليبيديف نفسه ، الذي قاد سابقًا تطوير أول جهاز كمبيوتر MESM سوفيتي ، ثم BESM) في تطوير أنظمة الحوسبة متعددة المعالجات تسمى "Elbrus". قاد Vsevolod Sergeevich Burtsev التطوير ، كما قام بوريس Artashesovich Babayan ، الذي كان أحد نواب المصممين الرئيسيين ، بدور نشط في التطوير.

فسيفولود سيرجيفيتش بورتسيف

بوريس Artashesovich Babayan
كان العميل الرئيسي للمشروع ، بالطبع ، القوات المسلحة لاتحاد الجمهوريات الاشتراكية السوفياتية ، وقد تم استخدام هذه السلسلة من أجهزة الكمبيوتر بنجاح في إنشاء مراكز قيادة للكمبيوتر وأنظمة إطلاق لأنظمة الدفاع الصاروخي ، فضلاً عن أنظمة أخرى خاصة الغرض.
تم الانتهاء من أول كمبيوتر Elbrus في عام 1978. كان لديها بنية معيارية ويمكن أن تشمل من 1 إلى 10 معالجات بناءً على دارات تكامل متوسطة. وصلت سرعة هذا الجهاز إلى 15 مليون عملية في الثانية. كان مقدار ذاكرة الوصول العشوائي (RAM) ، والذي كان شائعًا لجميع المعالجات العشرة ، ما يصل إلى 2 إلى 20 كلمة من آلات الطاقة أو 64 ميجابايت.
في وقت لاحق تبين أن العديد من التقنيات المستخدمة في تطوير Elbrus في نفس الوقت تمت دراستها في العالم ، وأن International Business Machine (IBM) كانت تعمل بها ، لكن العمل في هذه المشروعات ، على عكس العمل في Elbrus ، لم يكن أبدًا تم الانتهاء ولم ينتج عنه منتج نهائي.
وفقًا لفسيفولود بورتسيف ، حاول المهندسون السوفييت تطبيق التجربة الأكثر تقدماً لكل من المطورين المحليين والأجانب. تأثرت هندسة أجهزة الكمبيوتر Elbrus أيضًا بأجهزة Burroughs لأجهزة الكمبيوتر ، وتطورات Hewlett-Packard ، بالإضافة إلى خبرة مطوري BESM-6.
ولكن في الوقت نفسه ، كانت العديد من التطورات الأصلية. الأكثر إثارة للاهتمام في "Elbrus-1" هو بالضبط الهندسة المعمارية.
كان الكمبيوتر العملاق الذي تم إنشاؤه هو أول جهاز كمبيوتر في الاتحاد السوفياتي يستخدم بنية فائقة. بدأ الاستخدام المكثف لمعالجات فائقة السرعة في الخارج في التسعينيات من القرن الماضي فقط مع ظهور معالجات Intel Pentium ذات الأسعار المعقولة في السوق.
بالإضافة إلى ذلك ، لتنظيم نقل تدفقات البيانات بين الأجهزة الطرفية وذاكرة الوصول العشوائي في الكمبيوتر ، يمكن استخدام معالجات الإدخال / الإخراج الخاصة. يمكن أن يكون هناك ما يصل إلى أربعة من هذه المعالجات في النظام ؛ فقد عملوا بالتوازي مع المعالج المركزي وكان لديهم ذاكرة مخصصة خاصة بهم.
ELBRUS-2
في عام 1985 ، حصلت Elbrus على استمرارية منطقية ، تم إنشاء الكمبيوتر Elbrus-2 ووضعه في الإنتاج التسلسلي. في الهندسة المعمارية ، لم يكن الأمر مختلفًا كثيرًا عن سابقه ، ولكنه استخدم قاعدة عناصر جديدة ، مما سمح بزيادة الإنتاجية الإجمالية بحوالي 10 أضعاف - من 15 مليون عملية في الثانية إلى 125 مليونًا - زادت ذاكرة الوصول العشوائي للكمبيوتر إلى 16 مليون كلمة مكونة من 72 بت أو 144 ميغابايت. كان الحد الأقصى للإنتاجية لقنوات I / O Elbrus-120 ميغابايت / ثانية.
تم استخدام "Elbrus-2" بنشاط في مراكز البحوث النووية في Chelyabinsk-70 وفي Arzamas-16 في MCC ، وفي نظام الدفاع الصاروخي A-135 ، وكذلك في المنشآت العسكرية الأخرى.

مجمع SPRUT C1200 يعتمد على معالجات Elbrus
كان موضع تقدير Elbrus من قبل قادة الاتحاد السوفيتي. حصل العديد من المهندسين على أوامر وميداليات. حصل المصمم العام فسيفولود بورتسيف وعدد من المتخصصين الآخرين على جوائز الدولة. وحصل بوريس بابايان على وسام ثورة أكتوبر.
وقال بوريس بابايان في وقت لاحق: إن هذه الجوائز تستحق أكثر من جدارة.
"في عام 1978 ، صنعنا أول آلة superscalar ، Elbrus-1. الآن في الغرب يصنعون superscalars فقط من هذه الهندسة المعمارية. ظهر أول superscalar في العام 92 ، لنا في 78. علاوة على ذلك ، هذه النسخة من superscalar التي قطعناها على أنفسنا ، على غرار بنتيوم برو ، الذي قدمته إنتل في العام 95 ".
أكد كيث ديفيندورف ، مطور موتورولا 88110 ، أحد أوائل المعالجات الغربية الفائقة ، هذه الكلمات عن الأسبقية التاريخية:
"في عام 1978 ، أي قبل 15 عامًا تقريبًا من ظهور أول المعالجات الفائقة الغربية ، تم استخدام معالج في Elbrus-1 ، مع إصدار تعليميين لكل دورة ، وتغيير ترتيب تنفيذ التعليمات ، وإعادة تسمية السجلات وتنفيذها على افتراض."
ELBRUS-3
كان عام 1986 ، وبعد الانتهاء تقريبًا من الانتهاء من العمل على Elbrus الثانية ، بدأت ITM & VT في تطوير نظام Elbrus-3 الجديد باستخدام بنية المعالج الجديدة تمامًا. دعا بوريس بابايان هذا النهج "بعد superscalar." هذه البنية ، التي سميت فيما بعد VLIW / EPIC ، بدأت معالجات Intel Itanium في استخدامها في المستقبل (في منتصف التسعينيات) (وفي اتحاد الجمهوريات الاشتراكية السوفياتية ، بدأت هذه التطورات في عام 1986 وانتهت في عام 1991).
إن فكرة إدارة التوازي بشكل صريح للعمليات باستخدام مترجم تم تحقيقها أولاً في مجمع الحوسبة هذا.
في عام 1991 ، تم إصدار أول جهاز كمبيوتر ، وللأسف ، جهاز Elbrus-3 الوحيد ، والذي لا يمكن تعديله بالكامل ، وبعد انهيار الاتحاد السوفيتي ، لم يكن هناك من يحتاج إليه ، وظل التطوير والخطط على الورق.
خلفية العمارة الجديدة
لم ينفصل الفريق الذي عمل في ITMiVT لإنشاء أجهزة كمبيوتر عملاقة سوفيتية ، لكنه استمر في العمل كشركة منفصلة تحت اسم MCST (مركز موسكو SPARK للتكنولوجيا). وفي أوائل التسعينيات ، بدأ ICST تعاونًا نشطًا مع Sun Microsystems ، حيث شارك فريق ICST في تطوير المعالج الصغري UltraSPARC.
خلال هذه الفترة ، ظهر مشروع هندسة E2K ، والذي تم تمويله في الأساس من قبل شركة Sun. فيما بعد ، أصبح المشروع مستقلاً تمامًا وبقيت جميع الملكية الفكرية فيه مع موظفي ICST.
"إذا واصلنا العمل مع Sun في هذا المجال ، فسيكون كل شيء يخص Sun. على الرغم من أن 90٪ من العمل تم قبل ظهور Sun." (بوريس بابايان)
العمارة E2K
عندما نناقش بنية معالجات Elbrus ، غالبًا من زملائنا في صناعة تكنولوجيا المعلومات ، نسمع العبارات التالية:
"Elbrus هو الهندسة المعمارية RISC"
"Elbrus هي الهندسة المعمارية EPIC"
"Elbrus هو العمارة SPARC"
في الواقع ، لا يوجد أي من هذه العبارات صحيح تمامًا ، وإذا كان كذلك ، فهذا صحيح جزئيًا.
بنية E2K هي بنية معالج أصلية منفصلة ، والسمات الرئيسية لـ E2K هي كفاءة استخدام الطاقة وقابلية التوسع الممتازة التي تحققت عن طريق وضع توازٍ واضح للعمليات. تم تطوير بنية E2K من قِبل فريق ICSTC وهي تستند إلى بنية ما بعد المستوى الفائق (a la EPIC) مع بعض التأثير على بنية SPARC (مع RISC الماضي). في الوقت نفسه ، في إنشاء ثلاثة من أربعة أبنية أساسية (Superscalars و postuperscalars و SPARC) ، شاركت MCST مباشرة. العالم صغير حقا.
من أجل تجنب المزيد من الالتباس ، قمنا برسم رسم تخطيطي بسيط ، والذي ، على الرغم من التبسيط ، ولكنه يوضح بوضوح جذور بنية E2K.

الآن أكثر قليلا عن اسم الهندسة المعمارية ، فيما يتعلق هناك أيضا سوء فهم.
في مصادر مختلفة ، يمكنك العثور على الأسماء التالية لهذه البنية: "E2K" ، و "Elbrus" ، و "Elbrus 2000" ، و ELBRUS ("جدولة استخدام الموارد الأساسية لـ ExpLicit" ، أي تخطيط صريح لاستخدام الموارد الأساسية). كل هذه الأسماء تقول نفس الشيء - عن الهندسة المعمارية ، ولكن في الوثائق التقنية الرسمية ، وكذلك في المنتديات التقنية ، يتم استخدام اسم E2K لتعيين الهندسة المعمارية ، لذلك في المستقبل إذا تحدثنا عن بنية المعالج ، فإننا نستخدم مصطلح "E2K" ، وإذا حول معالج معين ، نستخدم اسم "Elbrus".
الميزات التقنية للعمارة E2K
في البنى التقليدية مثل RISC أو CISC (x86 ، PowerPC ، SPARC ، MIPS ، ARM) ، يتلقى المعالج دفقًا من الإرشادات المصممة للتنفيذ المتسلسل. يمكن للمعالج اكتشاف العمليات المستقلة وتشغيلها بشكل متوازٍ (فرط الوضوح) وحتى تغيير ترتيبها (التنفيذ الاستثنائي). ومع ذلك ، فإن تحليل التبعية الديناميكي ودعم التنفيذ غير العادي له حدوده في عدد التشغيل وتحليل الأوامر لكل دورة. بالإضافة إلى ذلك ، تستهلك الكتل المقابلة داخل المعالج مقدارًا كبيرًا من الطاقة ، ويؤدي تنفيذها الأكثر تعقيدًا في بعض الأحيان إلى مشاكل في الاستقرار أو الأمان.
في بنية E2K ، يأخذ المترجم الجزء الأكبر من العمل على تحليل التبعية وتحسين ترتيب العمليات. يتلقى المعالج ما يسمى الإدخال. أوامر عريضة ، وفي كل منها يتم ترميز الإرشادات الخاصة بجميع الأجهزة التنفيذية للمعالج والتي يجب تشغيلها في هذه الساعة. لا يحتاج المعالج إلى تحليل التبعيات بين المعاملات أو إعادة ترتيب العمليات بين الأوامر الواسعة: كل هذا يتم بواسطة المحول البرمجي استنادًا إلى تحليل شفرة المصدر وتخطيط موارد المعالج. نتيجة لذلك ، يمكن أن يكون مكون الجهاز للمعالج أكثر بساطة وأكثر اقتصادا.
المحول البرمجي قادر على تحليل الكود المصدري بشكل أكثر شمولاً من أجهزة معالج RISC / CISC والعثور على عمليات أكثر استقلالية. لذلك ، فإن بنية E2K بها مشغلات أكثر توازنا من البنى التقليدية.
الميزات الحالية للهندسة المعمارية E2K:
- 6 قنوات لأجهزة المنطق الحسابي (ALU) تعمل بشكل متواز.
- ملف تسجيل 256 سجلات 84 بت.
- دعم الأجهزة للحلقات ، بما في ذلك خطوط الأنابيب. يحسن استخدام وحدة المعالجة المركزية.
- جهاز ما قبل ترحيل البيانات غير المتزامن القابل للبرمجة مع قنوات قراءة منفصلة. يسمح لك بإخفاء التأخير من الوصول إلى الذاكرة والاستفادة الكاملة من ALU.
- دعم الحوسبة المضاربة والمتنبئة بت واحد. لأنها تتيح للحد من عدد من التحولات وتنفيذ في وقت واحد عدة فروع للبرنامج.
- فريق عريض قادر على إعداد ما يصل إلى 23 عملية في دورة واحدة بأقصى حشوة (أكثر من 33 عملية عند تعبئة المعاملات في تعليمات المتجه).

مضاهاة X86
حتى في مرحلة التصميم المعماري ، كان لدى المطورين فهم لأهمية دعم البرامج المكتوبة لهندسة Intel x86. لهذا السبب ، تم تطبيق نظام ديناميكي (أي ، في عملية تنفيذ البرنامج ، أو "أثناء التنقل") لرموز x86 الثنائية إلى رموز معالج لبنية E2K. يمكن أن يعمل هذا النظام في وضع التطبيق (بطريقة WINE) وفي وضع مشابه لبرنامج Hypervisor (من الممكن تشغيل نظام التشغيل الضيف بالكامل لهندسة x86).
بفضل العديد من مستويات التحسين ، من الممكن تحقيق سرعة عالية في الشفرة المترجمة. تم تأكيد جودة محاكاة x86 للبنية من خلال الإطلاق الناجح لأكثر من 20 نظام تشغيل (بما في ذلك العديد من إصدارات Windows) ومئات التطبيقات على مجمعات الحوسبة Elbrus.
وضع تنفيذ البرنامج المحمي
واحدة من الأفكار الأكثر إثارة للاهتمام الموروثة من بنيات Elbrus-1 و Elbrus-2 هو ما يسمى التنفيذ الآمن للبرامج. يتمثل جوهرها في ضمان تشغيل البرنامج فقط مع البيانات التي تمت تهيئتها ، والتحقق من جميع عمليات الوصول إلى الذاكرة للانتماء إلى مجموعة صالحة من العناوين ، وتوفير الحماية بين الوحدات (على سبيل المثال ، حماية برنامج الاتصال من خطأ في المكتبة). تتم كل هذه الشيكات في الأجهزة. بالنسبة إلى الوضع المحمي ، هناك مكتبة دعم مترجم كامل ووقت تشغيل كامل. يجب أن يكون مفهوما أن القيود المفروضة تجعل من المستحيل تنظيم تنفيذ ، على سبيل المثال ، رمز مكتوب في C ++.
حتى في الوضع المعتاد "غير المحمي" لتشغيل معالجات Elbrus ، هناك ميزات تزيد من موثوقية النظام. لذلك ، يتم فصل مكدس المعلومات الملزمة (سلسلة عناوين الإرجاع للمكالمات الإجرائية) عن مكدس بيانات المستخدم ولا يتوفر لمثل هذه الهجمات المستخدمة في الفيروسات مثل خداع عنوان المرسل.
هذه التطورات لا تتيح لنا فقط اللحاق بالركب وتجاوزه في المستقبل للهياكل المتنافسة من حيث الأداء وقابلية التوسع ، ولكنها توفر أيضًا الحماية ضد الأخطاء التي تؤثر على x86 / amd64. إشارات مرجعية مثل Meltdown (CVE-2017-5754) ، Specter (CVE-2017-5753 ، CVE-2017-5715) ، RIDL (CVE-2018-12126 ، CVE-2018-12130) ، Fallout (CVE-2018-12127) ، ZombieLoad (CVE-2019-11091) وما شابه ذلك.
تعتمد الحماية الحديثة ضد الثغرات الموجودة في بنية x86 / amd64 على تصحيحات على مستوى نظام التشغيل. وهذا هو السبب في أن انخفاض الأداء على الأجيال الحالية والسابقة من معالجات هذه البنى ملحوظ للغاية ويتراوح من 30 ٪ إلى 80 ٪. نحن ، بصفتنا مستخدمين نشطين لمعالجات x86 ، نعرف عن ذلك ، نعاني ونواصل "أكل الصبار" ، ولكن حل هذه المشكلات هو في مهدنا (ونتيجة لذلك ، لعملائنا) ، فائدة لا شك فيها ، خاصة إذا كان الحل روسيًا.
المواصفات الفنية
فيما يلي المواصفات الفنية الرسمية لمعالجات Elbrus للأجيال الماضية (4C) والحالية (8C) والجديدة (8CB) والأجيال المستقبلية (16C) بالمقارنة مع معالجات Intel x86 المماثلة.

حتى نظرة خاطفة على هذا الجدول تُظهر (وهذا أمر مبهج للغاية) أن تراكم التكنولوجيا من المعالجات المحلية ، والذي بدا مستحيل التغلب عليه منذ 10 سنوات ، أصبح الآن صغيرًا للغاية ، وفي عام 2021 مع إطلاق Elbrus-16C (والذي ، من بين أمور أخرى ، سوف تدعم الافتراضية) سيتم تخفيض إلى الحد الأدنى من المسافات.
تخزين AERODISK على معالجات Elbrus 8C
نمر من النظرية إلى الممارسة. كجزء من التحالف الاستراتيجي بين شركات MTsST و Aerodisk و Basalt SPO (Alt Linux سابقًا) و NORSI-TRANS ، تم تطوير نظام تخزين البيانات وإعداده للتشغيل ، والذي يعد حاليًا ، إن لم يكن الأفضل ، عن طريق الأمان والوظائف ومعلمات التكلفة والأداء ، ثم ، في رأينا ، حل يستحق بلا شك يمكن أن يوفر المستوى المناسب من الاستقلال التكنولوجي لبلدنا معك.
الآن التفاصيل ...
الجزء الأجهزة
يتم تنفيذ أجهزة التخزين على أساس النظام الأساسي العالمي Yakhont UVM من NORSI-TRANS. تلقت منصة Yakhont UVM حالة معدات الاتصالات السلكية واللاسلكية ذات الأصل الروسي ويتم تضمينها في السجل الموحد للمنتجات الإلكترونية الراديوية الروسية. يتكون النظام من وحدتي تحكم تخزين منفصلتين (وحدة لكل منهما 2U) ، وهما مترابطان بواسطة اتصال Ethernet 1G أو 10G ، وكذلك مع أرفف الأقراص الشائعة باستخدام اتصال SAS.
بالطبع ، هذا ليس جميلًا مثل تنسيق "Cluster in a box" (عندما يتم تثبيت وحدات التحكم ومحركات الأقراص ذات لوحة الكترونية خلفية مشتركة في نفس هيكل السيارة المكون من وحدتين) ، والذي نستخدمه عادة ، ولكن في المستقبل القريب سيكون متاحًا أيضًا. الشيء الرئيسي هنا هو العمل بشكل جيد ، لكننا سنفكر في "الأقواس" في وقت لاحق.


تحت الغطاء ، تحتوي كل وحدة تحكم على اللوحة الأم لمعالج واحد مع أربع فتحات RAM (DDR3 للمعالج 8C). تحتوي كل وحدة تحكم أيضًا على 4 منافذ إيثرنت 1G (اثنان منها يستخدمهما AERODISK ENGINE كخدمة) وثلاثة موصلات PCIe لمحولات Back-end (SAS) و Front-end (Ethernet أو FibreChannel).
كأقراص تمهيد ، نستخدم أقراص SATA SSD الروسية من GS Nanotech ، والتي اختبرناها واستخدمناها بشكل متكرر في المشروعات.

. , .
8 . c .
Linux 4.9 2K ( ), . «» ALT Linux Team, .
, ( 6 12 – ).
, , — , - .
E2K x86, ( ).
( ) ( - , , JIT).
AERODISK ENGINE E2K , x86. AERODISK ENGINE (A-CORE 2.30)
E2K :
- - (mpio)
- ( RDG, DDP; FC, iSCSI, NFS, SMB Active Directory)
- RAID ( RAID)
- ( SSD HDD , .. )
- ROW-,
- , , QoS, global hotspare, VLAN, BOND ..
E2K , ( ) -, all-flash 20-30%.
, , , .
, , .
, (2xCPU E8C 1.3 Ghz, 32 GB RAM + 4 SAS SSD 800GB 3DWD), RAM-, DDP RAID-10 LUN 500G LUN- iSCSI (10G Ethernet) Linux-. FIO.
.

60%, .. , .
, highload - , , , 80% , .
.
, 8 – 2019 4000 . , 4 5000, .
, , , .
2020 8, . , 2020 -8 .
— .
, ( -16). , .
, , , , . , , .
, , , - , – , , . , , .

. , , , !
, , , , , . .
- , 100% – ))).
, :
https://www.ixbt.com/cpu/e2k-spec.html
«»:
https://topwar.ru/34409-istoriya-kompyuterov-elbrus.html
e2k:
https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D1%8C%D0%B1%D1%80%D1%83%D1%81_2000
4- (-8) 5- (-8, 2020 ):
https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D1%8C%D0%B1%D1%80%D1%83%D1%81-8%D0%A1
6- (-16, 2021 ):
https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D1%8C%D0%B1%D1%80%D1%83%D1%81-16%D0%A1
:
http://www.elbrus.ru/elbrus_arch
- «» :
http://www.mcst.ru/files/5a9eb2/a10cd8/501810/000003/kim_a._k._perekatov_v._i._feldman_v._m._na_puti_k_rossiyskoy_ekzasisteme_plany_razrabotchikov.pdf
«» , :
http://www.mcst.ru/files/5472ef/770cd8/50ea05/000001/rossiyskietehnologiielbrus-it-edu9-201410l.pdf
, :
http://www.mcst.ru/e2k_arch.shtml
:
https://www.osp.ru/os/1999/05-06/179819
, :
https://yadi.sk/i/HDj7d31jTDlDgA
:
https://altlinux.org/
https://sdelanounas.ru/blog/shigorin/