You are on page 1of 2

Parallelism The Ultimate Goal

So everybody ( and i mean EVERYBODY) should have heard about the multicore processors prevalent these days. To name a few Intel i series and AMD PHENOM X series are the most

widely known. But what everybody doesnt know or even doesnt care is how do multiple cores work together. They are just happy with the status symbol (Dude i have an i7 and you just have a dual core!!!). What they actually dont know that given a cetain problem a dual core or even a single one can easily compete wth the one having 4,6 or even 8 cores. The problem lies in the software. Yes my friends, the software is the key. Majority of the softwares available in the market (proprietary, or even free or opensource) DO NOT utilize this untapped source of power. Lets take an example. My laptop has a Intel core i5. The i5 has 2 cores.(yeah i know the task manager shows 4, thanks to Hyper-Threading but that is out of scope here.) Say i write a program for a simple linear search for 100 charecters. (cmon everyone knows linear search ;) ) A linear search has a simple, single for loop. Now if you run the program on a single core processor or a 100 core processor it will take the same time( provided clock speed is same) because the program is utilizing only 1 core out of those 100. Now say i break the loop. 50 iterations on one core and 50 on the another simultaneously. It requires no genius to tell that even if the solution is the worst case( the last element is the one we are looking for) the program will take only the time taken by previous one. So this is that untapped source. You can experience this difference yourself by performing a simple experiment. Just run the task manager and go to the performance tab.Then close all programs and run any one (say our favoutite player VLC ) and play a song. You can easily observe in the performance tab graph that a certain core is always unused or even if all are being used atleast one will be used less than all others. So my friends this is THE ULTIMATE GOAL. To achieve total parallelization. If an operating system and all the 3rd party softwares utilize these cores then computers can be made MUCH faster.

It might interest you to know that the top supercomputer in the world the K Computer (Japan) has 705024 cores in total and the top supercomputer in India the EKA supercomputer has 14400 cores (rank 85th in the world ) and by the way the one in IISC ,Bangalore has just 8196 (ranked 6th in India). I was lucky enough to see a supercomputer in action onsite at GEOPIC, ONGC, Dehradun(consumes 2 floors of the building). It is a sight worth seeing as an engineer. I recommend everyone should visit the one in IISC. I think these statistics prove my point. Parallelization is the future of computers because we are bound by properties of materials which do not allow us to exceed the computing speed above a certain limit. So the better way is to perform tasks at the same time. Parallel Computing is widely used to solve real world problems. You will have to admit that the real world is massively parallel in nature and the best way to model it onto a computer will be using parallel computing. Indians have a dominant role in parallel computing research. It is worthwhile to note that out of the 4 authors of the most widely read book on the subject, 3 are indians. For those people interested in the programming part can easily start since the most popular API for parallel computing is for C/C++ and fortan. Its called OpenMP. It utilizes the shared memory paradigm and can be used to code for the desktop computer as well as a supercomputer.

Kunal Kaul. . Dept of CSE Visit www.kunalkaul.wordpress.com for technology updates, hacks and solutions.

You might also like