التفكير في ARMageddon

مرحبا هبر! اسمي سيرجي ميناييف ، أنا رئيس إدارة خدمات الويب في Sportmaster.



وبينما يناقش العالم كله مدى نجاح معالج Apple M1 ، وما إذا كان بإمكانك حقًا تصديق المعايير ، فقد انغمست أنا ومهندسي في التفكير في المستقبل.



جلسنا ودخننا ، بدأ يوم جديد ، لكن التفكير فيما حدث لم يترك رؤوسنا. لا ، لم نناقش الانهيار المحتمل لشركة Intel ، ولم نفكر فيما ستفعله AMD مع x86 بعد ذلك ، ولم نفكر في Vendekapets. لقد حاولنا وما زلنا نحاول فهم مدى تغيير منتج Apple الجديد في تطوير الويب.



دعنا نعود إلى "منذ زمن بعيد ، في مجرة ​​بعيدة" ونتذكر بنى المعالجات المختلفة ، ولماذا تُركت على هامش التاريخ.



في البداية كانت الكلمة. ثم كلمة مزدوجة







عندما كانت أجهزة الكمبيوتر كبيرة مثل الأشجار وكان x86 صغيرًا مثل العشب ، تم إنجاز معظم العمل على "أجهزة كمبيوتر كبيرة" ، ولم يأخذ أحد جهاز كمبيوتر IBM بجدية كبيرة. ولكن بعد ذلك كان هناك ثورة عدد المرات - ظهر 80386. ظهر الوضع المحمي ، كان من الممكن معالجة 4 جيجابايت من الذاكرة ... لكن كل هذا لا يهم حقًا. السعر والانتشار مهمان. في مرحلة ما ، بدأ x86 ، بفضل Microsoft ، وهي شركة غير معروفة للغاية ، في غزو سوق أجهزة الكمبيوتر الشخصية التي يمكنك شراؤها في المنزل. وحيث يوجد حشد ، تظهر آلة يدوية ومألوفة ومفضلة. لقد أصبحت x86 أداة من هذا القبيل ، حيث بدأت كتابة الكثير من البرامج ، وتمت كتابة هذا البرنامج على x86 نفسه.



نعم ، كان هناك سوق كبير وثقيل لـ DEC Alpha و PowerPC و MIPS و SPARC. يتم تجاوز أجهزة كمبيوتر Apple القائمة على Motorolla / PowerPC في الوقت الحالي. لكن الشيء الأكثر أهمية حدث على مستوى الكمبيوتر الشخصي: x86 كان أداة مألوفة وواسعة الانتشار ، ويزداد الأداء مع كل جيل ، وكان التوافر أعلى من البنيات الأخرى. أدى كل هذا إلى حقيقة أنه تم توزيع كتلة حرجة من البرامج خصيصًا لـ x86 ، وخير مثال على ذلك هو التخلي التدريجي لشركة Microsoft عن أبنية Alpha و MIPS و PowerPC في Windows NT 4.0.



تدريجيًا ، بدأ x86 في اقتحام قطاع الخادم ، حيث سادت PowerPC و MIPS و IA64 من قبل. بمرور الوقت ، بدأ المهندسون المعماريون في التخلي عن البنى المخصصة ، وبدأ سوق الخوادم في السيطرة على x86 (بالفعل amd64) ، وانتقل عمالقة مثل PowerPC و SPARC إلى سوق متخصص للغاية. ذهب MIPS إلى أجهزة التوجيه ، وتم التخلي عن PA-RISC لـ IA64 ، ووجد IA64 جبل الجليد الخاص به.



ولكن ماذا يمكننا أن نقول عن قطاع الخادم ، حتى لو انتقلت وحدات تحكم الألعاب من PowerPC / Cell إلى x86 و ... ARM.



مرحبا بكم في عالم جديد شجاع. او لا تاتي ...







انتقل عقليًا إلى منتصف عام 2000: الدولار عند 29 عامًا ، أعلنت شركة Apple عن الانتقال من IBM PowerPC إلى Intel x86. أسرع ، أعلى ، أقوى. يبدو أن مترجم Rosetta يسهل الانتقال من معمارية إلى أخرى. في ذلك الوقت ، لم يفكر أحد كثيرًا في التطوير على جهاز MacBook ، لذلك تحولت إلى علكة سلام وصداقة.



ننتقل الآن إلى عام 2007 عندما قدمت Apple أول هاتف iPhone لها على Samsung 32 بت RISC ARM. إنه وقت تاريخي لـ ARM. تم استخدام معالجات هذه البنية سابقًا في أجهزة المساعد الرقمي الشخصي ، لكن الأجهزة من هذا التنسيق كانت من اختصاص المهندسين والمهوسين. إذا كنت تتذكر سيارة مترو الأنفاق في ذلك الوقت ، فلن يتمكن سوى قلة من الناس من رؤية المساعد الرقمي الشخصي ، وإذا كانت مذهلة ، فقد أثارت الاهتمام. من الذي يمكنك مفاجأته بهاتف ذكي الآن؟ دخلت الأجهزة المحمولة حياتنا بالكامل. الآن سوق C / C ++ أو Assembler ضيق للغاية ، ولكن جميع الأبواب تقريبًا مفتوحة لمطور للهواتف المحمولة. نعم ، تم تصميم Java لنظام Android و Swift لنظام iOS. لكن كل شيء يعمل على ARM.



يتمتع ARM بالكثير من المزايا ، ولا أعتقد أنه من الضروري الإسهاب في البيانات الفنية ، لأن أهم شيء هو الانتشار والعادة. عادة لكل من المستخدمين والتنمية.



في غضون ذلك ، تخترق ARM عالم وحدات التحكم: بدأت Nintendo و nVidia في استخدام هذه البنية.



يُنسى الماضي ، يُغلق المستقبل ، ويُمنح الحاضر



الآن دعنا ننتقل إلى عصرنا. هذا العام حافل بالأحداث ، لذا أعتقد أن التغيير في الهندسة المعمارية في Apple كان ملحوظًا بالطبع ، لكننا سنحصل على أصداء الخلفية بعد قليل.



في مرحلة ما ، أصبحت أجهزة الكمبيوتر المحمولة من Apple ليست مجرد رمز للموضة ، بل أصبحت أداة عمل ، علاوة على ذلك ، والأهم من ذلك ، أداة معتادة للمطور. كثيرًا ما نسمع من المرشحين "أعطني جهاز MacBook أو سأبرمج عندي". المطور (الويب والجوال) و MacBook غير قابلين للتجزئة عمليًا.



وفي هذه اللحظة ، يبدأ الشيء الأكثر إثارة للاهتمام: شركة ليس لديها مثل هذه الحصة السوقية الكبيرة ، ولكن لديها أداة يتم استخدامها ، والتي ، وفقًا لتقديرات مختلفة ، يتم إنشاء 90-95 ٪ من التعليمات البرمجية للويب ، وتغير بنية المعالج في منتجها ...

دعنا نعود إلى الماضي ، في مكان ما في 1985-1995. ما هي ميزة x86: توفر السعر ، والعادة ، والعدد المتزايد من تطوير البرامج والبرامج. تباع الآن أجهزة كمبيوتر Apple M1 المحمولة بسعر أرخص من أجهزة كمبيوتر Intel Core المحمولة. المطورون معتادون جدًا على Macbook ، وإذا كان إصدار ARM أرخص من الإصدار x86 ، فسيتم شراؤه عمومًا. وسوف يشترونه بسبب السعر ، ولأنه أسرع وفقًا للاختبارات ، ولأنه يعيش على شحن أكثر. وبشكل عام - هذا هو جهاز Macbook جديد رائع!







وإذا كان كل شيء في تطوير الأجهزة المحمولة واضحًا إلى حد ما ، فلن يتغير الكثير فيه ، ثم مع الويب ، ربما ، سيبدأ غير المفهوم.



سيعمل مستخدمو أجهزة MacBooks الجديدة على ARM ويكتبون رمزًا لـ x86. نعم ، يوجد Rosetta 2 ، لكن Docker ليس جاهزًا لـ M1 بعد. لكن هذا كل شيء الآن. ستكون هناك إصدارات مُحسّنة لـ M1 ، ومن المرجح أن يستخدم المطورون صور ARM. يحتاج Java نفسه إلى JVM للعمل ، والذي يتم تجميعه لهندسة معالج معينة. ويوماً ما سيكون هناك حبيبنا "كل شيء يعمل من أجلي محليًا ، إنه شيء ما مع خادمك!".



فى الختام







لسنا متأكدين مما سيحدث كما نتوقع. ربما سيعيش Rosetta 2 بشكل دائم ، وربما سيخرجون بشيء آخر ، ربما ستتخلى Apple عن M1 (أو سترد إمبراطورية Intel / AMD).



لكن في الوقت الحالي ، بحثنا في الصناديق ، ووجدنا Raspberry Pi 4 ، وبدأنا في اختبار Docker على ARM. وفي الوقت نفسه ، استعرضنا جميع صورنا الأساسية في سجل الشركة ورأينا ما إذا كان يمكن إعادة بنائها لـ ARM.



بدأت VMware في نقل ESXi إلى ARM ، Kubernetes موجودة بالفعل في إصدار ARM ، وتعمل Amazon على تحسين مثيلات ARM ، وغالبًا ما تتم كتابة الإنترنت بأن هيمنة x86 على وشك الانتهاء.

ربما كان هذا كله عبثًا ، لكننا نفكر بالفعل في إمكانية وملاءمة استخدام الخوادم في بنية ARM. الأفضل أن نفكر في الأمر الآن ، حتى لا ننشغل بهامش التاريخ.



All Articles