هل لديك فضول ما هي الاختناقات التي يبنيها مشروع AOSP؟ يشارك دان النتائج التي توصل إليها - والتي قد تفاجئ القراء فيما يتعلق بما يسبب وما لا يسبب عنق الزجاجة.
تحديث 19/4 الساعة 12 ظهرًا بتوقيت القاهرة: أوقات البناء الموضحة هي أوقات بناء ccache.التحديث 20/04 الساعة 9:17 صباحًا بالتوقيت المركزي: من المؤكد أن الإصدار 3 لم يكن RAID 1. صححت هذا الخطأ.
في عام 2012، بدأت في بناء النواة - واعتمدت على Core 2 Quad Q9550 الموثوق به في بنائه. إذا لم يكن ذلك يستحق الإزعاج، فإن حقيقة أنني فعلت ذلك في جهاز افتراضي داخل نظام التشغيل Windows ربما تضمن ذلك بالنسبة لمعظم الأشخاص الذين يقومون ببناء Android من المصدر.
بيئة Ubuntu الافتراضية لا تعمل بشكل جيد مثل البيئة الأصلية، وكم كان ذلك مؤلمًا عندما استغرق بناء النواة أكثر من ساعتين. نظرًا لأنني أردت البدء في إنشاء Android من المصدر في العام التالي، كنت أعلم أن أجهزتي الحالية لن تفعل ذلك اقطعها - وهكذا بدأت رحلة طويلة ومستمرة لإيجاد طريقة لتقليل هذا البناء المتزايد باستمرار وقت.
وفي السنوات التي تلت ذلك، كنت محظوظًا بما فيه الكفاية للاختبار على عوامل الشكل والأنظمة الأساسية المتعددة. يعد هذا أمرًا مهمًا نظرًا لأن تكوينات البناء ليست حالة واحدة تناسب الجميع مع Android. قد لا يحتاج مطور التطبيقات إلى نفس التكوين الذي يحتاجه مطور الألعاب. وقد لا يحتاج الشخص الذي يقوم ببناء النواة فقط إلى إنفاق نفس المبلغ الذي يحتاجه الشخص الذي يحتاج إلى إنشاء ذاكرة قراءة فقط (ROM) كاملة لنظام Android من المصدر في فترة زمنية قصيرة جدًا. وماذا عن اختيار نظام التشغيل - ما الذي يمكن (وما لا يمكن) استخدامه الآن؟ آمل أن أستكشف هذا أكثر أيضًا، خاصة مع
يعمل Windows وCanonical على جلب Bash كاملاً إلى نظام التشغيل Windows 10.لبدء هذه السلسلة بشكل صحيح، علينا أن نجد أكبر الاختناقات المحتملة في بناء مشاريع AOSP من المصدر. لا نذهب غالبًا للتسوق لشراء جهاز كمبيوتر شخصي أو ترقيته دون معرفة أين تضع أموالك. لذا، واستنادًا إلى 3 سنوات من البحث والنتائج القابلة للقياس، فأنا على استعداد لمشاركة ما وجدته. الآن إخلاء المسؤولية المتوقع: تستند هذه النتائج إلى تجارب شخصية ولا يمكن أن تأخذ في الاعتبار جميع المجموعات. أولئك منكم الذين لديهم تكوين بناء خاص بهم، اصمتوا وأخبرونا عن مدى نجاح تصميماتكم! تشير الأوقات أيضًا إلى الإصدارات التي تم تمكين ccache وملئها - كانت عادةً مضاعفة عندما لم يتم ملء ccache بعد.
إدخال/إخراج القرص: لا بد لي من إعطاء نصيحة القبعة لتوم مارشال من سيانوجين - وهو أيضًا أ عضو في فريق كانغ - لتوجيهي في هذا الاتجاه العام الماضي. بصراحة لم أصدقه عندما أخبرني أن هذا سيكون ال عنق الزجاجة على وحدة المعالجة المركزية. لكن على مدى الأشهر الستة الماضية تمكنت من دعم هذا ببيانات قابلة للقياس الكمي. في وحدات المعالجة المركزية (CPU) المتطورة (مثل معظم طرازات Intel Core i7 المكتبية)، يعد هذا هو عنق الزجاجة الأعلى الذي سيواجهه نظامك.
لنأخذ 4 تكوينات بناء قمت باختبار هذا عليها. سأسلط الضوء هنا على وحدة المعالجة المركزية،
- الإصدار 1، جهاز الكمبيوتر الشخصي "غير الذي تمت ترقيته"، كان عبارة عن Intel i7-4790K مع 32 جيجابايت من ذاكرة الوصول العشوائي DDR3-2400، وSamsung 840 Evo 250 جيجابايت لمحرك الأقراص الأساسي الخاص بي وMicron P400E الأقدم 100 جيجابايت.
- Build 2، وهو الإصدار المحدث من Build 1. الآن يتميز بمعالج Intel i7-5960X مع رفع تردد التشغيل إلى 4.0 جيجا هرتز، وذاكرة وصول عشوائي DDR4-3200 بسعة 32 جيجا بايت، وSamsung SM951 512 جيجا بايت AHCI m.2 SSD بالإضافة إلى محركي SSD السابقين. مواصفات البناء الكاملة لهذا موجودة على PCPartPicker.
- يتميز الإصدار 3، وهو إصدار حديث للمستخدم، بمعالج Intel i7-5820K مع رفع تردد التشغيل إلى 4.2 جيجا هرتز، وذاكرة DDR4-2400 سعة 16 جيجابايت و2 Samsung 840 EVO 120 جيجابايت بتكوين RAID0 (مخطط).
- Build 4، وهو إصدار حديث للخادم يتميز بمعالج Intel Xeon E3-1270 v5 بسرعات عادية، وذاكرة DDR4-2133 سعة 32 جيجابايت، وSamsung 950 Pro 512GB NVMe m.2 بالإضافة إلى 4 محركات أقراص SSD للمؤسسات من نوع SATA Samsung في مصفوفة RAID5.
إذا نظرت للتو إلى هؤلاء، أي منهم تعتقد أنه حقق أقل وقت بناء؟ ماذا عن الثانية؟ لصدمتي، لم يكن التكوين الثاني هو الذي استغرق أقل وقت للإنشاء - بل كان التكوين الثالث، في أقل من 14 دقيقة بقليل لبناء CyanogenMod 13.0. لذا فمن المؤكد أن وحدة المعالجة المركزية المهيمنة ستحتل المركز الثاني، يمين؟ مخطئ مرة أخرى. استغرق الإصدار 4، الذي انتهيت للتو من اختباره، ما يزيد قليلاً عن 25 دقيقة! هنا فقط هو وضع بنيتي الحالية، أبطأ بدقيقتين من النظام الذي يحتوي على نصف النوى والخيوط ولكن مجموعة SSD مكونة من 3 محركات أقراص SSD، في حين كانت محركات أقراص SSD الخاصة بي مستقلة بذاتها. من المعروف أيضًا أن SM951 يعاني من مشكلات الاختناق إذا أصبح ساخنًا جدًا، وهو أمر قد يكون عاملاً حقيقيًا جدًا في هذه الحالة. استغرق البناء الأول والأبطأ حوالي 30 دقيقة، وهي إحدى المرات الوحيدة التي قمت فيها ببناء CM 13.0؛ لقد سمعت عن تكوينات بناء مماثلة تفعل ذلك في 27.
كانت محركات أقراص SSD أيضًا عنصرًا يصعب الحصول عليه، لذلك لم يكن هناك سوى القليل جدًا من النقاش حول هذا الموضوع. ومع ذلك، انخفضت الأسعار بشكل كبير في أسواق التجزئة وأسواق السلع المستعملة خلال العام الماضي. نظرًا لأن محركات أقراص SSD بسعة 120 جيجابايت أقل الآن من 50 دولارًا، لم يعد هذا هو العائق الذي كان من المفترض أن تضيفه إلى النظام في السابق. ستقوم محركات الأقراص الثابتة التقليدية بهذه المهمة أيضًا، ولكن من المرجح أن يصل المستخدمون إلى عنق الزجاجة هذا قبل الآخرين في حالة عدم استخدام محركات أقراص SSD.
وحدة المعالجة المركزية: عندما أذكر أعلاه أن عنق الزجاجة العلوي هو الإدخال/الإخراج للقرص، فإنه يخبز في افتراض قد لا يكون هو الحال دائمًا - كل من تلك الإصدارات التي استخدمتها تتميز بمعالج Intel Core i7. ولكن كما وجدت مع خادم Xeon، فإن القرص يستمر في العمل ولكنه يحافظ بعد ذلك على جميع مؤشرات الترابط الثمانية لوحدة المعالجة المركزية عند الاستخدام العالي من خلال أثقل عمليات البناء. وحاول قدر المستطاع، بدون مصفوفة RAID التي وجدناها أعلاه، لا أجد جهاز Haswell-E الخاص بي قريبًا من الاستخدام الكامل في معظم عمليات الإنشاء. لذا، إذا كنت تبحث عن أفضل قيمة لميزانيتك، ففكر في Intel i7-5820K.
صحيح أنها X99 وبالتالي قد تكون اللوحة الأم أكثر تكلفة من اللوحة الأم Z97؛ ولكننا أيضًا ما زلنا في السنة الأولى من دورة X99. من المتوقع أيضًا أن تظل أسعار Broadwell-E مماثلة لأسعار Haswell-E عند الإصدار، مما يعني ذلك يجب أن تكون قادرًا على الشراء في فئة المتحمسين بنفس سعر i7-4790K أو معالج i7-6700K.
في Intel، لا يوجد سبب كبير لتجاوز 5820K في الوقت الحالي، حيث يمكنك الحصول على أوقات إنشاء رائعة باستخدامه. بالنسبة للجزء الأكبر، كلما ارتفع عدد النواة/الخيط أدناه، إلى جانب سرعات المعالج، سوف تحصل على وقت بناء أسرع. بلغ متوسط عمر معالج i7-4770R الموجود في GIGABYTE Brix العام الماضي 42 دقيقة. على الرغم من أنه لم يكن الأسرع، إلا أنه يناسب احتياجاتي ويسمح لي بالحصول على تكوين مخصص للطاقة المنخفضة. ستجد الشيء نفسه مع وحدات AMD APU - على الرغم من أنها قد لا تؤدي حاليًا مثل نظيرتها من Intel، إلا أنها ستنجز المهمة بسهولة وعادة ما تكون بسعر أقل من شراء Intel. هذا هو الوضع الذي أراقبه عن كثب لأنه إذا كانت الشائعات صحيحة، فإن وحدات APU المستندة إلى Zen قد تغلق هذه الفجوة بشكل كبير.
هناك نتيجة لأولئك منكم الذين سيختارون إزالة تلك الاختناقات، وهي نتيجة تنطبق على المستخدمين المنزليين أكثر من المكتب. سيتم زيادة الأداء العام على النظام عن طريق إزالة هذه الاختناقات. سيجد اللاعبون على وجه الخصوص أن الترقية لمعالجة هذه الاختناقات ستؤدي أيضًا في جميع الحالات تقريبًا إلى زيادة أداء اللعبة. على الرغم من أنه ربما لم يحقق أسرع وقت للإنشاء، إلا أن الإصدار الثاني قدم مفاجأة غير متوقعة - حيث استغرق وقت التحميل 30 ثانية السبب فقط 3 عندما كان العديد من الآخرين يشكون من أوقات التحميل في دقائق. في النهاية، تعتبر أوقات البناء هذه عالية جدًا وقد تكون مبالغة بالنسبة للكثيرين... ولكن على الأقل الآن تم وضع الحجة القائلة بأن المزيد من النوى ستعني إنشاءات أسرع قد تم التخلص منها أخيرًا.
وبما أن هذه هي البداية فقط، فإننا نأمل أن يتناغم القراء ويشاركوا تجاربهم في البناء على تكوينات مختلفة. كقارئ، هل تريد رؤية المزيد من المناقشات حول هذه الأنواع من المواضيع؟ الصوت في التعليقات أدناه!