Project Sumatra משפר את ביצועי Java באמצעות האצת כרטיסי המסך OpenCL

פרוייקט סומטרה פיתוח Java מואץ ב- Java באמצעות OpenCL

ג'אווה היא שפת תכנות המאפשרת למפתחים לכתוב פעם אחת ולפרוס בכל מקום - החל משולחן העבודה למשחקים מתקדמים ועד לסמארטפונים. אופי מערכת ההפעלה האגנוסטית והנפוצה שלה הוא אחד מנקודות המכירה החזקות ביותר שלו, אך תחום אחד בו הוא יכול לרדת הוא ביצועים. באופן כללי, יישומי Java אינם מתכוונים לבצע ביצועים כמו יישומים מקוריים שנכתבו עבור מערכת הפעלה ספציפית. עם זאת, בזכות פרויקט סומטרה פער הפערים עשוי להפוך בקרוב לבעיה פחותה.

הפרויקט בגיבוי OpenJDK פועל כעת לרתום את כוח העיבוד המקביל של כרטיסי גרפיקה משולבים ודידיים כדי להאיץ את יישומי Java. האצת GPU אינה מושג חדש, אך פרויקט זה מעניין בגלל אופן פעולתו וההשלכות העתידיות של המחקר.



Project Sumatra שנחשף לראשונה באוגוסט, משתמש בתכונות ובספריות של Java 8 פרויקט למבדה כמו גם HotSpot של אורקל למכונה הווירטואלית של Java. (Lambda הוא קבוצת ביטויים עבור שפת התכנות Java, שנועדה לשפר את התמיכה בריב ליבות).



על מנת לנצל את האצת ה- GPU, מפתחי התוכנה יצטרכו לשים לב לקוד שלהם כדי לציין אילו ביטויים למבדה מתאימים לאופי המקביל של GPUs. לאחר מכן, כאשר אתה מריץ יישום Java במערכת עם מותקן GPU תואם OpenCL, מהדר ה- HotSpot JIT (בדיוק בזמן) יתרגם את פיסות הקוד המאושרות ל- OpenCL לצורך עיבוד ב- GPU ולא במעבד. זו שיטה מעניינת מכיוון שהיא תדרוש עדכונים פשוטים יחסית ליישומים על מנת לנצל את האצת החומרה של GPU, והיא תהיה בלתי נראית למשתמש הקצה. נכון, לא כל יישום יראה עליות ביצועים אדירות - אם ניתן יהיה להקביל אותן בכלל - אך רבות יוכלו להפיק תועלת מרתמת ה- GPU במידה מסוימת.

JDK8היזמים שעומדים מאחורי פרויקט סומטרה מתמקדים כעת בפיתוח תמיכה ב- OpenCL בטכנולוגיות Java 8, אך הם מצפים שמחקר הפיתוח ישפיע על האצת חומרת GPU עם שפות אחרות המתארחות ב- JVM כמו JRuby ו- Scala.



הפוטנציאל כאן מרשים, במיוחד בהתחשב בריבוי המעבדים המסוגלים להריץ קוד OpenCL - מספר שצריך להמשיך ולגדול. ל- AMD ו- Nvidia צי כרטיסים נפרדים, ל- AMD ולאינטל יש ליבות גרפיקה המשולבות במעבדים, ו- ARM SoC בעתיד עשויים לתמוך גם בטכנולוגיה. גרסאות Java עתידיות המשלבות את הטכנולוגיה צריכות לאפשר ללקוחות להשתמש בחומרה שלהם בצורה יעילה ככל האפשר. שרתים מבוססי AMD APU, וסמארטפונים ניידים וטאבלטים, ייהנו מהאצת GPU ביותר. ל- AMD ולקרן HSA יש יעדים דומים, ויש להם הפגין ביצועים מוגברים על ידי רתימת כוחו של ה- GPU למשימות מקבילות. פרויקט סומטרה מקל עוד יותר על מפתחים ומשתמשי קצה של תוכניות שנכתבו בג'אווה לממש רווחי ביצועים פוטנציאליים אלה.

סגן נשיא אורקל לפיתוח תוכנה עבור קבוצת פלטפורמת Java, ז'ורז 'סאאב, הצהיר כי 'אנו מצפים שעבודתנו עם AMD ועם משתתפי OpenJDK אחרים בפרויקט' סומטרה 'תסייע בסופו של דבר למפתחי Java את היכולת למנף במהירות את האצת ה- GPU לטוב יותר ביצועים. '

בצד הנייד, יש לנו מעבדי טאבלט כמו ה- Z-60 APU של AMD ו- Valley View SoCs הקרובים של אינטל, שייהנו מה- Java המואץ ב- GPU בכך שהם יכולים לעבד נתונים מהר יותר ולחזור למצב סרק נמוך יותר בכוח כדי לחסוך בסוללה. וכמובן, חווית המשתמש צריכה להשתפר על ידי יישומים שפועלים מהר יותר.



ככל הנראה תעבור לפחות שנה נוספת לפני שאצת ה- GPU תאבד בסביבת הריצה של Java, אך עם פרויקט סומטרה אנחנו בדרך להאיץ את Java!

כדי להישאר מעודכן או להסתבך איתו, היכה אתר פרויקט סומטרה או הצטרף ל רשימת תפוצה של sumatra-dev.

Copyright © כל הזכויות שמורות | 2007es.com