Link to home
Start Free TrialLog in
Avatar of anumit
anumit

asked on

Software and Hardware Parallelism

Hi
Can anyone explain me in detail the difference between the software and Hardware parallelism ,and how are they used .how can we implement them .Can i get some good sites to know more about parallelism and  architecture of software and  hardware.
Avatar of SysExpert
SysExpert
Flag of Israel image

I would check the Linux sites , Bewoulf project and similar for hardware parallelism.

SW Parralelism is also becoming more popular.

I hope this helps !

ASKER CERTIFIED SOLUTION
Avatar of lombardp
lombardp

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of anumit
anumit

ASKER

Thaxs   lombardp ,SysExpert  for  quick response .Is it possible to do both  hardware and software parallelism parallely on a system .If yes then which program supports this mechanism.Can we do any  experiment  on hardware and software parallelism.Actually i was going through a site where it was mentioned software parellelism is fast and executable easily.
Please let me know some more information about these mechanisms.
>> Is it possible to do both  hardware and software parallelism parallely on a system

In general hardware parallelism can be actually used only if software has a certain grade of parallelism, so we could say that software parallelism must be used together with hardware parallelism.

If I understand your needs, you would like to do some experiments on parallelism, both hardware and software, with a normal system (one or more Personal Computer).

Many commercial software implement code parallel-optimized in order to take advantage of intrinsic hardware parallelism in modern CPUs. These software are mainly related to video and audio editing.


If you look for an " home made " experiment:

You can experiment hardware parallelism on a single PC using SSE instructions embedded in modern CPU: those instructions are intended for multimedia applications, to process audio and video. A quick experiment can be set up with the GCC compiler, that has specific options for implementing math with SSE parallel instuctions. You can write very simple program and try to compile them with and without the SSE switch.

Software parallelism can be better tested with a multithreaded application. A very simple application could be to have two long vectors of numbers, and calculate the mean value of each one. The first application should be mono-thread and calculate mean of first vector and then mean of second vector. The second application should be composed by two thread, the first calculates mean of first  vector, the second calculates mean of second vector, in parallel.


If you look for a more sophisticated test, you should use a

I entered answers to both the original question and the successive clarification.
I am still available to provide further clarifications to ANUMIT, if he needs.