Re: ParallelMap inefficient?
- To: mathgroup at smc.vnet.net
- Subject: [mg27266] Re: ParallelMap inefficient?
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Sat, 17 Feb 2001 03:30:39 -0500 (EST)
- Organization: Universitaet Leipzig
- References: <96irro$df8@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi, it is hopeless to assume that "Take x computer and be x-times faster" is true. In fact you have to to design the algorithm very care full to get a speed up in parallel program. We have here (at the faculty of computer science) a graduate course on parallel computing and in the laboratory the students have to solve some task with parallel programs. The laboratory is very discouraging because typical none of the solutions of tasks give a speed up :-) You should not expect that so simple operations are faster. In principle the time to send/recive that data mut be much shorter than the time for the execution of the commands. Don't think that using more data will help you because the time for send/recive grow linear with the data size. So your operations with the data should have atleast a larger time complexity. Regards Jens Mike Yukish wrote: > > Hello, > > I am starting to use the parallel programming toolbox, and I've found > the ParallelMap[ ] function to be essentially broken, most likely due to > some sort of comm glitch. I was curious if anyone else has experienced a > similar problem, or if it is just my network. > > If I run the following commands (listtt is a 5 element list of real > numbers), with one remote server active... > > x1=SessionTime[]; > ParallelMap[Sin,listtt] > SessionTime[]-x1 > > It takes 5-7 seconds. This is to connect with a slave computer that is > sharing a hub with the master. Obviously something is wrong. By > contrast, if I define the function on the slave > > maparoni[x_]:=Map[Sin,x] > > and do the following... > > Do[ > With[{x=listtt},RemoteEvaluate[maparoni[x]] ] , {20} ] > SessionTime[]-x1 > > It only takes 5 seconds. Note the difference. I am executing the Sin[ ] > function twenty times more, I am passing discrete hunks of data twenty > times more, and I am passing twenty times the total amount of data, yet > it takes less time to complete. So the basic linking between computers > appears to work OK. > > Anybody else have experience with the ParallelMap[ ] function? I see > similar performance with ParallelTable[ ]