Sunday, 5 October 2014

Second Part: Why Study Parallel Computing

Second Part: Why Study Parallel Computing

As we known, parallel computing uses multiple processors to solve problem faster than a single processor (serial computing).And now, why it is so important?

Nowadays, every science/research contains two parts. First is Theory and second is Experimentation. Some experiments just take too long time on a single processor within days, months or even years. In case of saving more time, we can execute experiments by using multiple processors.

Today, all computers are multi-core, even laptops and mobile phones. Number of cores keeps going up year by year.

For example:
Intel/AMD:
2004: 2 cores per processor
2006: 4 cores per processor
2009: 6 cores per processor

Tansitor Counts From 1980-2010

If you want your software to use all those cores, you need the way to parallelize it.

Let us look at history of processor architectures:

All processors made of transistors. By concept of Moore`s Law, the number of transistors per chip doubles every 18-24 months. Fabrication process are now improved to make transistors become smaller and allow more transistor to be place in the same space (Besides, increases transistor density). Smaller transistors enable higher speeds. 

What engineers do with so many transistors? They add advanced hardware that made code faster automatically. For example, MMX, SSE, superscalar, out-of-order execution and so on.

But now, there are problems……
Engineer have run out of ideas for advance hardware. They cannot use extra transistors to automatically improve performance.

How about increasing speed?
No. Higher speed processors consume more power. Higher speed processors also generate more heat. Removing heat is requiring more and more sophisticated equipment, heat sinks cannot do it anymore.
Example:
Pentium II Heatsink

Old view
New View
“Want more performance? Get new processor.”
Processor will not be more advanced.
Processor will not have higher speed
New processor will have higher speed, more advanced. Makes software run faster
Industry : Use extra transistors for multiple processors on the same chip.This is called a multi-core processor.Eg.Core 2 Duo,Core 2 Quad,Athlon X2,X4

Benefits of multi-core:
(1)Continue to increase theoretical performance
(2)Decrease speed to reduce temperature,power

Effects on Programming:
Before
Now
-Write sequential (non-parallel) program.
It becomes faster with newer processor
-Higher speed , more advanced

-New processor has more cores , but each is slower
-Sequential programs will run slower on new proc because of usage on one core.
-Parallel program can use all the cores

Problem learning parallel computing?
(1)You need knowledge of parallelism
-Future processors will have many cores
-Software will only achieve high performance if it is parallelized
      (2)Parallel programming is not easy
-Many factors affect performance
-Requires deep understanding of processor architectures

Summary

Processor technology cannot continue as before. It changed to multi-cores. Multi-cores require programs to be parallelized for high performance.

What are meant by..............?

Multi-core processors
Is a single computing component with two or more independent actual CPU,which are the units that read and execute program instructions

Transistor
is a semiconductor device used to amplify and switch electronic signals and elcetrical power

Transistor Count
Refer to number of transistor in a device

Fabrication
Refer to the process used to create the integrated circuits that are present in everyday electrical and electronic devices

Moore`s Law
Is the observation that,over the history of computing hardware,the number of transistors in a dense integrated circuit doubles approximately every two years 

                                                                                                         Next Part: Supercomputer........?      


No comments:

Post a Comment