يعمل Project Sumatra على تحسين أداء Java من خلال تسريع بطاقة رسومات OpenCL

مشروع Sumatra تطوير Java المعجل باستخدام GPU باستخدام OpenCL

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

يعمل المشروع المدعوم من OpenJDK حاليًا على تسخير قوة المعالجة المتوازية لبطاقات الرسومات المدمجة والمنفصلة لتسريع تطبيقات Java. لا يعد تسريع GPU مفهومًا جديدًا ، ولكن هذا المشروع مثير للاهتمام بسبب طريقة عمله والآثار المستقبلية للبحث.



تم الكشف لأول مرة في أغسطس ، يستخدم Project Sumatra ميزات ومكتبات Java 8 مشروع لامدا بالإضافة إلى HotSpot من Oracle لجهاز Java الظاهري. (Lambda عبارة عن مجموعة من التعبيرات للغة برمجة Java التي تهدف إلى تحسين الدعم متعدد النواة.)



من أجل الاستفادة من تسريع GPU ، سيحتاج مطورو البرامج إلى إضافة تعليقات توضيحية إلى التعليمات البرمجية الخاصة بهم للإشارة إلى تعبيرات lambda المناسبة للطبيعة الموازية لوحدات معالجة الرسومات. بعد ذلك ، عند تشغيل تطبيق Java على نظام مثبت عليه وحدة معالجة الرسومات المتوافقة مع OpenCL ، سيقوم مترجم HotSpot JIT (في الوقت المناسب) بترجمة البتات المشروحة من التعليمات البرمجية إلى OpenCL للمعالجة على وحدة معالجة الرسومات بدلاً من وحدة المعالجة المركزية. هذه طريقة مثيرة للاهتمام لأنها ستتطلب تحديثات بسيطة نسبيًا للتطبيقات من أجل الاستفادة من تسريع أجهزة GPU ، وستكون غير مرئية للمستخدم النهائي. من المؤكد أنه لن يشهد كل تطبيق زيادات هائلة في الأداء - إذا أمكن موازنتها على الإطلاق - ولكن سيتمكن الكثيرون من الاستفادة من استخدام وحدة معالجة الرسومات إلى حد ما.

دينار 8يركز المطورون وراء مشروع سومطرة حاليًا على تطوير دعم OpenCL باستخدام تقنيات Java 8 ، لكنهم يتوقعون أن تؤثر أبحاث التطوير على تسريع أجهزة GPU مع اللغات الأخرى التي تستضيفها JVM مثل JRuby و Scala.



الإمكانات هنا مثيرة للإعجاب ، لا سيما بالنظر إلى انتشار وحدات معالجة الرسومات القادرة على تشغيل كود OpenCL - وهو رقم يجب أن يستمر في النمو. لدى AMD و Nvidia أساطيل من البطاقات المنفصلة ، ولدى AMD و Intel أنوية رسومات مدمجة في وحدات المعالجة المركزية ، وقد تدعم ARM SoCs المستقبلية التكنولوجيا أيضًا. يجب أن تسمح إصدارات Java المستقبلية التي تدمج التكنولوجيا للعملاء باستخدام أجهزتهم بأكبر قدر ممكن من الكفاءة. ستستفيد الخوادم المستندة إلى AMD APU والهواتف الذكية والأجهزة اللوحية المحمولة من تسريع وحدة معالجة الرسومات أكثر من غيرها. لدى AMD ومؤسسة HSA أهداف متشابهة ولديهما أظهر أداءً متزايدًا من خلال تسخير قوة وحدة معالجة الرسومات للقيام بمهام متوازية. يعمل Project Sumatra على تسهيل الأمر على المطورين والمستخدمين النهائيين للبرامج المكتوبة بلغة Java لتحقيق مكاسب الأداء المحتملة هذه.

صرح نائب رئيس Oracle لتطوير البرامج لمجموعة Java Platform Group ، جورج صعب ، قائلاً: 'نتوقع أن يساعد عملنا مع AMD ومشاركي OpenJDK الآخرين في مشروع' Sumatra 'في النهاية على تزويد مطوري Java بالقدرة على الاستفادة بسرعة من تسريع GPU لتحسين أداء.'

على الجانب المحمول ، لدينا معالجات لوحية مثل AMD's Z-60 APU و Valley View SoCs القادمة من Intel والتي ستستفيد من تسريع GPU من خلال القدرة على معالجة البيانات بشكل أسرع والعودة إلى حالة الخمول منخفضة الطاقة للحفاظ على البطارية. وبالطبع ، يجب أن تتحسن تجربة المستخدم من خلال تشغيل التطبيقات بشكل أسرع.



من المحتمل أن يمر عام آخر على الأقل قبل إدخال تسريع GPU في بيئة Java Runtime Environment الرسمية ، لكن مع Project Sumatra نحن في طريقنا لتسريع Java!

للبقاء على اطلاع أو المشاركة ، تواصل معنا موقع مشروع سومطرة أو الانضمام إلى قائمة بريدية سومطرة ديف.

Copyright © كل الحقوق محفوظة | 2007es.com