04-04-2011, 04:39 PM
Multi Core Processors.doc (Size: 258.5 KB / Downloads: 119)
Abstract
Multi-core processors are growing as a new industry trend as single core processors rapidly reach the physical limits of possible complexity and speed. In the new Top500 supercomputer list, more than 20% processors belong to the multi-core processor family. However, without an in-depth study on application behaviors and trends on multi-core clusters, we might not be able to understand the characteristics of multi-core cluster in a comprehensive manner and hence not be able to get optimal performance. In this paper, we take on these challenges and design a set of experiments to study the impact of multi-core architecture on cluster computing. We choose to use one of the most advanced multi-core servers, Intel Bensley system with Woodcrest processors, as our evaluation platform, and use benchmarks including HPL, NAMD, and NAS as the applications to study. From our message distribution experiments, we find that on an average about 50% messages are transferred through intra-node communication, which is much higher than intuition. This trend indicates that optimizing intra- node communication is as important as optimizing inter- node communication in a multi-core cluster. We also observe that cache and memory contention may be a potential bottleneck in multi-core clusters, and communication middleware and applications should be multi-core aware to alleviate this problem. We demonstrate that multi-core aware algorithm, e.g. data tiling, improves benchmark execution time by up to 70%. We also compare the scalability of a multi-core cluster with that of a single-core cluster and find that the scalability of the multi-core cluster is promising.
INTRODUCTION
A processor is a unit that reads, decodes and executes the program instructions. The processors were originally developed with only one core. A core is a part of processor that actually performs
1. Fetching
2. Decoding
3. Executing an instruction as shown in Fig 1.
Single core processor is a processing system; is an Integrated Circuit (IC) which allows two or more individual and independent cores have been attached, on a single die. Placing two or more powerful computing cores on a single processor opens up a world of important new possibility. Each core has its own complete set of resources and may share on-die cache layers. As shown in fig 2 s in [1].
A single core processor can process only one instruction at a time. To improve the efficiency, processor commonly utilizes pipelines internally, which allow several instructions to be processed together. However they are still consumed into the pipeline at a time.
So it laid to evolution of Multi core processor; placing two or more powerful computing cores on a single processor opens up a world of important new possibility to increase the performance of the system as in
Need of Multi Core Processors
The difficulties in using a single core CPU gave birth to using the Multi core processors.
1. Difficult to make Single core clock frequency even higher in cost as shown in fig 3 as in [4].
The difficulty in raising clock frequency further results in improvement of performance but decreases reliability.
Doubling the frequency causes fourfold increase in power consumption. Calculated as Power = Capacitance * Voltage * Frequency.
2. Many New applications are Multi Threaded
3. General trend in Computer Architecture now-a-days shift towards Parallelism as in [8].
4. Deeply pipelined circuits which would lead to
a. Heat Problems
b. Speed of Light Problems
c. Large Design Teams necessary
d. Server Farm Need Expensive Air Conditioning
To overcome the above drawbacks of single core processor and to increase the performance of the system without increasing the power consumptions and with less complexity the need of Multi core processor raised.