Path: utzoo!utgpu!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!unmvax!gatech!hubcap!israel From: israel@profundo.rutgers.edu (Nelken) Newsgroups: comp.parallel Subject: superlinear speedups in heuristic algorithms Message-ID: <3808@hubcap.UUCP> Date: 9 Dec 88 17:41:52 GMT Sender: fpst@hubcap.UUCP Lines: 37 Approved: parallel@hubcap.clemson.edu Recently there have been messages in this newsgrup about superlinear speedups in heuristic algorithms. The claim was that a uniprocessor might go down the wrong path in the tree because of some misleading heuristics. A parallel machine can explore several subtrees concurrently and might thus find the correct solution faster. In some cases the parallel program might be more than p times as fast as the sequential one. But wait! A uniprocessor can also be programmed to exlore the tree in the same order as the parallel machine. It may explore a node in one subtree and then explore a node in an entirely different subtree. If this search strategy is used, there is no superlinear speedup. The problem lies in the misuse of terms. Here are the accepted definitions: T(p) - the time required by a parallel machine (with p processors) to run the BEST parallel algorithm. T(1) - the time required by a uniprocessor with similar capabilities to run the BEST sequential algorithm. It is very difficult to claim that a particular heuristic algorithm is "best". In fact, the so called "superlinear" speedups that have been claimed are due to a non-optimal search strategy in the sequential case (we didn't use the best algorithm). True superlinear speedup would occur if, under the above definitions, T(1) >= p * T(p) In this discussion I avoided the questions of memory, cache and paging overheads which may affect a parallel machine differently than a uniprocessor. Izzy Nelken Department of Computer Science Hill Center, Rutgers University New Brunswick, NJ 08903