AutoFDO، التحديث الأمثل لتسريع نظام أندرويد

  • يقوم AutoFDO بتحسين نواة نظام Android باستخدام بيانات الاستخدام الحقيقية لتقليل حمل وحدة المعالجة المركزية وتحسين الكفاءة.
  • أظهرت الاختبارات سرعة بدء التشغيل بنسبة 2,1% وسرعة إطلاق التطبيقات الباردة بنسبة 4,3%، مع انخفاض استهلاك الطاقة.
  • تم بالفعل نشر هذه التقنية في نواة LTS لنظامي Android 15 و 16 وسيتم توسيعها في Android 17، اعتمادًا على اعتمادها من قبل الشركات المصنعة.
  • يأتي AutoFDO مدمجًا في نظام بناء Android، مع ملفات تعريف LLVM القياسية والتجميع المنفصل عبر بنى متعددة.

تحسين AutoFDO على نظام Android

إذا كان لديك هاتف أندرويد يعاني من مشاكل في الأداء عند فتح التطبيقات التي تتطلب موارد عالية، فقد تفكر في شراء هاتف جديد. ومع ذلك، تعمل جوجل على ترقية رئيسية للنظام بحيث يمكن للعديد من الأجهزة الحالية أن تعمل بسلاسة أكبر دون الحاجة إلى دفع مبالغ إضافية. يُطلق على هذا التحسين اسم AutoFDO وهو يؤثر بشكل مباشر على العمليات الداخلية لنظام التشغيل.

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

ما هو AutoFDO ولماذا هو مهم جدًا لنظام Android؟

AutoFDO تعني "التحسين الموجه بالتغذية الراجعة التلقائية"هذه تقنية تُدمجها جوجل في نظام أندرويد لتحسين أداء وحدة المعالجة المركزية. فبدلاً من الاعتماد فقط على الافتراضات أو القواعد العامة عند تجميع التعليمات البرمجية، يستخدم النظام بيانات الاستخدام الواقعية لإعادة تنظيم كيفية تنفيذ المهام.

ببساطة، AutoFDO هو نظام من التحسين بناءً على عينات سلوكية من العالم الحقيقييجمع المترجم معلومات حول كيفية عمل الهاتف أثناء تشغيل التطبيقات الشائعة. وبناءً على ذلك، يعيد ترتيب التعليمات البرمجية لتحسين كفاءة عمل المعالج. وبهذه الطريقة، تُعطي النواة الأولوية لمسارات التنفيذ الأكثر استخدامًا في المهام اليومية.

حتى الآن، كان نظام أندرويد يستخدم بالفعل تقنيات التحسين مثل التحسين الموجه بالملف الشخصي القائم على الأدوات (PGO). AutoFDO هو أحدها التطور الطبيعي والأكثر تطورالأنه يتجنب الحاجة إلى تعديل الكود لمجرد قياسه، وقبل كل شيء، يعكس بشكل أفضل كيفية استخدام المستخدمين الحقيقيين للهاتف المحمول، وليس فقط ما يتم اختباره في المختبر بأحمال اصطناعية.

وفقًا لفريق LLVM لنظام Android، فإن الهدف من هذا التحديث هو تقليل حمل وحدة المعالجة المركزية على النواة، والذي يمكن أن يصل إلى يستهلك ما يصل إلى 40% من طاقة المعالجة في مهام معينة. إذا تم تخفيف هذا الجزء من النظام، فسيتم توفير الموارد لكل شيء آخر.

نظام أندرويد autofdo

كيف كانت عملية التجميع التقليدية تعمل على نظام أندرويد

في نظام الترجمة الكلاسيكي، تعتمد المترجمات على الاستدلالات والقرائن الثابتة لاتخاذ القرارات: أي الوظائف التي يجب تضمينها عبر الإنترنت، وأي فروع الشرط أكثر احتمالاً، وكيفية ترتيب تعليمات معينة، وما إلى ذلك. هذه قواعد تعمل عادة "بشكل جيد بشكل عام"، ولكنها لا تتطابق دائمًا مع ما يحدث على جهاز حقيقي.

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

تكمن المشكلة في أنه عندما تستند هذه القرارات فقط إلى النظريات أو البراهين التركيبية، فقد يرتكب المترجم أخطاءً في تنبؤاته. وهذا يعني أن قد تكون النواة غير مُحسَّنة بشكل جيد للاستخدام في العالم الحقيقيإهدار بعض طاقة الشريحة على مسارات التنفيذ غير المتكررة مع إهمال المسارات المستخدمة يوميًا.

في عالم تتزايد فيه قوة الهواتف المحمولة، قد تبدو هذه الفروقات ضئيلة، لكنها تتراكم. في النهاية، مجموع القرارات غير الفعالة الأمر ملحوظ للغاية. وتشمل عواقبه: بطء طفيف في بدء التشغيل، وتأخر فتح التطبيقات قليلاً، ونفاد البطارية بشكل أسرع من المعتاد، خاصةً في الأجهزة القديمة.

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

كيف يقوم AutoFDO بتحسين النواة باستخدام بيانات الاستخدام الواقعية

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

وللقيام بذلك، تراقب جوجل سجل فروع وحدة المعالجة المركزيةبمعنى آخر، يتتبع هذا النظام قرارات القفز ومسارات التنفيذ التي اتبعها المعالج فعليًا أثناء تشغيل النظام والتطبيقات. ويتم هذا التتبع باستخدام ملفات تعريف أخذ العينات القياسية لـ LLVM، والتي تسمح بالتقاط كل من الأجزاء النشطة (التي تُنفذ بشكل متكرر) والأجزاء غير النشطة (التي نادرًا ما تُستخدم).

باستخدام تلك البيانات، يقوم المهندسون بإنشاء بيئة مختبرية يقومون فيها بإعادة إنتاج أحمال العمل التمثيلية بناءً على أكثر 100 تطبيق شيوعًاهناك، تتم محاكاة الاستخدام اليومي: فتح وإغلاق والتنقل بين التطبيقات الخاصة بالشبكات الاجتماعية والمراسلة والتصفح والفيديو والألعاب الخفيفة وما إلى ذلك. تمامًا كما يفعل أي مستخدم عادي.

بمجرد إنشاء الملفات التعريفية، تتم إعادة تجميع نواة نظام أندرويد مع دمج هذه المعلومات. يمكن للمُجمِّع بعد ذلك أن يأخذ قرارات تحسين أكثر دقةيُعطي هذا الأولوية للشيفرة المستخدمة فعلياً، ويعيد ترتيب أو ضغط الأجزاء الأقل أهمية. والنتيجة هي نظام مُحسَّن بدقة أكبر ليتناسب مع السلوك الفعلي للأجهزة.

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

نظام أندرويد autofdo

الفوائد المباشرة: أوقات تشغيل أسرع وتطبيقات تفتح في وقت أقرب

لاحظت جوجل في الاختبارات الداخلية الأولية أن تطبيق AutoFDO في نواة النظام يسمح لها بـ يبدأ تشغيل الهاتف أسرع بنسبة 2,1% تقريبًاإنها ليست قفزة مذهلة ستلاحظها كما لو كان لديك هاتف جديد تمامًا، لكنها تعني انخفاضًا طفيفًا في وقت الانتظار في كل مرة تقوم فيها بتشغيل الجهاز أو إعادة تشغيله.

تكون التحسينات أكثر وضوحًا في ما يُسمى "التشغيل البارد" للتطبيقات. أي عند فتح تطبيق لأول مرة بعد تشغيل الهاتف أو بعد إغلاقه تمامًا. في هذه الحالة، انخفض وقت بدء تشغيل التطبيق بنسبة 4,3% تقريبًاويتضح هذا الأمر بشكل خاص في التطبيقات الثقيلة أو تلك التي تحتوي على العديد من المكونات الأصلية.

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

ومن الآثار الإيجابية الأخرى ما يلي: خفض استهلاك الطاقة المرتبط بالعمليات الداخليةمن خلال تجنب مسارات التعليمات البرمجية غير الضرورية وتقليل عبء القرارات الخاطئة، يبذل المعالج جهدًا أقل لأداء نفس المهمة. وهذا يُترجم إلى تحسن طفيف في عمر البطارية، مما يسمح لها بالعمل لفترة أطول قليلًا في الاستخدام اليومي.

وقد رصدت جوجل أيضًا تحسينات إضافية في مؤشرات الأداء الأخرى هذه التحسينات ليست واضحة للمستخدم النهائي، لكنها تساهم في تجربة أكثر قوة: انخفاض في ذروات التحميل، وانخفاض زمن الاستجابة في عمليات النظام المحددة، وإدارة أكثر تنظيمًا للموارد في الخلفية.

التأثير على التجربة اليومية: سلاسة أكبر دون تغيير الأجهزة المحمولة

من وجهة نظر المستخدم، فإن كل هذا العمل على مستوى منخفض يترجم إلى الشعور بمزيد من المرونة عند استخدام نظام أندرويدأصبحت واجهة المستخدم أكثر استجابة، والانتقالات بين الشاشات والقوائم أكثر سلاسة، والتنقل بين التطبيقات أسرع. وينطبق هذا بشكل خاص على الطرازات متوسطة المدى والأجهزة القديمة.

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

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

عملياً، الهدف النهائي هو أن يتمكن المستخدمون من للاستفادة الكاملة من قوة الرقائق الحالية دون الحاجة إلى استبدال الهاتف لمجرد أن النظام قديم. صُممت التحديثات الصامتة التي تدمج AutoFDO في نواة النظام بدقة لإطالة عمر الأجهزة الحديثة ومنح فرصة ثانية للأجهزة التي لا تزال صالحة للاستخدام تمامًا.

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

AutoFDO ضمن نظام بناء Android

إن خاصية AutoFDO ليست مجرد فكرة نظرية. إنها مدمج في نظام بناء أندرويد نفسه والذي تم تقديمه بدءًا من Android 12. يدعم هذا النظام تحسين الوحدات الأصلية التي تحتوي على قواعد تجميع من نوع "المخطط"، مما يسمح بتفعيل AutoFDO مباشرة في المكتبات المشتركة أو الملفات الثنائية.

بالنسبة للمشاريع التي تُعد جزءًا من مشروع AOSP (مشروع أندرويد مفتوح المصدر)، توجد بالفعل تم إعداد ملفات تعريف AutoFDO لمعظم المكونات الحساسة للأداءتم جمع هذه الملفات الشخصية من هواتف وأجهزة لوحية حقيقية، مع أنماط استخدام تمثيلية، ويتم تخزينها في المستودع في المسار المخصص لملفات تعريف العينات.

يأتي نظام AutoFDO مُفعّل افتراضيًا في نظام أندرويد مفتوح المصدر (AOSP).هذا يعني أن العديد من الشركات المصنعة التي تستخدم قاعدة التعليمات البرمجية هذه تستفيد تلقائيًا من هذه التحسينات ما لم تقم بتعطيلها. لتفعيل خاصية AutoFDO في قاعدة بناء محددة، ما عليك سوى إضافة الحقل المناسب (على سبيل المثال، afdo: true) إلى تعريف المكتبة أو الملف التنفيذي.

نظام أندرويد قادر على جمع الملفات التعريفية عبر مختلف بنى المعالجات المركزيةبما في ذلك x86 و x86_64 و ARM و ARM64. في الواقع، حتى لو تم إنشاء الملف التعريفي لبنية معينة، يمكن إعادة استخدامه على بنى أخرى طالما كان نمط الاستخدام مماثلاً. وهذا يُسهّل نشر التحسينات على نطاق واسع من الأجهزة.

أما بالنسبة للحالات الأكثر تحديدًا، مثل المشاريع الإضافية أو التعليمات البرمجية المعدلة محليًا أو أنماط الاستخدام الخاصة جدًا، فإن جوجل توصي جمع الملفات التعريفية مباشرة من أجهزة التطوير أو معدات المستخدمباستخدام أدوات مثل Profcollect أو تحكم في نظام أندرويد من جهاز الكمبيوتر الخاص بك.

جمع وتحليل ملفات تعريف AutoFDO

يستخدم نظام Android البيئي ملفات تعريف AutoFDO القياسية لـ LLVMضمان التوافق مع أدوات التحليل القياسية. يمكن فحص هذه الملفات التعريفية باستخدام أدوات مساعدة مثل llvm-profdata، والتي تتيح لك فهمًا تفصيليًا للوظائف ومسارات التعليمات البرمجية الأكثر تكرارًا.

تتضمن شجرة أكواد نظام أندرويد مفتوح المصدر (AOSP) نصوصًا برمجية محددة، مثل afdo_summary.sh، والتي يقومون بإنشاء ملخصات تلقائية لأهم الميزات وفقًا للبيانات التي تم جمعها، فإن هذه المعلومات بالغة الأهمية لفرق الهندسة التي ترغب في تحسين كيفية توزيع جهود التحسين.

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

ومن الجوانب الأخرى المثيرة للاهتمام أن خاصية AutoFDO تسمح جمع البيانات بسريةدون الحاجة إلى إعادة تجميع البرنامج باستخدام أدوات تحليل معقدة قد تُغير سلوك النظام. وهذا يُتيح الحصول على ملفات تعريف أكثر دقة وتقليل التأثير على الأداء أثناء جمع المعلومات.

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

النشر في أنظمة أندرويد 15 و16 و17 ودور الشركات المصنعة

بدأت جوجل في طرح خدمة AutoFDO في فروع LTS (الدعم طويل الأمد) من نواة نظام Androidوبالتحديد، في الإصدارين Android 16-6.12 و Android 15-6.6. تعمل هذه الفروع كأساس للمصنعين الذين يقومون ببناء طبقات التخصيص الخاصة بهم وتكييف النظام مع أجهزتهم.

كما أكدت الشركة نيتها في قم بتوسيع نطاق هذه التقنية لتشمل نظام Android 17 مع نواة مبنية على نظام أندرويد 17-6.18 ووحدات إضافية ستواصل الاستفادة من ميزة AutoFDO. ومع استقرار هذه الإصدارات، سيتم دمج التحسينات في الهواتف الجديدة المطروحة في السوق. وفي كثير من الحالات، سيتم أيضًا طرحها للأجهزة الحالية عبر تحديثات البرامج.

وفقًا لشركة جوجل، بمجرد تطبيق هذه التغييرات بالكامل في نظامي التشغيل أندرويد 15 و16، ووصولها بشكل افتراضي في نظام التشغيل أندرويد 17، سيلاحظ المستخدمون ذلك. واجهة أكثر انسيابية قليلاً، وتبديل أسرع بين التطبيقات وتحسين طفيف في إدارة البطارية. لن تلاحظ تغييراً جذرياً في يوم واحد، بل تحسناً تدريجياً في الأداء العام للهاتف.

على أية حال، الرسالة الأساسية واضحة: تلتزم جوجل بتحسين ما هو موجود بالفعل بشكل كامل.بدلاً من مجرد إضافة ميزات براقة أو المطالبة بأجهزة قوية بشكل متزايد، فإن AutoFDO هو جزء آخر من تلك الاستراتيجية لتحقيق أقصى قدر من الأداء.

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

شعار Android Studio.
المادة ذات الصلة:
المحاكاة في Android Studio: تعلم كيفية إنشاء الأجهزة الافتراضية