I am a 1+ years experienced embedded system developer. I would like to know what are the prerequisites for learning parallel programming. How should I go about it. I have been working on C. I have some basic knowledge of operating system concepts. Are they helpful. Do I need to know Kernel Programming. I am very eager to work in this field. Please help me with prerequisites for learning parallel programming and how to start it.