الجزء الأخير من المقالة مخصص لمقارنة أداء الكمبيوتر الروسي الجديد مع المنافسين الأجانب وأسلافه.
تحذير: العديد من الحروف والصور!نتذكر محتويات الأجزاء السابقة:- مراجعة الأجهزة :
- مراجعة البرنامج :
- إطلاق نظام التشغيل ؛
- البرمجيات العادية ؛
- نظرة عامة على أدوات التطوير :
- ميزات الهندسة المعمارية ؛
- لغة الآلة
- أدوات التطوير ؛
- أداء القياس:
هل لديك قراءة لطيفة!تنويه
كان المؤلف مخطئًا للغاية لفترة طويلة ، معتقدًا أن الشركة اشترت هذا الكمبيوتر لتلبية احتياجاته الخاصة - بالإضافة إلى التكنولوجيا المستغلة من جيل سابق. وفقط في وقت الاستلام ، أصبح من الواضح أن المنتج الجديد مخصص لمزيد من التسليم كجزء من المجمع. لذلك ، بدلاً من القراءة المدروسة المخطط لها في البداية للتوثيق ، والتعارف العملي مع جميع التفاصيل الدقيقة ، والاختيار الدقيق لأدوات الاختبار والأنشطة التأملية الأخرى ، كان علينا أن نتصرف بسرعة ، إن لم يكن بشكل عشوائي. بالإضافة إلى ذلك ، زادت درجة عدم الملاءمة بفضل حالة الطوارئ قبل وبعد العام الجديد ، والتي تم التخلص منها بشكل متوازي.« . . , ». (nutanix)
لم نعد أنفسنا لتحقيق نوع ما من النتيجة "الصحيحة حقًا" ، والتي تكشف بدقة المزايا أو العيوب الفريدة لمنصة معينة. أردت فقط الحصول على فكرة مشتركة حول قوة الحوسبة في Elbrus الجديدة على خلفية عينات معروفة سابقًا للإلكترونيات المحلية والغربية ، من منظور مستخدم عادي يستخدم برامج جاهزة في شكل مجمّع أو تجميعها من رموز المصدر دون استخدام المعرفة الباطنية حول التحسين والتحويل. لذلك ، لن تحتوي المقالة على أحاسيس مثل "Elbrus tore Xeon عند التشفير وفقًا لخوارزمية GOST" أو "Elbrus في وضع محاكاة x86 يعمل بشكل أسرع من تنفيذ التعليمات البرمجية الأصلية" (والتي يمكن قراءتها هنا وهناك على الإنترنت ، ودائمًا دون الكشف عنها لسبب ما التفاصيل). ومع ذلك ، من أجل الحقيقة والمؤامرة ، تجدر الإشارةأنه في سلسلة واحدة من الاختبارات ، أظهر بطل هذه المراجعة نتائج أعلى عدة مرات من جهاز كمبيوتر مشابه يعتمد على Core i7.اختبار المشاركين
نظرًا لأن القيم المطلقة للنتائج التي تم الحصول عليها في المقاييس عادةً ما تكون قيمًا مجردة جدًا ، حتى عندما تستند خوارزميات الاختبار إلى رمز برنامج التطبيقات الحقيقية ، فقد تقرر إجراء سلسلة من القياسات المتطابقة على عدد من منصات الكمبيوتر التي تكون مختلفة قدر الإمكان وفي نفس الوقت تغطي تقريبا كامل مجموعة من التكنولوجيا ذات الصلة لغرض مماثل.كمبيوتر هندسة معمارية يستند إلى Intel Atom x86‑64
ربما يكون المنافس المثالي لـ Elbrus هو بعض منتجات Intel Celeron أو Atom الحديثة ذات أربعة نوى وتردد منخفض ، أو تناظري تحت العلامة التجارية AMD ؛ ولكن من ما كان في الصناديق ، كان هناك فقط Atom D2500 ثنائي النواة ملحوم على اللوحة الأم Intel D2500CC بتنسيق mini-ITX. تكوين هذا الكمبيوتر المضغوط ومن الواضح أنه ليس مرحًا جدًا ، على الأرجح ، لا يحتاج إلى تفسيرات إضافية ؛ كان لديها مكون واحد غير عادي واحد - محرك أقراص ثابتة 3.5 بوصة (على الرغم من أن السلسلة الأولية) ، ولكن بما أن أداء الإدخال / الإخراج لم يكن محور الدراسة ، يمكن تجاهل هذه الحقيقة. لضمان الحد الأقصى من التشابه البرمجي ، تم اختيار مجموعة توزيع Debian 7.9.0 لبنية x86‑64 مع Linux kernel 3.2.0 كنظام تشغيل (خاصةأن تثبيت وتحديث الإصدارات القديمة من دبيان ليس بحثًا عن ضعف القلب).كمبيوتر العمارة x86‑64 المعتمد على Intel Core i7
كان المشارك الطبيعي الثاني عبارة عن كمبيوتر من القطب الآخر للوظائف والسرعة - البرج الصغير المكتبي Dell OptiPlex 990 مع معالج Core i7‑2600 ولوحة أم أصلية تعتمد على شرائح Q67. عمل النظام في وضعه اليومي - مع تعطيل ميزة Turbo Boost ، ولكن مع تمكين Hyper-Threading ، تشغيل openSUSE 13.2 لبنية x86‑64 مع Linux kernel 3.16.7. كمبيوتر Elbrus-90mikro على أساس MTsST R500




ومع ذلك ، سيكون من الخطأ إجراء مقارنات فقط مع التيار الرئيسي ، نظرًا لأن Elbrus-4C الجديد هو في المقام الأول بديل للممثلين القدامى لخط إنتاج Elbrus ، والذي لا يشمل فقط أجهزة كمبيوتر هندسة E2K ، ولكن أيضًا SPARC. لسوء الحظ ، لا تمتلك شركتنا معدات الهندسة المعمارية الحديثة SPARC V9 ، مثل MTsST R1000 ، ولكن "لدينا ثروة" للتعبير عن الحضنة الكاملة R500 - من الجيل SPARC V8 ، الذي لا يزال 32 بت. كان الممثل الأول للحارس القديم هو كمبيوتر Elbrus-90mikro في شكل برج صغير عادي مع معالجين R500 ملحومين ، وبطاقة فيديو منفصلة بتصميمها الخاص ، وقرص صلب عادي ومحرك ضوئي. نظام التشغيل لهذا الكمبيوتر هو MSVS 3.0 لبنية SPARC مع Linux kernel 2.4.25 ، ومجمع GCC 3.3.6 ، ومكتبة GNU LibC 2.2.5.حاسوب معماري آخر يستند إلى RAR VAR SPARC V8 (عرض مثالي ، صورة من موقع ICST)
تم تجهيز كمبيوتر آخر أيضًا بزوج من معالجات R500 ، ولكنه مصنوع في تصميم Euromechanics 6U المعياري ، ويحتوي على 512 ميغابايت فقط من ذاكرة الوصول العشوائي وبطاقة فلاش على المستوى الصناعي كمحرك رئيسي (يُشار إلى طراز Meltron P7 بفخر باسم "SSD" ، ولكن الأداء الفعلي في هذا الكمبيوتر أقرب إلى محركات أقراص فلاش القديمة البطيئة). الاختلاف الأساسي عن المشارك السابق هو تثبيت نظام التشغيل Elbrus (OS 311-03) هنا ، بتاريخ أوائل 2011 ، مع Linux 2.6.16 kernel ، مترجم LCC 1.16.12 (التوافق مع GCC 3.4.6 معلنًا) ومكتبة GNU LibC 2.16.0. كما سنرى لاحقًا ، تؤدي هذه الاختلافات المبرمجة من MSWS في بعض الأحيان إلى اختلاف كبير في السرعة ، حيث تميل المقاييس في اتجاه واحد أو آخر. لذلك ، تم سرد كلتا سلسلتي النتائج أدناه.تم وضع علامة على التوالي "R500 / E" لجهاز كمبيوتر بنظام Elbrus و "R500 / M" لجهاز كمبيوتر بنظام MSVS.كورمارك
كما ذكرنا بإيجاز ، يتضمن البرنامج مجموعة واسعة إلى حد ما من أدوات الاختبار للتحقق من الأداء الصحيح للمعدات ومكتبات النظام ، وكذلك لقياس الأداء. تم تطوير بعض هذه الأدوات المساعدة بواسطة شركة MTsST ، وبعضها برامج معروفة لمؤلفين من جهات خارجية. من بين هذه الأخيرة ، هناك أيضًا إصدارات تم تكييفها خصيصًا لـ Elbrus: على سبيل المثال ، يتطلب CoreMark لكل نظام أساسي تنفيذ واجهته الخاصة ، مع الأخذ في الاعتبار ميزات المترجم والمكتبات ، واستدعاءات النظام وهياكل البيانات ، والتعدد ، وأدوات قياس الوقت. ومع ذلك ، لا يعطي هذا النقل أي مزايا مخفية ، خاصة وأن نتائج التشغيل الرئيسي يتم التحقق منها بعد ذلك باستخدام المحلل.تم إنشاء اختبار CoreMark بواسطة اتحاد قياس المعالجات الدقيقة المضمنة (EEMBC) ويتكون من عدة مهام اصطناعية ، بما في ذلك مصفوفات المعالجة والقوائم المرتبطة ، وحالة التبديل لآلة الحالة ، وحساب المجموع الاختباري. على ما يبدو ، لسبب أن التسجيل مطلوب لتنزيل أكواد المصدر ونشر النتائج ، لم يكتسب هذا الاختبار شعبية كبيرة: يوجد حاليًا 406 إدخالات في قاعدة البيانات .
الوضع | i7‑2600 | D2500 | E2S-800 | R500 / E | R500 / م |
---|
جوهر واحد | 15'218 | 3595 | 2'260 | 602 | 434 |
جميع النوى | 88'570 | 7'108 | 8'850 | 1'214 | 850 |
تكون النتيجة التي حققها معالج Elbrus-4C في وضع الخيوط الأحادية أعلى بقليل من AMD Athlon XP-M القديمة بنفس سرعة الساعة ، وعندما يتم استخدام جميع النوى الأربعة ، تكون قريبة من Athlon 64 X2 QL-65 ثنائي النواة ، Intel Atom 330 ، D525 ، D2500 ، Core 2 Duo E4300 ، الذي يبلغ تردده ضعف ذلك على الأقل.تم عرض سلوك غريب بواسطة R500 مع نظام تشغيل Elbrus: عند استخدام اثنين من الخيوط أو عمليتين ، تشترك كلتاهما في جوهر واحد بالتساوي ، وتم توزيع الخيوط أو العمليات الثالثة واللاحقة فقط على النواة الثانية أيضًا ، ولم يحدث التشبع إلا عند درجة موازية تساوي 8. لذلك ، يُظهر الخط المنقط أيضًا نتائج إضافية مع عدد الخيوط التي تتجاوز عدد نوى الكمبيوتر: كما ترى ، جميع المشاركين الآخرين في الاختبار لديهم هذه الخطوط المتقطعة في التخزين vayutsya في خط أفقي - الطريقة التي ينبغي أن تكون، وعندما يستهلك كل موضوع جميع الموارد المتاحة. لم يكن من الممكن معرفة أسباب الشذوذ: ربما هذه هي ميزات إعدادات جدولة المهام في نظام Elbrus على هذا الكمبيوتر.7 - الرمز البريدي
نضجت فكرة تضمين اختبار أرشيفي مدمج في برنامج الاختبار بعد قراءة مراجعة على CNews في عام 2014 ، والتي قارنت أيضًا أداء Core i7-2600 (بدون Hyper-Threading ، ولكن مع Turbo Boost ، على ما يبدو) و Elbrus-4C ، وإن كان ذلك بتردد 700 ميجاهرتز ، بالإضافة إلى Elbrus-2C + ، التي تحتوي على مركزين فقط وتردد 500 ميجاهرتز ، ولكن هناك أربعة نوى أخرى لمعالجة الإشارات ElCore9 DSP من الفيس (ومع ذلك ، لم يشاركوا في هذا الاختبار). انطلاقا من القيم الواردة هناك ، أطلق المؤلف " 7z b"وقسمت النتيجة على عدد النوى. ننشر النتائج في شكلها الأصلي ، وعلى الرسم البياني ، كمقياس للسرعة ، يتم تحديد العدد التقديري للعمليات الصحيحة على جميع النوى لكل وحدة زمنية (MIPS) ، ويظهر الجدول سرعة معالجة البيانات المطلقة والتصنيف النسبي لنواة واحدة ، مع الأخذ في الاعتبار الحمل الفعلي للمعالج في وضع التشغيل الآخر.
المؤشر | i7‑2600 | D2500 | E2S-800 | R500 / E | R500 / م |
---|
ضغط ، ميغابايت / ثانية | 17'200 | 1'300 | 2'144 | 228 | 247 |
تفريغ ، MB / s | 211'282 | 24'738 | 38'894 | 3'227 | 2'430 |
تصنيف MIPS | 18'781 | 1'823 | 2'920 | 269 | 241 |
تصنيف النواة | 2'662 | 1000 | 843 | 263 | 243 |
هنا يمكننا أن نلاحظ كيف أن "Elbrus" الجديد لا يتخلف تقريبًا عن Atom حتى في وضع الخيوط المفردة ، ويتجاوز الأداء الكلي لجميع النوى أداءه بالفعل بشكل كبير - مرة ونصف.أظهر كلا الحواسيب المستندة إلى R500 ممانعة في التوسع على خيطين هذه المرة. علاوة على ذلك ، لسبب ما ، لم يتمكن الـ 7 - Zip في نظام MSVS من تحديد درجة حمولة النوى أثناء تفريغها - كان من الضروري أخذها تساوي 99 ٪ عن طريق القياس مع الضغط وحساب التصنيف يدويًا.مفتوح
على غرار الاختبار السابق ، جاء قرار قيادة OpenSSL بشكل طبيعي بعد لقاء متكرر مع أطروحات مثل "المعالجات المحلية فعالة جدًا في التشفير ، خاصة على خوارزميات GOST" (التي لم يتم تحديدها لتنفيذ الخوارزميات ، للأسف). أسفرت عمليات البحث عن الملفات التي تحتوي على كلمة " gost " باسمها عن نتائج متواضعة إلى حد ما:/usr/include/nettle/gosthash94.h
/usr/include/php/ext/hash/php_hash_gost.h
لا يمكن أن يتباهى OpenSSL 0.9.8zc الأكثر شيوعًا المزوَّد بالنظام بأي شيء. لذلك ، بالنسبة للاختبارات ، تم اختيار خوارزميات التجزئة والتشفير المتماثل وحسابات التوقيع الرقمي الأكثر شيوعًا.





خوارزمية | i7‑2600 | D2500 | E2S-800 | R500 / E | R500 / م |
---|
MD5 | 615/3546 | 320/635 | 125/500 | 10/19 | 30/59 |
شا -1 | 534/2181 | 192/381 | 165/658 | 6.3 / 13 | 17/34 |
SHA-512 | 301/1227 | 119/237 | 89/355 | 0.7 / 1.4 | - |
هنا وأدناه القيم القصوى ، معبراً عنها بالميجابايت "العشري" في الثانية. يشير الكسر إلى النتائج عند استخدام قلب واحد وجميع النوى. الاندفاع يعني أن هذه الخوارزمية غير مدعومة في الإصدار العادي من OpenSSL: بالنسبة لنظام Elbrus القديم ، فهو 0.9.8b ، أما MSVS فهو 0.9.7b (نعم ، نحن لسنا عرضة لـ Heartbleed!).



خوارزمية | i7‑2600 | D2500 | E2S-800 | R500 / E | R500 / م |
---|
RC4 | 797/4060 | 202/401 | 61/246 | 5.8 / 12 | 12/24 |
AES-CBC | 81/351 | 43/79 | 32/128 | 2.1 / 4.1 | 5.1 / 10 |
AES-IGE | 78/341 | 20/40 | 43/170 | - | - |
في حين أن التشفير المتماثل عادة ما يستغرق نفس الوقت لتشفير وفك تشفير الرسائل ذات الحجم المتساوي (مع استثناء محتمل لتكاليف توليد الحالة الأولية) ، تتعامل الخوارزميات غير المتماثلة مع بيانات ذات حجم ثابت ، ولكنها تتطلب مجموعة مختلفة أو عددًا من الخطوات لإنشاء والتحقق منها التوقيع الرقمي. لذلك ، يتم عرض المزيد من النتائج بشكل منفصل ويتم التعبير عنها في عدد العمليات في الثانية.خوارزمية | i7‑2600 | D2500 | E2S-800 | R500 / E | R500 / م |
---|
RSA-4096 ، التوقيع | 105/477 | 11/22 | 6.6 / 27 | 0.8 / 1.7 | 0.8 / 1.5 |
اختبار RSA-4096 | 6496/30'176 | 700/1400 | 453/1790 | 56/126 | 49/98 |
DSA-2048 ، التوقيع | 2396/11200 | 267/534 | 157/634 | 20/40 | 18/37 |
DSA-2048 التحقق | 2052/9531 | 220/440 | 136/534 | 17/34 | 15/29 |
ECDSA-p384 ، التوقيع | 4896/22280 | 782/1560 | 273/1085 | 55/108 | - |
ECDSA-p384 ، التحقق | 1135/4994 | 157/312 | 49/198 | 10/21 | - |
تبادل ECDH-p384 | 1367/6014 | 187/374 | 58/233 | 12/25 | - |
الأداء العام لـ Elbrus-4C في هذه الاختبارات هو أيضًا على مستوى Atom D2500 ، مما يوضح إما ميزة أو تأخرًا من الخوارزمية إلى الخوارزمية. يتم إعطاء نتائج R500 مع نظام تشغيل Elbrus لـ 4 تيارات - في هذا الوضع وصل إلى الحد الأقصى ، بينما لا يزال يخسر الكثير لأخيه تحت سيطرة MSVS على التجزئة والتشفير ، ولكن يعيد تأهيل نفسه قليلاً مع التشفير غير المتماثل.Unixbench
تم تطوير مجموعة الاختبارات الاصطناعية هذه ، التي تغطي جوانب مختلفة من تشغيل الكمبيوتر ، من العمليات الحسابية الأولية إلى مكالمات النظام وعمليات القرص ، لأول مرة في أوائل الثمانينيات ، وتطورت تدريجيًا ، واستمرت حتى أيامنا هذه ، دون أن تفقد شعبيتها كأداة عبر الأنظمة الأساسية التقييم المتكامل لأداء النظام بشكل عام والمكونات الفردية بشكل خاص.اختبر | i7‑2600 | D2500 | E2S-800 | R500 / E | R500 / م |
---|
دهريستون 2 | 3240 / 13'735 | 595/1190 | 185/738 | 67/132 | 59/118 |
ويتستون | 820/5344 | 171/382 | 126/505 | 27/52 | 23/46 |
إكسل | 886/5630 | 257/524 | 82/314 | 47/85 | 88/136 |
ملف ، 1024/2000 | 3040/2994 | 451/683 | 287/373 | 44/47 | 37/32 |
ملف ، 256/500 | 1983/1890 | 307/479 | 185/232 | 34/34 | 30/23 |
ملف ، 4096/8000 | 4273/5664 | 807/1112 | 618/904 | 55/57 | 38/42 |
الأنابيب | 1747/8922 | 419/851 | 209/824 | 59/115 | 107/181 |
السياق | 585/4865 | 214/428 | 175/688 | 51/99 | 62/116 |
شوكة | 1260/4537 | 264/570 | 63/222 | 78/85 | 83/120 |
شل ، 1 | 1968/6990 | 458/703 | 210/551 | 45/65 | 123/183 |
شل ، 8 | 5465/7113 | 670/684 | 490/562 | 68/68 | 166/166 |
سيسكال | 2978/6584 | 781/1183 | 333/1082 | 79/152 | 133/223 |
المجموع | 1920/5550 | 403/682 | 203/519 | 52/76 | 66/92 |
وتجدر الإشارة إلى أنه في حزمة برامج Elbrus 401 - الكمبيوتر ، كان هناك إصدار من UnixBench 5.1.2 ، ولكن من أجل الاتساق ، تم استخدام الإصدار الحالي 5.1.3 في كل مكان ، خاصة وأن الإصدار القياسي أظهر نفس المؤشرات (كجزء من خطأ القياس).Pgbench (Postgresql)
كان من الصعب تجاوز المقالة حول تسريع Postgresql على IBM Power8 ، التي وصفت عملية تحسين كود البرنامج لهذه الهندسة على وجه الخصوص وأعطت تقييمًا إيجابيًا لتطور المشروع ككل ، دون أن تصاب بالرغبة في التحقق من مدى أبعد تقنية متواضعة عن مؤشرات الأداء العالي الخيالية المعروضة هناك . شيء آخر هو أن الشخصية المختارة للاختبارلا تدعي أجهزة الكمبيوتر أنها خادم قاعدة بيانات جاد ، ليس فقط لأن لديها عدد أقل بكثير من نوى المعالج وسلاسل التنفيذ ، ولكن أيضًا أقل من ذاكرة التخزين المؤقت وذاكرة الوصول العشوائي ونظام القرص "لا". ومع ذلك ، فإن حجم قاعدة الاختبار (أقل من 0.5 جيجابايت) يتناسب مع إطار تخزين البيانات الشخصية المناسب لجهاز الكمبيوتر الشخصي ، علاوة على ذلك ، يتناسب تمامًا مع ذاكرة الوصول العشوائي لمعظم الأجهزة المحددة. لذلك ، يمكن اعتبار هذا الاختبار مقياسًا شاملاً لسرعة الكمبيوتر بالكامل ككل ، والذي ، على عكس UnixBench ، له طبيعة واقعية ، وإن كانت من جانب واحد ، للحمل.يشتمل نظام تشغيل الكمبيوتر "Elbrus 401 - PC" على Postgresql 9.2.3 ، وتقرر جعل هذا الإصدار نقطة مرجعية لجميع المشاركين الآخرين ، دون نسيان المزيد من الإصدارات الحالية. بعد نسخ مستودع المطورين اعتبارًا من 3 ديسمبر 2015 ، حاولنا تجميع الإصدار الحالي بشكل مستقل ، والمشار إليه فيما بعد باسم "9.6 مستوى" ، ولكن حتى في مرحلة التكوين اتضح أن كل بنية تتطلب تنفيذًا محددًا للنظام الأساسي لـ spinlocks (ما هو ، وكيف تختلف عن أنواع الأقفال الأخرى التي تستخدمها Postgresql ، موصوفة في المقالة المذكورة أعلاه) ، وبالنسبة لـ E2K فهي ليست في الخط الرئيسي بالطبع. كحل بديل ، يمكنك استخدام “ -sisable-spinlocksومع ذلك ، كما تحذر الوثائق ، على حساب انخفاض ملموس - وإن لم يكن كارثيًا - في الإنتاجية. علاوة على ذلك ، إذا تبين أن الإصدار 9.6devel الذي تم تجميعه ذاتيًا أبطأ من الإصدار 9.2.3 القياسي ، فإن الإصدار 9.2.3 ، الذي تم جمعه أيضًا من المصادر العامة ، أصبح أبطأ من 9.6devel. وأكدت إعادة تشغيل الإصدار القياسي 9.2.3 بعد نهاية جميع الاختبارات الأخرى أنه لا يمكن تفسير انخفاض الأداء من خلال ميزات محرك SSD وحده (على الرغم من أنه لم يكن من الممكن القيام به بدونها في الاختبار المدمج للقراءة والكتابة). ومن ثم ، يشير الاستنتاج إلى أن مبرمجي MCST قد أجروا التعديلات اللازمة على الإصدار العادي ، أي أنهم أجروا عملية نقل كاملة ، وبالتالي سنشير إلى هذا الإصدار باللاحقة " e2k " ، والنسخة المجمعة ذاتيًا بدون spinlocks مع اللاحقة "س . "على العكس من ذلك ، لم تظهر أي مشاكل عند إنشاء الإصدار 9.2.3 من المصادر العامة على منصة SPARC ، لأنه مدعوم رسميًا. ومع ذلك ، فشلت محاولة لدمج النجاح مع الإصدار 9.6 المستوى في مرحلة التجميع ، لأن حواجز الذاكرة (آلية لضمان ترتيب صارم لعمليات الذاكرة على المعالجات مع تنفيذ استثنائي للإرشادات) مدعومة الآن فقط على SPARC V9. حدث نفس الخطأ عند بناء الإصدار 9.4.5 (الفرع الثابت الرئيسي في ذلك الوقت) ، على الرغم من أن الوثائق لا تزال تدعم البنية القديمة.كانت منهجية الاختبار واضحة قدر الإمكان: بدأ نظام إدارة قواعد البيانات (DBMS) بالإعدادات الافتراضية مباشرة بعد تهيئة المستودع ، وتم إنشاء قاعدة بيانات تجريبية هناك ، والتي تم ملؤها باستخدام أداة Pgbench لـ 32 تدفقات متوازية ، ثم تم تنفيذ سلسلة من عمليات إطلاق Pgbench لمدة 60 ثانية لكل منها بعدد متغير من العملاء المحاكمين ، كل منها يعمل في سلسلة المحادثات الخاصة به (لذلك كانت النتائج أعلى مما كانت عليه عندما شارك العديد من العملاء نفس سلسلة المحادثات). ظل عدد الطلبات التي تم إرسالها خلال كل جلسة هو الافتراضي (10 طلبات لكل اتصال) ، وبما أن العملاء كانوا يعملون على نفس الجهاز مثل الخادم ، لم يتم أخذ الوقت المستغرق في إنشاء الاتصالات في الاعتبار.يقلد سيناريو الحمل الرئيسي لـ Pgbench مجموعة اختبار TPC - B التي طورها مجلس أداء معالجة البيانات في التسعينات ويتكون من استعلامات مختلفة لجلب البيانات وتعديلها. من الواضح أن الاختناق في هذه الحالة هو النظام الفرعي للقرص ، وهو أمر غير مهم بالنسبة لنا. لذلك ، أجرينا أيضًا اختبارات للقراءة فقط (SELECT-only) ، - كما ذكرنا سابقًا ، فإن قاعدة البيانات بأكملها في نفس الوقت تناسب ذاكرة الوصول العشوائي ؛ بالإضافة إلى ذلك ، كان هذا السيناريو هو الذي استخدمه مؤلفو التصحيحات لـ Power8 وأسلافهم من معسكر x86 x64 لإظهار التحسينات التي أدخلوها.

البرنامج النصي | i7‑2600 | D2500 | E2S-800 | R500 / E | R500 / م |
---|
تب-ب | 307/542 | 248/285 | 991/991 | 16/16 | 87/87 |
حدد | 82'304 / 83'280 | 4076/4076 | 8732/8732 | 650/650 | 766/766 |
يحتوي جدول النتائج على الحد الأقصى من المؤشرات المحققة ، والتي يتم التعبير عنها بعدد الطلبات المجهزة في الثانية: يشير الكسر إلى القيم التي تم الحصول عليها باستخدام الإصدار 9.2.3 وفي جميع الإصدارات المختبرة بشكل عام. يقابل هذا الحد الأقصى عادة عدد العملاء الذين تتم خدمتهم بالتوازي ، وهو ما يعادل عدد نوى المعالج عندما يتعلق الأمر بقراءة البيانات فقط ؛ عند كتابة البيانات أيضًا على القرص ، يتم تحقيق الحد الأقصى بمزيد من التوازي ، على ما يبدو بسبب إعادة ترتيب الأوامر بواسطة القرص (أو ذاكرة التخزين المؤقت للنظام ، إذا سمح الاختبار بذلك).من المتوقع تمامًا وجود ارتباط بين نتائج المشاركين الثلاثة الأوائل: كان Elbrus 401 - PC متقدمًا على الجميع في الوضع المختلط بسبب سرعة SSD الخاصة به ، وقد ذكّر هذا مرة أخرى أن المعالج المركزي ليس الوحيد المهم لاستجابة الكمبيوتر. تختلف الصورة أثناء أخذ عينات البيانات تمامًا ، ولكن لا يمكن للمرء أن يفشل في ملاحظة أن معالج Elbrus-4C على قدم المساواة مع Atom D2500 حتى مع عدد الخيوط داخل عدد النوى للأخير ، على الرغم من أكثر من ميزة مضاعفة في التردد ؛ على ما يبدو ، يلعب الفرق في حجم ذاكرة التخزين المؤقت في المستوى الثاني (8 ميجابايت مقابل 1 ميجابايت) دورًا. ليس بالأمس ، لا تفقد صيغة النجاح التي تم اختراعها "الكثير من الذاكرة ومحرك سريع" أهميتها!تتطلب النتائج المجزأة لجهاز كمبيوتر يستند إلى R500 مع نظام التشغيل Elbrus شرحًا منفصلاً. إما بسبب نقص ذاكرة الوصول العشوائي ، أو بسبب ظروف أخرى ، توقفت الأداة Pgbench ببساطة عن إظهار علامات الحياة بعد التشغيل في وضع 2-دفق للكتابة أو 3 دفق للقراءة. علاوة على ذلك ، لم يتحسن الموقف حتى مع انخفاض حجم قاعدة الاختبار (بسبب انخفاض في معامل عامل التحجيم ؛ يشار إلى النتيجة بخط منقط في الرسم البياني) ، وبالتالي ، ظهور كمية كافية من الذاكرة الخالية. ما هو مميز ، ومع ذلك ، بدا كومة استدعاء برنامج "نائم" على النحو التالي:#0 0x00.... in __lll_lock_wait_private () from /lib/libc.so.6
#1 0x00.... in __lll_lock () from /lib/libc.so.6
#2 0x00.... in free () from /lib/libc.so.6
#3 0x00.... in doCustom ()
#4 0x00.... in main ()
أوه ، هذه الأقفال!أما بالنسبة للأداء المؤسف في اختبارات هذا الكمبيوتر للتسجيل ، فسيكون من السذاجة توقع أداء عالي من بطاقة فلاش.تعليقًا على النتائج ككل ، يمكن ملاحظة أن مثل هذا الاختلاف الثوري في الأداء بين الإصدارات المختبرة من Postgresql ، والذي تم عرضه في المقالة المذكورة سابقًا ، لم يكن من الممكن ملاحظته في تجربتنا: بصرف النظر عن إصدار E2K الذي تم تجميعه بشكل مستقل في شكل غير مثالي ، كانت الاختلافات ضمن هامش الخطأ القياسات ، بما في ذلك الحمل المختلط ، عندما كانت سرعة محرك الأقراص الصلبة متوقعة بشكل سيئ إحصائيًا طوال المدة المحددة للاختبار.أيضًا ، كانت الخطط لاختبار DBMS "Linter VS" (لا يجب الخلط بينها وبين " Linter ") ، والتي هي أصلية في MSVS ، على الرغم من أنها ليست جزءًا من مجموعة البرامج العادية ، الإصدار 707.3.4 منها يعتمد على Postgresql 8.4.3 مع الملحقات الأصلية لدعم إلزامي التحكم بالدخول. ومع ذلك ، لا يتم تضمين الأداة المساعدة Pgbench الاختيارية في حزمة تسليم هذا المنتج ، وتبين أن إصدارًا تم تجميعه ذاتيًا من رموز المصدر العامة غير متوافق مع نموذج الحقوق والامتيازات المستخدم.LCC ، دول مجلس التعاون الخليجي
تبين أن بناء Postgresql هو معيار جيد في حد ذاته: هذا ليس مشروعًا صغيرًا جدًا بحيث تومض الإعداد والتجميع على الشاشة في وقت قصير ، ولكن في نفس الوقت ليس كبيرًا جدًا بحيث لا يمكن أن تمتد العملية لفترة طويلة أو تنتهي بخطأ بسبب فقدان التبعيات أو النظام الأساسي عدم التوافق. العيب الوحيد من وجهة نظر الاختبار الشامل هو أن Postgresql مكتوب بالكامل باللغة C - لا توجد وحدة واحدة في C ++.تم قياس إجمالي وقت التجميع للإصدار 9.2.3 في الوضع متعدد الخيوط مع مستويات تحسين مختلفة: يتم التعبير عن النتائج الموضحة في الجدول بالساعات والدقائق والثواني وفقًا للوقت الفلكي ، ويتم عرض إجمالي تكاليف وقت معالج المستخدم في جميع سلاسل الرسائل بين قوسين (تكاليف النظام صغيرة نسبيًا ويرتبط على الأرجح بملف I / O ، وهو أمر غير مثير للاهتمام بالنسبة لنا في هذا السياق). لم يتم أخذ وقت تكوين التجميع في الاعتبار: على الرغم من أنه يمكن أن يكون مهمًا وقابلًا للمقارنة مع وقت التجميع ، إلا أنه يتم تنفيذ التكوين عادة مرة واحدة فقط في مرحلة معينة من المشروع ، في حين يتم استدعاء المترجم غالبًا عند إجراء التغييرات. أيضا ، ضع في اعتباركأنه عند إنشاء إصدار ثابت بإعدادات افتراضية ، لا يتم تجميع الأدوات المساعدة الاختيارية مثل Pgbench ، على عكس بناء الإصدار الحالي من المستودع. | i7‑2600 | D2500 | E2S-800 | R500/E | R500/M |
---|
-O0 | 0:00:17 (0:01:15) | 0:03:00 (0:05:08) | 0:02:00 (0:06:17) | 0:25:51 (0:42:09) | 0:14:18 (0:23:53) |
-O1 | 0:00:24 (0:02:12) | 0:04:31 (0:07:56) | 0:05:25 (0:15:18) | 1:33:35 (2:02:02) | 0:19:14 (0:33:10) |
-O2 | 0:00:32 (0:03:01) | 0:06:02 (0:10:47) | 0:13:12 (0:34:50) | 1:38:30 (2:46:51) | 0:27:31 (0:46:57) |
-O3 | 0:00:38 (0:03:37) | 0:07:02 (0:12:41) | 0:33:04 (1:22:04) | 2:17:38 (4:05:42) | 0:30:20 (0:51:40) |
توضح هذه النتائج فقط مدى السرعة التي سيتم بها تجميع نسخة معينة من مشروع معين مع الإعدادات الافتراضية - إصدار محدد من المترجم بدوام كامل على نظام أساسي معين. استخدم ممثلو بنية x86‑64 المترجم GCC 4.8.3 و 4.7.2 ، على التوالي ، وكمبيوتر يعمل بنظام MSWS يستخدم GCC 3.3.6 لهندسة SPARC ، والمشاركون في نظام تشغيل Elbrus لديهم LCC 1.16.12 و 1.19.18 ، على التوالي علاوة على ذلك ، فإن مترجم LCC الأمثل لبنية SPARC وبنية E2K هما مترجمان مختلفان تمامًا يقومان بقدر مختلف من العمل وينتج كود أداء مختلف. لذلك ، فإن المقارنة المباشرة مستحيلة هنا ، ولا يمكن استخلاص أي استنتاجات حول سرعة المعدات بناءً على نتائج هذا الاختبار. شيء آخرأنه سيكون من الجيد التحقيق في فعالية التحسينات ، ولكن لهذا نحن بحاجة إلى تأهيل رائع ، حتى لا يتضح أننانقيس معدل الزيادة ونستخلص الاستنتاجات بناءً على هذا المقياس الكوني.Java Micro Benchmark
بعد أن كان لديه فكرة غامضة جدًا عن Java ، قرر المؤلف تجربة كل نتائج googling بالترتيب ، وكان أول شيء فعله هو النظر إلى هذا المشروع ، والذي تبين أنه مضغوط للغاية وسهل التشغيل. يقوم بتنفيذ التقديرات الأساسية لأداء المعالج والأقراص الصلبة ، والتي يتم دمجها أيضًا في سيناريوهي "سطح المكتب" و "الخادم": الأول يخلق حملًا أكثر اتساقًا ، والثاني يحاول القيام بالعديد من المهام في نفس الوقت.البرنامج النصي | i7‑2600 | D2500 | E2S-800 |
---|
وحدة المعالجة المركزية ، مليون | 3927 | 196 | 356 |
القرص | 2546 | 164 | 126 |
سطح المكتب | 3238 | 181 | 241 |
الخادم | 7568 | 378 | 405 |
إذا كنت لا تولي اهتماما لتقييم أداء القرص ، فإن النتائج تبدو معقولة - النسبة التقريبية 10: 1 بين Core i7 و Elbrus-4C ، التي تمت ملاحظتها في الاختبارات الأخرى (مع التطبيقات الأصلية) ، تظهر هنا أيضًا ، وهناك اختلاف أكبر في سيناريو "الخادم" "يمكن تفسيرها بخصائص الحمل أو الخصائص الموضوعية لمنصات الاختبار. ومع ذلك ، فإن نفس النسبة من سرعة عمليات الملفات ، على الرغم من حقيقة أن Elbrus 401 - جهاز الكمبيوتر مزودًا بمحرك SSD سريع ، وبقية أجهزة الكمبيوتر لديها أقراص مستوى الدخول العادية ، تجعل المرء يشكك في كفاية الاختبار نفسه أو صيغة حساب التصنيف. في الواقع ، بالنظر إلى السجل التفصيلي لنص القرص ، يمكنك أن ترى أن سرعة قراءة محرك الأقراص الثابتة Seagate Barracuda 7200.من المفترض أن يصل 9 إلى 325 ميجابايت / ثانية في كل من التدفقين على Atom D2500 ، وسرعة قراءة WD Caviar Blue مخيف بشكل عام ليقول - 1650 ميجابايت / ثانية في كل من ثمانية تيارات على Core i7. تتجاوز هذه المؤشرات سرعة واجهة SATA - 2 التي يتم من خلالها توصيل الأقراص ، وبالتالي لا يمكنها حتى أن تعكس سرعة الوصول إلى المخزن المؤقت للقرص - ربما باستثناء ذاكرة التخزين المؤقت للنظام.ستظهر الاختبارات الإضافية أن تقييم أداء المعالج في Java Micro Benchmark ، على ما يبدو ، تم تنفيذه بشكل غير صحيح. تذكرنا هذه القضية مرة أخرى أن كتابة المعايير الصحيحة ليست سهلة ، والاعتقاد الأعمى بأن القادم الأول ، دون التحقق من مصادر أخرى ، سيكون خطأ.Speckjvm
يبدو أن مؤسسة تقييم الأداء القياسي (SPEC) ، المطور لوحدة المعالجة المركزية المعيارية SPEC وغيرها الكثير ، لا تحتاج إلى مقدمة ، ولا شك في أن احتراف المبرمجين فيها لا يرقى إليه الشك. عادة ما تكلف منتجاتهم الكثير من المال ، ولكن بالنسبة لـ SPECjvm98 و SPECjvm2008 ، فقد استثنوا ووزعوها مجانًا تمامًا - كان من الخطأ عدم استخدامها.اختبر | i7‑2600 | D2500 | E2S-800 |
---|
مترجم | 533.11 | 34.24 | 4،54 |
ضغط | 292.94 | 21.48 | 2.74 |
التشفير | 269.87 | 19.14 | 3.10 |
دربي | 427.77 | 24.85 | 5.00 |
mpegaudio | 184.79 | 12.48 | 2.29 |
scimark. تكبير | 45.88 | 5.46 | 1.13 |
scimark.small | 414.42 | 20.43 | 4.02 |
مسلسل | 207.05 | 13.86 | 1.45 |
بدء التشغيل | 32.31 | 5.19 | 0.69 |
تدفق الشمس | 110.51 | 6.85 | 0.89 |
XML | 621.66 | 36.76 | 5.25 |
المجموع | 206.50 | 15.03 | 2،30 |
الآن النسبة بين Core i7 و Elbrus-4C حوالي 100: 1 ، وفي جميع الاختبارات بالإجماع ، دون استثناء. حسنًا ، إن Elbrus رباعي النواة هنا يتخلف بشكل ميؤوس منه حتى عن ذرة ثنائية النواة! بالنظر إلى التجربة السابقة غير الناجحة في قياس أداء Java ، كان من الصعب تصديق هذه النتيجة: يبدو أن الحمل يذهب فقط إلى المعالج والذاكرة ، والصورة مختلفة تمامًا عن البرامج الأصلية.الفرضية القائلة بأن Core i7 يستفيد من استخدام الإصدار الأحدث من Java - 1.7.0 ، في حين أن Elbrus لديه فقط 1.6.0 تحت تصرفه - تم دحضه من خلال اختبار نفس الإصدار 1.6.0 على Atom ؛ ومع ذلك ، كان JVM في الحالة الأخيرة الإصدار 23.25 مقابل 20.0 (المؤلف لا يعرف مدى أهمية ذلك). تم التحقق من الافتراض أيضًا أن الكثير من الذاكرة المخصصة لجافا هي بنفس السوء مثل المساحة الصغيرة جدًا: وفقًا للوثائق تمامًا ، تم تخصيص 512 ميجابايت لكل نواة ، ولكن النتيجة تتأرجح فقط ضمن هامش الخطأ مقارنة بوقت تبرز مرتين ، وعندما أربع مرات.نكرر ، ليست هناك حاجة للشك في مؤهلات مطوري الاختبار: على الأقل يعرفون أن "Java خطيرة للغاية لدرجة أنه يجب تسخينها قبل الإطلاق" ، ويستمر هذا الإعداد دقيقتين لكل اختبار ، والذي لم يتم العثور عليه في أي Java آخر تمت مراجعته المعيار. يبدو أن التسخين ليس له أي تأثير ، وتستمر الآلة الافتراضية في تفسير الرمز الزائف ، بدلاً من ترجمته إلى تعليمات الآلة.على الرغم من أن نكون صادقين ، في البداية ما زال هناك بعض عدم الثقة عندما اتضح أن الاختبار غير متوافق مع الإصدارات الأحدث من Java ، مثل 1.8.0 ، وأن مخططات نتائج الاختبار يتم حفظها بتنسيق JPEG. ولكن أظهر المزيد من البحث أن أداء Java هو على ما يبدو حقًا ما هو عليه.تحديث اعتبارًا من 5 فبراير 2016.لتأكيد أو دحض الفرضية القائلة بأنه لا يوجد بث ثنائي على Elbrus ، حاولنا حظر استخدامه بالقوة على جهاز كمبيوتر به Core i7 في التعليقات ، وتمرير المعلمة الإضافية " -Djava.compiler = NONE " إلى الجهاز الظاهري . للأسف ، هذا جعل معيار SPECjvm نفسه مستحيلاً ، لأن سلسلة المترجمات للاختبارات جزء لا يتجزأ منه. تتجمد العملية ببساطة عند التشغيل الأول (الاختبار): ينخفض الحمل على المعالج المركزي إلى الصفر ، ولا يحدث أي شيء في 12 ساعة ، بينما في الوضع العادي يستغرق ساعتين لإكمال الاختبار بالكامل.Scimark
يتم استخدام هذا الاختبار كجزء من SPECjvm2008 ، ولكنه معروف بحد ذاته. يقترح موقع المؤلفين إطلاق SciMark 2.0 مباشرة في المتصفح كبرنامج صغير ، ولكن تم إعطاء تحذير من أن هذه الطريقة قد ترتبط ببعض تدهور الأداء. لذلك ، ولأن Firefox في نظام Elbrus لا يحتوي على مكون إضافي مطابق ، اخترنا إصدار وحدة التحكم للاختبار.حجم المهمة | i7‑2600 | D2500 | E2S-800 |
---|
افتراضي ، الإجمالي | 1715.45 / 76.60 | 206.06 | 17.92 |
FFT (1 ك) | 996.14 / 23.80 | 123.85 | 16.89 |
سور (100) | 1435.35 / 153.27 | 375.48 | 32.87 |
مونتي كارلو | 745.65 / 15.92 | 97.12 | 4.24 |
متناثر متناثر (1000 ، 5000) | 1579.66 / 85.78 | 206.61 | 15.15 |
لو (100) | 3820.45 / 104.22 | 227.25 | 20،44 |
كبير ، إجمالي | 1562.90 / 78.49 | 176.90 | 14.65 |
FFT (مليون 1) | 171.20 / 21.69 | 26.68 | 9.11 |
SOR (1000) | 1314.13 / 151.12 | 365.33 | 28.46 |
مونتي كارلو | 745.40 / 16.03 | 95.94 | 4.25 |
متناثر متناثر (100 ألف ، 1 مليون) | 1329.01 / 90.91 | 180.85 | 13.26 |
لو (1000) | 4254.75 / 112.73 | 215.68 | 18،20 |
كما ترون ، يتجلى الفرق الأساسي بين أمرين من الحجم في هذا الاختبار. ولكن يجب أن يوضع في الاعتبار أيضًا أن هذا الاختبار يتم إجراؤه بشكل مستقل فقط في وضع الخيوط الأحادية ، على عكس العمل في SPECjvm. بالإضافة إلى ذلك ، فإن مدة تنفيذ الاختبار أقصر بكثير ، وهذا سمح لنا بتجربة معلمات JVM: تشغيل مع إشارة صريحة للعميل أو وضع الخادم ، وتعيين البداية والحد الأقصى من الذاكرة المخصصة - كل هذا لم يؤثر على النتيجة بأي شكل من الأشكال.تحديث اعتبارًا من 5 فبراير 2016.بالنسبة إلى Core i7 ، بعد الكسر ، يشار أيضًا إلى النتائج التي تم الحصول عليها مع إيقاف البث. من السهل أن نرى أن توازن القوى في هذه الحالة يتغير إلى المعتاد 4: 1 - 6: 1. وهذا يعني أن سبب انخفاض إنتاجية Java على منصة Elbrus يكمن في حقيقة أن كود البايت يتم تفسيره دائمًا بواسطة الجهاز الظاهري ، ولا يتم ترجمته إلى تعليمات الجهاز للمعالج حسب الضرورة.جافا لينباك
في الواقع ، تم اختبار هذا الاختبار الخاص أولاً ، وذلك بفضل الكلمة المألوفة "Linpack" في العنوان. ومع ذلك ، فإن النسخة التي تم العثور عليها كانت مؤرخة عام 1997 ، ولم تكن تعرف كيفية توزيع الحمل عبر نوى المعالج وكانت لها قيم معلمات مشفرة ذات صلة بتلك الفترة "ما قبل التاريخ" ، ونتيجة لذلك تم حساب مدة التنفيذ في كسور من الحد الأقصى الثاني. لذلك ، بدا هذا البرنامج عديم الفائدة ولا يستحق حتى ذكره. لكن النتائج المتضاربة للاختبارات الأخرى أجبرتنا على إعادة النظر في الحكم ومراعاة مثل هذه الأدلة على الأقل. لزيادة الأهمية الإحصائية على الأقل بطريقة أو بأخرى ، قمنا ببساطة بحساب متوسط قراءات 100 عملية إطلاق (في الواقع ، كانت التقلبات الخطيرة فقط على Core i7 - يبدو أن دقة قياس الوقت كانت غير كافية لالتقاط هذه الفترات الصغيرة بوضوح).المؤشر | i7‑2600 | D2500 | E2S-800 |
---|
MFLOPS | 236.33 / 70.44 | 14.69 | 2.25 |
أقنعتنا هذه النتائج أخيرًا بأن Java في الشكل الذي تتوفر به الآن على Elbrus مناسبة فقط لكتابة واجهة مستخدم أو أشياء أخرى مرتبطة بشكل ضئيل بأداء الكمبيوتر: على سبيل المثال ، واجهة المستخدم الرسومية لمثبت SPECjvm تصرفت بمسؤولية تامة.تحديث اعتبارًا من 5 فبراير 2016. بالنسبة إلى Core i7 ، بعد الكسر ، يشار أيضًا إلى النتيجة التي تم الحصول عليها بتفسير قسري. لا تزال النسبة كبيرة جدًا (30: 1) ، ولكن لا تنس أن هذا الاختبار لا يمكن اعتباره دقيقًا بسبب المدة القصيرة التافهة.SunSpider و JetStream و Peacekeeper
بعد قياس Java ، كانت الخطوة المنطقية التالية هي اختبار أداء JavaScript ، خاصة وأن هذه التقنية أكثر شيوعًا في حياة المستخدم العادي ، ما لم يتم حظرها تمامًا من الوصول إلى جميع مواقع الويب تقريبًا على الإنترنت. ومع ذلك ، فشلنا هنا. عند إطلاقه على Elbrus ، أنتج اختبار SunSpider مباشرة بعد الإحماء جدولًا بالنتائج ، حيث تمت الإشارة إليه مقابل كل سيناريو تحطمه. كان خليفته الموصى به ، JetStream ، يحلق في منتصف أول ثلاث جولات. كما توقف اختبار Futuremark Peacekeeper بشكل أساسي عن فعل أي شيء عندما يتعلق الأمر بمعالجة الصور بالتوازي. لذلك ، نقوم بنشر نتائج JetStream جزئية ،للحصول على فكرة على الأقل عن مستوى أداء النصوص البرمجية في المتصفح. | i7‑2600 | D2500 | E2S-800 |
---|
Latency | 80,45 | 12,80 | – |
3d-cube | 45,73 | 7,08 | 0,74 |
3d-raytrace | 64,40 | 7,11 | 1,17 |
base64 | 50,22 | 12,11 | 0,83 |
cdjs | 60,29 | 12,70 | / |
code-first-load | 78,59 | 13,87 | 5,55 |
code-multi-load | 77,03 | 12,96 | 4,73 |
crypto-aes | 66,67 | 11,97 | 1,20 |
crypto-md5 | 72,29 | 11,58 | 0,71 |
crypto-sha1 | 63,78 | 10,04 | 0,50 |
date-format-tofte | 100,60 | 15,61 | 1,84 |
date-format-xparb | 70,15 | 9,90 | 1,79 |
mandreel-latency | 145,80 | 10,16 | ∞ |
n-body | 107,80 | 14,77 | 0,33 |
regex-dna | 108,30 | 27,95 | 0,50 |
splay-latency | 294,30 | 54,03 | 3,57 |
tagcloud | 77,28 | 11,09 | 1,63 |
typescript | 59,16 | 9,25 | 1,86 |
Throughput | 244,16 | 36,68 | – |
bigfib.cpp | 246,60 | 48,82 | |
… | … | … | … |
mandreel | 219,40 | 23,81 | NaN |
… | … | … | … |
splay | 195,20 | 31,15 | 0,70 |
… | … | … | … |
Geometric Mean | 150,47 | 23,18 | – |
بمقارنة نتائج المشاركين المختلفين ، يجب أن نتذكر أنه على الرغم من أن Firefox نفسه هو تطبيق متعدد الخيوط ، إلا أن النصوص البرمجية من صفحة واحدة يتم تنفيذها في سلسلة واحدة. بالإضافة إلى ذلك ، تم اختبار Elbrus باستخدام Firefox 3.6.28 القياسي ، بينما تحتوي أجهزة الكمبيوتر الأخرى على متصفح إصدار حديث (38.5.0 و 42.0.0) مع محرك JavaScript محسن. ومع ذلك ، لا يمكن وصف هذه المبارزة بأنها غير عادلة ، لأنه من غير المحتمل أن تحصل على إصدار أكثر حداثة للمتصفح على منصة Elbrus ، إلا إذا قمت ببنائه بنفسك ، ولكن من الواضح أن هذه المهمة ليست للمستخدم العادي ، نظرًا لحجم المشروع والسلسلة المعقدة من تبعياته.إمبلاير
مشغل الوسائط المتعددة في نظام تشغيل Elbrus ليس غائبًا تمامًا - إنه موجود ، ولكن فقط مع واجهة سطر الأوامر ، وبالتالي لم يتم ذكره في قائمة البيئة الرسومية. كان الإصدار mplayer 1.1 قادرًا ، في وضع البرنامج البحت ، دون مساعدة مسرِّع الأجهزة لبطاقة الفيديو ، على تشغيل مواد ديناميكية بجودة HD كاملة مشفرة بتنسيق MPEG - 4.10 (AVC). صحيح ، لهذا كان مطلوبًا تحديد المعلمة -lavdopts thread = 4 عند بدء تشغيل اللاعبلفك تشفير جميع النوى. لم يكن هناك دفقان كافيان: في بعض الأحيان "تباطأ الفيديو". في الوضع أحادي الخيوط ، بدأ بالفعل يبدو وكأنه تصوير بطيء الحركة - قام اللاعب على الفور تقريبًا بتحذير من أن النظام كان ضعيفًا ولا يمكنه التأقلم. ولكن لتشغيل فيديو التعريف العادي (SD) ، فإن قوة قلب واحد أكثر من كافية: الحمل عادة في منطقة 10 ٪.في البداية ، خططنا لتوضيح السلوك أعلاه بشكل كمي مع إحصائيات mplayer الناتجة مع خيار -benchmarkومع ذلك ، بدت القيم المعروضة ، بعبارة ملطفة ، غريبة. على سبيل المثال ، في وضع الخيوط المفردة ، ينفق Elbrus-4C ما يقرب من 98٪ من القلب على فك ترميز مسارات الفيديو عالي الدقة بالكامل ؛ تذهب الفتات المتبقية إلى فك تشفير الصوت وإخراج كل هذا على الشاشة وبطاقة الصوت. عندما يتم استخدام دفقين ، يبلغ mplayer التكلفة الإجمالية 85٪ ، وعندما 4 دفق ، ثم 15٪. حتى إذا كانت هناك حاجة إلى ضرب هذه المؤشرات في عدد الخيوط ، فلا يزال هناك شيء لا يتقارب هنا. لذلك ، يجب أن تقتصر على الانطباعات اللفظية: لا يمثل تشغيل الفيديو عالي الدقة مشكلة بالنسبة لـ Elbrus الجديد. وهذا تقدم كبير حقًا على خلفية R500 ، والذي بالاشتراك مع محول MGA في تجاربنا السابقة بالكاد سحب 352 × 288 ميجابيج بسرعة 8-9 إطارات في الثانية.في الحالات القصوى ، تتضمن حزمة البرامج محول FFmpeg 1.0 ، والذي يسمح لك بتحويل الفيديو من تنسيق إلى آخر: قم بتغيير نوع الحاوية ، وضغطها باستخدام برنامج ترميز آخر ، إلخ.FIO، DD
معنى قياس أداء القرص I / O ، كما سبق ذكره ، لم نر. أولاً ، لأن محركات أقراص سلسلة Kingston SSDNow mS200 لم يتم اختبارها بعد من قبل محركات الأقراص البطيئة. ثانيًا ، لأن القيام بذلك بشكل صحيح ليس بهذه البساطة ، وستظل النتيجة مختلطة. وحقيقة أن Elbrus الجديدة لم يكن لديها أي مشاكل قاتلة للغاية مع وحدة تحكم القرص كانت واضحة. فقط للتأكد من ذلك ، أطلقنا أداة fio 2.3 للقراءة بحجم كتلة كبير (كان 16 ميجابايت كافياً للتشبع) وحصلنا على ذروة عند مستوى 185 ميجابايت / ثانية. للاختبار ، يتم استخدام تسجيلات البيانات القابلة للضغط بشكل جيدdd if = / dev / zero of = myfile oflag = direct bs = 16M count = 64
وحصلت على النتيجة 63 ميجابايت / ثانية. كانت سرعة تسجيل البيانات غير القابلة للضغط (فيديو) بنفس الطريقة 34 ميجا بايت / ثانية. نعم ، هذا أقل بكثير مما هو مذكور في دراسات الجهات الخارجية لنموذج محرك الأقراص هذا ، ولكن بالنسبة للمهام اليومية التي يتم إجراؤها على هذا الكمبيوتر ، سيكون بالتأكيد كافياً. ما هي أسباب هذا السلوك سؤال آخر ، لأنه من المستحيل شرح كل شيء مع قيود واجهة SATA - 2 وحدها ، ولا يرتفع حمل المعالج فوق 10-15 ٪.iPerf
من الصعب أيضًا تقييم أداء النظام الفرعي للشبكة بشكل لا لبس فيه ، ومرة أخرى كنا راضين لقياس الحد الأقصى من الإنتاجية - باستخدام iPerf 3.1.1. كان الشريك في هذا العمل لـ Elbrus 401 - PC هو الكمبيوتر الموصوف أعلاه بناءً على Core i7 مع وحدة تحكم شبكة Intel 82579LM مدمجة تعمل تحت openSUSE 13.2 ؛ تم توصيل أجهزة الكمبيوتر مباشرة. بقيت إعدادات IPerf لـ TCP بشكل افتراضي ، وبالنسبة لـ UDP تم استخدام مخزن مؤقت سعة 60 كيلو بايت.الاتجاه | TCP | UDP |
---|
إرسال ، ميغابت في الثانية | 725 | 820 |
تلقي ، ميغابت في الثانية | 665 | غير متوفر |
لم يكن من الممكن التحقق من UDP للإدخال ، نظرًا لأن openSUSE ، الموجود على الطرف الآخر من الكابل ، يحد عادةً نطاق إخراج UDP إلى 10 ميجابت في الثانية بغض النظر عن سرعة الواجهة ؛ كما نرى ، ليس لدى نظام التشغيل Elbrus مثل هذه القيود الخفية.الاستنتاجات
تمتلك معالجات الهندسة المعمارية Elbrus-2000 (E2K) منظمة أصلية تسمح بموازنة الحمل بين الأجهزة التنفيذية لكل قلب في مرحلة تجميع البرامج. هذه الميزة هي نقاط قوتها ونقاط ضعفها ، لأن الأساس النظري الواعد نادرًا ما يمكن تطبيقه ، خاصة عندما يتعلق الأمر بالبرامج ذات الأغراض العامة التي لم يتم تحسينها خصيصًا لـ Elbrus. بالإضافة إلى ذلك ، يكون التحسين الثابت ضعيفًا عند مواجهة لغات البرمجة الديناميكية.ميزة أخرى مميزة لـ E2K هي التكنولوجيا المتكاملة للتنفيذ الآمن للبرامج ، بسبب التحكم الصلب في الأجهزة للوصول إلى الذاكرة التي تكشف عن الأخطاء النموذجية عند استخدام المؤشرات وإدارة الذاكرة اليدوية. إذا كنت تعتقد أن الوصف ، فهذا مجرد دواء لكل داء ، يشفي برامجك في الحال من جميع العلل تقريبًا من التعامل مع الإهمال للذاكرة - بشكل أكثر دقة ، يساعدك في العثور على جميع مجالات المشاكل حتى في مرحلة التطوير ، وليس بعد وضعها في التشغيل التجاري.تعلن الشركة المصنعة أيضًا عن إمكانية تنفيذ البرامج التي تم تجميعها لبنية x86 / x86-64 "مباشرة" من خلال الترجمة الثنائية ، والتي تعد بإمكانيات واسعة لاستخدام أنظمة التشغيل الشائعة (Windows ، * nix) ومجموعة متنوعة كاملة من برامج التطبيقات المفتوحة والمغلقة كود المصدر. من المؤسف أننا لم نتمكن من اختبار هذه الوظيفة ؛ على الرغم من ذلك ، إذا كنت تتذكر جميع مشكلات الأمان التي يجلبها x86 معك ، فيجب أن تسأل عن كيفية حظر هذا التوافق الشفاف مرة واحدة وإلى الأبد.إن الأداء الكلي لجميع النوى الأربعة لمعالج Elbrus-4C ، الذي يعمل بسرعة 800 ميجاهرتز ، يتوافق تقريبًا مع أداء Intel Atom D2500 ثنائي النواة عند أكثر قليلاً من ضعف التردد (1866 ميجاهرتز) ، على أي حال مع طبيعة الحمل الذي اختبره برامج لنا. ومع ذلك ، في الحياة اليومية ، عادة ما تسود المهام ذات الخيوط الفردية ، وبالتالي فإن العديد من النوى البطيئة ستعطي المستخدم انطباعًا عن نظام أقل استجابة. من السابق لأوانه أن تحلم بألعاب الفيديو الديناميكية على مثل هذا الكمبيوتر ، على الرغم من أن تجارب إطلاق Doom 3 تبدو ناجحة. من الممكن أيضًا تشغيل أفلام Full HD ، ولكن في حالة عدم تسريع الأجهزة ، يقع الحمل بالكامل على المعالج المركزي. أما بالنسبة للعمل المكتبي ، فإن السعة المتاحة كافية بما فيه الكفاية ؛ علاوة على ذلك ، كما رأينا ،لا يتم وضع الراحة من خلال معالج واحد. والنسخة القديمة من متصفح الويب فقط محيرة ، لأن القليل من المواقع على الإنترنت متوافقة مع هذا الأثر.لم تكن لدينا شكاوى جدية حول تكوين مكونات الكمبيوتر Elbrus 401 - PC ، لأن المكونات تم اختيارها بشكل أساسي. بدلاً من ذلك ، أود المزيد من الحرية في تكوين الطلب ، حتى الاستبعاد الكامل لكل ما هو غير ضروري لعميل معين. لن يضر القدرة على تثبيت نظام التشغيل بنفسك ، مع وضع علامة على القرص وفقًا لتفضيلاتك.باختصار ، أحب المؤلف حقًا "Elbrus" الجديد ، خاصةً مقارنة بما يمكن أن تقدمه صناعة الكمبيوتر الروسية في وقت سابق. نعم ، حتى لو لم يكن Core i7 (أو Xeon E7 ، على وجه الدقة) ، حتى شركة AMD الضخمة بمليارات ميزانياتها البحثية والإنتاجية لا تزال غير قادرة على تجاوز Intel وتجاوزها. نعم ، دع السعر "يلدغ" في الوقت الحالي ، مما يخيف المستهلكين العاديين وحتى الأعمال التجارية - الآن فقط متفائل كبير يمكنه أن يحلم بغزو السوق المدنية. لكن التقدم واضح بالفعل ، خاصة وأن "Elbrus-8C" تلوح في الأفق بشكل واضح ، والذي يحتوي على المزيد من النوى ، والمزيد من الميغاهرتز ، وأود أن أصدق ، بأقل من دولار. نأمل أن تتاح لنا الفرصة في يوم من الأيام لكتابة مقال عنه ، والأفضل من ذلك أن يبدأ الملاك الآخرون للمعدات المحلية في مشاركة خبراتهم.عندها فقط تحصل المنصة على فرصة لتصبح كتلة عندما تتعلم أن تكون مفتوحة.بعد البرنامج النصي
اليوم ، 02/09/2016 ، اتصل بنا ممثل شركة MCST وعرض علينا العمل معًا لإزالة "البقع الداكنة" - على وجه الخصوص ، لفهم تقنية الترجمة الثنائية لرمز x86 ، للتحقق من أداء الإصدار الجديد من جهاز Java ، لتحديد معايير إضافية لإظهار نقاط قوة Elbrus ”، وكذلك إجراء اختبارات مكثفة بمشاركة عينات أخرى من المعدات المملوكة. حتى الآن ، هذه اتفاقية أولية ، لذا من السابق لأوانه وضع توقعات لما قد يتحول إليه هذا المشروع ، لكننا لا نأمل في إضافات مجزأة إلى المواد الحالية ، ولكن بالنسبة لمقال جديد أو حتى سلسلة من المقالات - اعتمادًا على كمية المواد المكتوبة. يرجى التحلي بالصبر - كل هذا مخصص بالضبط من أجل النشر.تحديث اعتبارًا من 3 مارس 2016.النتيجة الأولى للتعاون هي " ملحق للمراجعة: أسئلة وأجوبة ".