On Wed, Nov 23, 2011 at 9:59 PM, Vengadanathan <[email protected]> wrote: > Hello , > I have few doubts regarding parallel processing on multiprocessor > architecture . > I have heard of parallel computing languages , that enables us to utilize > multiprocessor > architecture , my doubt is operating system is responsible for scheduling > the process > to each processor , then simply if i use fork() to create child process > wont it be allocated by > operating system effectively to the processors ,then why should i go for a
In parallel computing or processing, you aren't runnning just independent processes by forking (with separate memory space). The problem becomes to share data between these children processes that, if done inefficiently, can become a bottle-neck. Other issues like consistency also arise. For example, ensuring the cache built inside the CPU core is consistent (let's say two threads are working on the same data which has been cached, if 1 thread writes to it, how is that change propagated to the other core?). With this in mind, MPI [1] for example, is one way of interprocess communication designed for parallel computing. You should be able to see now how the operating system (and programing paradigm) may play an important issue. Thanks, SB [1] http://en.wikipedia.org/wiki/Message_Passing_Interface -- Mailing list guidelines and other related articles: http://lug-iitd.org/Footer
