
Les programmes de calcul intensif consomment généralement une fraction importante du temps d'exécution dans une petite quantité de code répétitif. Ce code répétitif est communément appelé code hotspot. Nous avons observé que les points chauds intensifs de calcul possèdent souvent un parallélisme exploitable au niveau de la boucle. Un compilateur JIT (Just-in-Time) établit le profil d'un programme en cours d'exécution pour identifier ses points chauds. Les hotspots sont ensuite traduits en code natif, pour une exécution efficace. En utilisant une approche similaire, nous proposons une méthodologie pour identifier les points chauds et exploiter leur potentiel de parallélisation sur des systèmes multicœurs. La méthodologie proposée sélectionne et met en parallèle chaque boucle DOALL qui est soit contenue dans une méthode de point chaud, soit appelle une méthode de point chaud. La méthodologie pourrait être intégrée dans l'interface d'un compilateur JIT pour paralléliser le code séquentiel, juste avant la traduction native. Cependant, la compilation en code natif est hors de portée de ce travail. Comme étude de cas, nous analysons dix-huit repères JGF (Java Grande Forum) pour déterminer le potentiel de parallélisation des points chauds. Huit points de référence démontrent une accélération allant jusqu'à 7,6 fois sur un système à 8 cœurs.
Los programas de cómputo intensivo generalmente consumen una fracción significativa del tiempo de ejecución en una pequeña cantidad de código repetitivo. Dicho código repetitivo se conoce comúnmente como código de punto de acceso. Observamos que los puntos de acceso intensivos en cómputo a menudo poseen paralelismo de nivel de bucle explotable. Un compilador JIT (Just-in-Time) perfila un programa en ejecución para identificar sus puntos de acceso. Los puntos de acceso se traducen a código nativo para una ejecución eficiente. Utilizando un enfoque similar, proponemos una metodología para identificar puntos críticos y explotar su potencial de paralelización en sistemas multinúcleo. La metodología propuesta selecciona y paraleliza cada bucle DOALL que está contenido en un método de punto de acceso o llama a un método de punto de acceso. La metodología podría integrarse en el front-end de un compilador JIT para paralelizar el código secuencial, justo antes de la traducción nativa. Sin embargo, la compilación a código nativo está fuera del alcance de este trabajo. Como estudio de caso, analizamos dieciocho puntos de referencia de JGF (Java Grande Forum) para determinar el potencial de paralelización de los puntos críticos. Ocho puntos de referencia demuestran una aceleración de hasta 7,6 veces en un sistema de 8 núcleos.
Compute intensive programs generally consume significant fraction of execution time in a small amount of repetitive code. Such repetitive code is commonly known as hotspot code. We observed that compute intensive hotspots often possess exploitable loop level parallelism. A JIT (Just-in-Time) compiler profiles a running program to identify its hotspots. Hotspots are then translated into native code, for efficient execution. Using similar approach, we propose a methodology to identify hotspots and exploit their parallelization potential on multicore systems. Proposed methodology selects and parallelizes each DOALL loop that is either contained in a hotspot method or calls a hotspot method. The methodology could be integrated in front-end of a JIT compiler to parallelize sequential code, just before native translation. However, compilation to native code is out of scope of this work. As a case study, we analyze eighteen JGF (Java Grande Forum) benchmarks to determine parallelization potential of hotspots. Eight benchmarks demonstrate a speedup of up to 7.6x on an 8-core system.
تستهلك البرامج المكثفة عمومًا جزءًا كبيرًا من وقت التنفيذ في كمية صغيرة من التعليمات البرمجية المتكررة. يُعرف هذا الرمز المتكرر باسم رمز النقطة الساخنة. لاحظنا أن النقاط الساخنة المكثفة للحوسبة غالبًا ما تمتلك توازيًا على مستوى الحلقة قابل للاستغلال. يقوم مترجم JIT (في الوقت المناسب) بملامح برنامج قيد التشغيل لتحديد نقاطه الساخنة. ثم تُترجم النقاط الساخنة إلى الكود الأصلي، من أجل التنفيذ الفعال. وباستخدام نهج مماثل، نقترح منهجية لتحديد النقاط الساخنة واستغلال إمكانات موازاتها على الأنظمة متعددة النوى. تختار المنهجية المقترحة وتوازي كل حلقة DOALL موجودة إما في طريقة نقطة ساخنة أو تستدعي طريقة نقطة ساخنة. يمكن دمج المنهجية في الواجهة الأمامية لمترجم JIT لموازاة التعليمات البرمجية المتسلسلة، قبل الترجمة الأصلية مباشرة. ومع ذلك، فإن التجميع للرمز الأصلي خارج نطاق هذا العمل. كدراسة حالة، نقوم بتحليل ثمانية عشر معيارًا لمنتدى جافا غراندي (JGF) لتحديد إمكانية موازاة النقاط الساخنة. تُظهر ثمانية معايير تسارعًا يصل إلى 7.6x على نظام 8 نواة.
FOS: Computer and information sciences, Parallel computing, Exploit, Technology, Execution time, Computer Networks and Communications, Science, Compiler, Dynamic compilation, Cloud Computing and Big Data Technologies, Speedup, Multicore Architectures, Parallel Computing, Distributed Grid Computing Systems, Automatic parallelization, Computer security, Just-in-Time Compilation, Parallel Computing and Performance Optimization, Multi-core processor, T, Performance Optimization, Q, Geology, Hotspot (geology), FOS: Earth and related environmental sciences, Multicore System, Engineering (General). Civil engineering (General), Computer science, Task Scheduling, Programming language, High-Performance Computing, Geophysics, Hardware and Architecture, Computer Science, Physical Sciences, TA1-2040, Runtime Analysis, Loop Level Parallelization, Java Virtual Machine., Java, Information Systems
FOS: Computer and information sciences, Parallel computing, Exploit, Technology, Execution time, Computer Networks and Communications, Science, Compiler, Dynamic compilation, Cloud Computing and Big Data Technologies, Speedup, Multicore Architectures, Parallel Computing, Distributed Grid Computing Systems, Automatic parallelization, Computer security, Just-in-Time Compilation, Parallel Computing and Performance Optimization, Multi-core processor, T, Performance Optimization, Q, Geology, Hotspot (geology), FOS: Earth and related environmental sciences, Multicore System, Engineering (General). Civil engineering (General), Computer science, Task Scheduling, Programming language, High-Performance Computing, Geophysics, Hardware and Architecture, Computer Science, Physical Sciences, TA1-2040, Runtime Analysis, Loop Level Parallelization, Java Virtual Machine., Java, Information Systems
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 2 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
