A Java-based Programming and Execution Environment for Many-core Parallel Computers

by Muhammad Aleem

Type Thesis
Rate 0.0 /5

Today, software developers face the challenge of re-engineering their applications to exploit the full power of the new emerging multi-/many-core architectures. This shift profoundly affects application developers who can no longer transparently rely only on Moore's law to speedup their applications. Rather, they have to parallelise their applications with user controlled load balancing and locality control to exploit the underlying multi-/many-core architectures and ever complex memory hierarc…

Read More ↓

Summary

Today, software developers face the challenge of re-engineering their applications to exploit the full power of the new emerging multi-/many-core architectures. This shift profoundly affects application developers who can no longer transparently rely only on Moore's law to speedup their applications. Rather, they have to parallelise their applications with user controlled load balancing and locality control to exploit the underlying multi-/many-core architectures and ever complex memory hierarchies. In the recent years, the usage of Java language to program performance oriented applications has increased. The locality of task and data has significant impact on application's performance and it becomes more critical on multi-core architectures because of the additional levels of memory hierarchies and heterogeneity. In the last few years, the Graphics Processing Units (GPUs) have emerged as powerful coprocessors to accelerate performance oriented applications. The GPUs improved programmability support for general-purpose applications and the highly parallel architecture stimulate for extending the capabilities of the existing high-level programming languages such as Java with new abstractions and tools to ease programming and to efficiently exploit the potential compute capabilities. However, a uniform high-level programming model for parallelising Java applications is still missing. In this thesis, we propose a new Java based programming model called JavaSymphony for shared, distributed and hybrid memory multi-/many-core parallel computers, and coprocessors accelerators as an extension to the existing Java distributed programming environment. Using JavaSymphony, a parallel Java application can be uniformly programmed and executed on variety of multi-/many-core architectures. Heterogeneous conventional and data-parallel multi-core devices can be programmed using a unique and high-level Java programming abstraction that shields the user from the low-level architectural details such as method invocations, thread management, synchronisations, memory allocations, and data transfers. JavaSymphony's design is based on the concept of dynamic virtual architectures, which allow programmers to define a hierarchical structure of the underlying computing resources (e.g., accelerators, cores, processors, machines, and clusters), and to control load balancing and locality. JavaSymphony provides high-level programming constructs which abstract low-level details and simplify the tasks of controlling parallelism, locality, and load balancing. Moreover, JavaSymphony provides a multi-core aware scheduling mechanism capable of mapping parallel Java applications on large multi-core machines and heterogeneous clusters with improved performance. JavaSymphony scheduler considers several multi-core specific performance parameters and application types, and uses these parameters to optimise the mappings of applications, objects, and tasks. We evaluate the JavaSymphony framework using several real applications and benchmarks on modern multi-core parallel computers, heterogeneous clusters, and machines consisting of a combination of different multi-core CPU and GPU devices. The performance results demonstrate that the JavaSymphony outperforms pure Java implementations, as well as other alternative related solutions and validate the research questions addressed.

Read More ↓

Edition Statements

  • Publication Date:2012

Thesis Information

  • Degree:Ph.D.
  • University:Leopold-Franzens Universitaet Innsbruck (Austria)
  • Advisor/Supervisor:R. Prodan
  • Pages:172

Publication Statements

  • Language:eng
  • Publication Date:2012

Edition Identifiers

  • proquest:1728319597

Subjects

Writers

Rate & Review

0.0/5
(0 people Voted)

No reviews yet. Be the first to rate this work.

Files & Downloads