Multicore specification generation system
Table Of Contents
Chapter ONE
INTRODUCTION
- 1.1Introduction
- 1.2Background of Study
- 1.3Problem Statement
- 1.4Objective of Study
- 1.5Limitation of Study
- 1.6Scope of Study
- 1.7Significance of Study
- 1.8Structure of the Research
- 1.9Definition of Terms
Chapter TWO
LITERATURE REVIEW
- 2.1Overview of Multicore Systems
- 2.2Evolution of Multicore Processors
- 2.3Benefits of Multicore Systems
- 2.4Challenges in Multicore System Design
- 2.5Parallel Processing and Multithreading
- 2.6Multicore Architecture Types
- 2.7Programming Models for Multicore Systems
- 2.8Tools for Multicore Development
- 2.9Multicore Performance Optimization Techniques
- 2.10Future Trends in Multicore Systems
Chapter THREE
SYSTEM DESIGN AND IMPLEMENTATION
- 3.1Research Design and Approach
- 3.2Data Collection Methods
- 3.3Sampling Techniques
- 3.4Data Analysis Procedures
- 3.5Research Validity and Reliability
- 3.6Ethical Considerations
- 3.7Research Limitations
- 3.8Case Study Design
Chapter FOUR
SYSTEM TESTING AND EVALUATION
- 4.1Analysis of Data Collected
- 4.2Comparison of Multicore Architectures
- 4.3Performance Evaluation Metrics
- 4.4Software Development for Multicore Systems
- 4.5Challenges in Multicore Programming
- 4.6Case Studies on Multicore Applications
- 4.7Impact of Multicore Technology on Industries
- 4.8Future Prospects of Multicore Systems
Chapter FIVE
SUMMARY, CONCLUSION AND RECOMMENDATIONS
- 5.1Summary of Findings
- 5.2Conclusions Drawn
- 5.3Contributions to the Field
- 5.4Recommendations for Future Research
- 5.5Implications for Practitioners
- 5.6Conclusion and Final Remarks
Project Abstract
<p> Performance analysis is the task of monitoring the behaviour of a program execution. The main goal is to find out the possible adjustments that might be done in order to improve the performance of the computer system in use. To be able to get that improvement, it is necessary to find the different causes/contributors of overhead. Today, we are already in the multicore era, but there is a gap between the level of development of the two main divisions of multicore technology (hardware and software). This project is focused on the issues concerning performance analysis, tuning of applications running specifically in a shared memory system and development of application that automatically extract system characteristics and configurations. This application is developed using OODM and implemented using C# programming language and can be used on any windows Operating System. The application developed from this project critically analyses multicore system, determine various causes of overhead in multicore environment,extracts system parameters and present various optimization strategies. <br></p>
Project Overview
<p>
</p><p><strong>INTRODUCTION</strong></p><p><strong>1.1 </strong><strong>Introduction</strong><strong></strong></p><strong><p>With computers playing an increasingly<br>critical role in our day-to-day lives, it is important to know their components<br>and how each works and of what impact they impose on performance of the<br>computer system.</p><p>According to<br>(Arnold, 1994) Computer performance is characterised by the amount of useful<br>work accomplished by a computer system compared to time and resources used.<br>Depending on the context, good computer performance is dependent on the<br>available system resources. Most computer users do not know the system<br>specification, they lack the knowledge of conventional way of extracting system<br>parameters but with the computerised system in this thesis (Otherwise known as<br>Autospec) every computer users will be able to determine the system<br>configuration by installing and running the software.</p><p>The System<br>development can be likened to building a house, this demands adequate planning<br>and preparation in order to meet the objectives of the proposed design.</p><p>The parameters or<br>the resources that are of interest in our analysis include the followings: </p><ul><li>Summary</li><li>Operating<br>system</li><li>CPU</li><li>RAM</li><li>Hard<br>drives</li><li>Optical<br>drives</li><li>Motherboard</li><li>Graphics</li><li>Network</li><li>Audio</li><li>Peripheral</li><li>Performance</li></ul><p>Performance<br>analysis is the task of investigating the behaviour of program execution<br>(Mario, 2009). The main aim is to find out the possible adjustments that might<br>be done in order enhance the performance of computer system. Besides, the<br>hardware architecture and software platform (operating system) where a program<br>is executed has impact on its performance. Workload characterization involves<br>studying the user and machine environment, observing key characteristics, and<br>developing a workload model that can be used repeatedly. Once a workload model<br>is available, the effect of changes in the workload and system can be easily<br>evaluated by changing the parameters of the model. This can be achieved by<br>using compiler directives such OpenMP multithread application. In addition,<br>workload characterization can help you to determine what’s normal, prepare a<br>baseline for historical comparison, comply with management reporting, and<br>identify candidates for optimization.</p><p>Presently,<br>multicore processors chips are being introduced in almost all the areas where a<br>computer is needed. For example, many laptop computers have a dual core<br>processor inside. High Performance<br>Computing (HPC) address different issues, one of them is the<br>exploitation of the capacities of multicore architecture(Mario, 2009).</p><p>Presently,<br>multicore processors chips are being introduced in almost all the areas where a<br>computer is needed. For example, many laptop computers have a dual core<br>processor inside. High Performance<br>Computing (HPC) address different issues, one of them is the<br>exploitation of the capacities of multicore architecture.</p><p>Performance<br>analysis and optimization is a field of HPC responsible for analysing the<br>behaviour of applications that perform big amount of computation. Some<br>applications that perform high volume of computations require analysing and tuning.<br>Therefore, in order to achieve better performances it is necessary to find the<br>different causes of overhead.</p><p>There are a<br>considerable number of studies related to the performance analysis and tuning<br>of applications for supercomputing, but there are relatively few studies<br>addressed specifically to applications running on a multicore environment.</p><p>A multicore system is composed of<br>two or more independent cores (or CPUs). The cores are typically integrated<br>onto a single circuit die (known as a chip multiprocessor or CMP), or they may<br>be integrated onto multiple dies in a single chip package.</p><p>This thesis examines the issues<br>involved in the performance analysis and tuning of applications running<br>specifically in a shared Memory and the development of a computerized system<br>for retrieving systems specification for possible changes. Multicore hardware<br>is relatively more mature than multicore software, from that reality arises the<br>necessity of this research. We would like to emphasize that this is an active<br>area of research, and there are only some early results in the academic and<br>industrial worlds in terms of established standards and technology, but much<br>more will evolve in the years to come.</p><p>Several<br>years, the computer technology has been going through a phase of many<br>developments. Based on Moore law, the speed of processors has been increasing<br>very fast. Every new generation of micro-processor comes with clock rate<br>usually twice or even much faster than the previous one. That increase in clock<br>frequency drove increases in the processors performance, but at the same time,<br>the difference between the processors speed and memory speed was increasing.<br>Such gap was temporarily solved by instruction level parallelism (ILP) (Faxen<br>et al, 2008). Exploiting ILP means executing instructions that occur close to<br>each other in the stream of instructions through the processor in parallel.<br>Though it appeared very soon that more and more cycles are being spent not in<br>the processor core execution, but in the memory subsystem which includes the<br>multilevel caching structure, and the so-called Memory Wall, problem started to<br>evolve quite significantly due to the fact that the increase in memory speed<br>didn’t match that of processor cores.</p><p>Very soon a new direction for increasing the overall performance of computer systems had been proposed, namely changing the structure of the processor subsystem to utilize several processor cores on a single chip. These new computer architectures received the name of Chip Multi Processors (CMP) and provided increased performance for new generation of systems, while keeping the clock rate of individual processors cores at a reasonable level. The result of this architectural change is that it became possible to provide further improvements in performance while keeping the power consumption of the processor subsystem almost constant, the trend which appears essential not only to power sensitive market segments such as embedded systems, but also to computing server farms which suffer power consumption/dissipation problems as well.</p></strong>
<br><p></p>