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