on-line trace information during program execution, and dynamically recompiles methods that can
be executed in parallel. We also describe a cost/benefit model that makes parallelization decisions, as
well as a parallel execution environment to execute parallelized code. We implement these techniques
upon Jikes RVM. And finally, we evaluate our approach by parallelizing sequential benchmarks and
comparing the performance to manually parallelized version of those benchmarks. According to the
experimental results, our approach brings low overheads and achieves competitive speedups compared
to manually parallelized code.
Multi-processor has already become mainstream in both personal and server computers. Even on em-
bedded devices, CPUs with 2 or more processors are increasingly used. However, software development
does not catch up with hardware at this time. Designing programs for multi-processor computers is still
a difficult task and requires a lot of experiences and skills. Besides, a big number of legacy programs
that are designed for single-processor computers are still running and need to be parallelized for better
performance. All these facts require a good approach for program parallelization.
Compiler that automatically parallelize source code into executable code for multi-processor comput-
ers is a very promising solution to this challenge. A lot of research works have been done in this field,
which shows the capability of compiler based parallelization, especially for scientific and numeric appli-
cations. However, There are several limitations in these approaches due to the lack of dynam...
... middle of paper ...
...es. To deal with this problem, we compact one section of contin-
uous addresses into one data record, which is proved to be able to save a lot of memory space in our
We also try to simplify dependency analysis by introducing dependent section, which is a section
in a trace containing all instructions dependent to another trace. For instance, a single loop has 100
instructions and the 80th and 90th instructions carry dependency between loop iterations. In this case
the dependent section of loop body trace is 80 to 90 after dependency analysis. Dependent section is used
based on the observation that mostly only a small section of instructions in a trace carries dependency.
Besides, using single dependent section for each trace greatly reduces synchronization/lock overheads in
the busy-waiting mode that is used in our parallel execution model.
Need Writing Help?
Get feedback on grammar, clarity, concision and logic instantly.Check your paper »
- Abstract—High Performance Computing (HPC) provides support to run advanced application programs efficiently. Java adaptation in HPC has become an apparent choice for new endeavors, because of its significant characteristics. These include object-oriented, platform independent, portable, secure, built-in networking, multithreading, and an extensive set of Application Programming Interfaces (APIs). Consequently multi-core systems and multi-core programming tools are becoming popular. However, today the leading HPC programming model is Message Passing Interface (MPI).... [tags: Information Technology ]
2780 words (7.9 pages)
1331 words (3.8 pages)
- An Effective Memory Optimization for Virtual Machine-Based Systems Overview: A new technique called Batmem is introduced in this paper to increase the system performance. This techniques is applied to both high end and low end systems by which we can increase the performance of virtual atmosphere and warns user frequently about malicious deeds that happens in system. Summary: VMM's(Virtual Machine Monitor) require a powerful memory offering component between VMM's and their host, for example, improving regular paging and memory that is mapped for virtual I/O gadgets.... [tags: information technology, batmem]
2035 words (5.8 pages)
- Introduction We live within an era of great technological achievement. As new devices and forms of communication are developed, our society evolves along side. Technological determinists argue that technology is bringing us into a dystopia. Social constructionists, however, argue that we are entering a utopia of communication; a world full of connections regardless of distance and self. In addition, there are those that argue we will remain within our syntopian world, one with a virtual equilibrium between man and machine.... [tags: Mobile phone, Communication]
1265 words (3.6 pages)
- Literature Review on Java Development Berzal (2005) investigated on the tools and frameworks that are available for Java application development. This was to explore the merits and demerits of tools and frameworks. This researcher made good review of various frameworks in Java platform. The frameworks include Struts, Tapestry, WebWork, InternetBeans Express, Velocity and Cocoon. The purpose of these frameworks is to help developers build web applications systematically. They all support the design pattern Model-View-Controller (MVC) (Berzal, 2005).... [tags: Java, Object-oriented programming]
1416 words (4 pages)
- The Times They Are A Changin’ In today’s day and age, it’s very likely that if you work in a business environment you will interact in some sort of virtual organization unit. I think that a virtual team allows an organization a lot of flexibility and positives that wouldn’t be available in a classic team markup. However, without experienced, organized, and driven team members, adding the complexity of distance and technology will simply make it all the more likely that a team will fail. My intent here in this paper is go over how to effectively overcome some of the issues that can arise when working within a virtual organization based upon our readings and my own experience.... [tags: The A-Team, Management, Team, Virtual team]
969 words (2.8 pages)
- Table of Contents List of Figures 3 Literature Review 4 History of Hadoop Technology 4 Applications of Hadoop 6 Main Components of Hadoop 6 MapReduce. 6 Map Step. 7 Reduce Step. 8 Hadoop Distributed File System (HDFS) 8 Advantages and Disadvantages of using Hadoop 11 Advantages. 11 Disadvantages. 11 Competitors to the Hadoop Technology 12 Conclusion 13 References 15 List of Figures Figure 1: MapReduce Programming Model 7 Figure 2: HDFS architecture 9 Figure 3: HDFS Operation Process 10 Literature Review Hadoop is a free, java based programming framework that usually supports processing of large data sets that are in diverse computing environment.... [tags: java based programming framework]
2964 words (8.5 pages)
- Popularity of Java Java is a programming language designed to run dynamic, interactive and secure applications on computer systems. Java has several features which make it extremely popular. Even though Java has obtained remarkable popularity through it’s use on the internet, Java has also been adapted to the operating systems of several electronic devices which are commonly used. How Java is used in the industry Since Java’s inception in 1995, it began to spread throughout the programming world like a virus, gaining popularity everywhere it is used.... [tags: Information Technology ]
1151 words (3.3 pages)
- Advances in technology have enabled virtual teams to become more prevalent in today’s society. A virtual team can range from a group of long distance students coming together as a group and a team of individuals working together on a project from their respective homes, to a CEO conducting a corporate videoconference from another to country with other departments or subordinates. According to Lilian (2014), “as information and knowledge is diffused by modern technology, working and innovation are shifting form structures inside the organization to broader virtual knowledge networks that may reach across time and space boundaries making physical location, buildings, and distribution channel... [tags: Leadership, Management, Virtual team, Team]
1534 words (4.4 pages)
- Java is one of many high-level programming languages that use abstraction (reducing and factoring details) to create software for computers and many other electronic devices. Compared to low-level programming languages, high-level programming languages use a mixture of natural language (any language used by humans) and typical computer terms to create an easier to understand and simpler form of programming. Figures 1 and 2 show the difference in writing a simple program called “Hello World” in Assembly (a low-level programming language) and in Java.... [tags: Computer Programming]
1092 words (3.1 pages)