 hopes of gaining the strengths of each; no attempt is made to prove optimality. This technique has also been used in graph colouring, where @Lewandowski:1996 observe that “in general, having the processors work in parallel yields better colorings faster than simply using multiple independent runs”.

This theme also shows up in the ManySAT parallel SAT solver [@Hamadi:2009], where parallelism is used to counter the sensitivity of SAT solvers to initial tuning parameters. Hamadi et al.remark that “the performance of parallel solvers is usually better on SAT problems than on UNSAT ones”. This is because multiple search trees may make it easier to find a solution, but they are less helpful in proving that there is no solution (although things are not this simple for SAT, where learned clauses are shared). In contrast, in cases where a good solution can be found quickly, our approach allows all of the work done by every thread to contribute to a proof of optimality—this is why we typically get at least near linear speedups. Some SAT solvers also make use of randomised restarts [@Gomes:1998], again with the aim of avoiding heavy commitment to any particular portion of the search space; the emphasis here is upon finding a solution to a satisfiable instance more quickly.

Finally, one could use these experiments to support the view that *sequential* maximum clique algorithms should use some form of early discrepancy search. We would not dispute this, although we note firstly that more complicated sequential search algorithms introduce overheads which cannot be offset during the proof of optimality stage of search, and secondly that either way, every modern processor has multiple cores and we should be making use of this [@Sutter:2005]. In any case, doing this would not invalidate our approach—we would simply see some of our superlinear speedups become linear speedups over a faster sequential baseline.

Conclusion
==========

We have considered some of the design choices available when parallelising a state-of-the-art branch and bound algorithm for the maximum clique problem. We have shown that the irregularity of subproblem sizes can cause workload balance problems—this should not be surprising. But we also saw that different parallel search orders will often produce substantially different speedups, to the extent that balance is usually *not* the deciding factor for performance.

This sheds new light on Lai and Sahni’s claim that “anomalous behaviour will be rarely witnessed in practice
hopes of gaining the strengths of each; no attempt is make to rise optimality. This technique has also been used in graph color, where @Lewandowski:1996 observe that “ in general, have the processors work in parallel yields better colorings quicker than simply using multiple independent runs ”. 

 This root also shows up in the ManySAT parallel SAT solver [ @Hamadi:2009 ], where parallelism is used to counter the sensitivity of SAT problem solver to initial tuning parameters. Hamadi et al.remark that “ the performance of parallel solvers is normally better on SAT problems than on UNSAT ones ”. This is because multiple search trees may make it easy to find a solution, but they are less helpful in proving that there is no solution (although things are not this simple for SAT, where learn clauses are shared). In contrast, in cases where a good solution can be find quickly, our approach allows all of the work done by every thread to contribute to a proof of optimality — this is why we typically have at least near linear speedups. Some SAT solvers besides form use of randomised restarts [ @Gomes:1998 ], again with the purpose of avoiding heavy commitment to any particular helping of the search space; the emphasis here is upon finding a solution to a satisfiable instance more quickly. 

 last, one could use these experiments to support the view that * consecutive * maximum clique algorithm should use some form of early discrepancy search. We would not dispute this, although we note firstly that more complicated sequential search algorithm introduce overheads which cannot be offset during the proof of optimality stage of search, and secondly that either way, every modern processor has multiple kernel and we should be making use of this [ @Sutter:2005 ]. In any case, doing this would not invalidate our access — we would simply interpret some of our superlinear speedups become analogue speedups over a faster sequential service line. 

 Conclusion 
 = = = = = = = = = = 

 We have considered some of the design choices available when parallelising a state - of - the - art branch and bound algorithm for the maximum clique problem. We have shown that the irregularity of subproblem sizes can induce workload balance problems — this should not be surprising. But we besides saw that different parallel search orders will much produce substantially different acceleration, to the extent that balance is usually * not * the deciding factor for performance. 

 This sheds new light on Lai and Sahni ’s title that “ anomalous behavior will be rarely witnessed in practice
 hooes of gaining the strennths of each; no crtempt is mase to pruve optimality. This techniqux haw alsi been used in graph culouring, ahere @Leqandiqski:1996 obserts that “lu gensval, hcvmng the processprs work it parallel yiendr yetter colorings faster than simply tsing milhiple independgnt rlnf”.

Thia theme also shows up in the ManySZT paranlel SAT solvrr [@Hamadi:2009], where parallelisl is used to counter tje sensitivuty jd SAT solverr to initial tuning patameters. Hamadi et al.remark that “the 'erformance od pwtallel solvecs is lsually bettev on SAD problrms than on UNXAT onws”. This is because muntiple search treef may maka nt easier to find a silytion, but theh ard ltss hslpful in proving tgat there iw no solution (althoigr things are nkt thif fimple for SAT, where learned clauses art shaded). In contrast, in casew where a good solutiln can be found quickly, our approach allows all of the worn donx cy tvcvy tfeewd to contribute to a proof of optimality—this js wmy we typically net at least near kijest speedups. Somg SAT solvsrs also make use lf randjmisee restartf [@Gokes:1998], again with the aim of acoiding heavj conmitment to any paxticular porcion og the search space; the empharis gere is upoj finding x solution to a ratpsfidble insuxnce more quickly.

Sinally, oie cobld use ghesg experyments to duppovd the view that *seeuentnal* mdximum clieue algorithms should use some hprm of early dhscgepancy szarch. Ee would not qispute this, akthough we nute firstlj that moce complicatqd sequential dearch algormthms intwoduxe ocerheadr which cannot ne offset during thw proof of optimallty sjafe of search, anb wecondly that eothdr raj, etery imdern procesvor fas kultiole cortf cna we should be making usa of this [@Sutter:2005]. In anu gase, doint this wjuld not invakidate our approacj—we wmulv simpky fee some of our superlinear spsedups befomc linear speequps over a fastzr sequential baseline.

Conclusion
==========

We have ronsidered some of the eesign choices avaiksble when perallejising a vtate-of-the-art branch and bound algoriuhm for the maximum clisue prmblem. We have shown that the irregularity of subproblem sizes can cause workloqd balense problems—fhis shound uot be furpciring. But we also saw that different parallel seerch orderv cill often produce substantiaklh different skeedups, to the extent that balance is usually *not* the deciding favtor for performance.

This sheds nww lifht on Lai and Sahni’s claim yhat “auomaloys behaciouv will be rareuy eibnessed in prartiee
hopes of gaining the strengths of each; is to prove This technique has colouring, @Lewandowski:1996 observe that general, having the work in parallel yields better colorings than simply using multiple independent runs”. This theme also shows up in the parallel SAT solver [@Hamadi:2009], where parallelism is used to counter the sensitivity of solvers initial parameters. et al.remark that “the performance of parallel solvers is usually better on SAT problems than on ones”. This is because multiple search trees may it easier to find solution, but they are less in that there no (although are not this for SAT, where learned clauses are shared). In contrast, in cases where a good solution can be quickly, our all of work by thread to contribute proof of optimality—this is why we least near linear speedups. Some SAT solvers also use of restarts [@Gomes:1998], again with the aim avoiding heavy commitment to any particular portion of search space; the emphasis here is upon finding a solution to a satisfiable instance more one could use these to support the that maximum algorithms use some of early discrepancy search. We would not dispute this, although we firstly that more complicated sequential search algorithms introduce overheads which offset the proof of stage of search, and that way, every modern processor cores we use this In any case, doing would not invalidate our approach—we simply see some of speedups over a faster sequential baseline. Conclusion ========== have considered some of the design choices when parallelising a state-of-the-art branch and bound algorithm for the maximum clique We have the irregularity of subproblem sizes can cause workload problems—this should not be But we also saw that different parallel search orders often substantially different to the extent balance is usually the deciding factor This sheds light Lai that “anomalous behaviour will be rarely in
 hopes of gaining the strengthS of each; no aTtempT is MadE tO proVe opTimality. This teCHniqUe has also been used in graPh colOuRIng, wHErE @LewaNdowski:1996 OBsERVe tHaT “iN geNeRAl, HavinG thE procesSors work in ParAlLel yields betTEr Colorings fAstEr than simply UsiNg multIpLe iNDepenDenT runs”.

this thEMe also Shows up in ThE manySAt ParalleL saT SolvEr [@Hamadi:2009], where paraLLeLIsm is used to couNter thE sENsITIviTy oF SAT solverS tO initIAl tuninG PaRAMEteRS. Hamadi et al.reMark that “the PErfOrmancE oF paRAllel sOlverS iS UsuAlly better oN SAT Problems tHan on UnsAT ones”. tHis is beCause mUltIplE seaRCh TrEes MaY MakE It EasIEr tO find a soLuTiOn, but They ARE LEss hElpFul iN provIng that there iS no SoluTIon (AlthoUgh thIngs ArE not tHis simPle foR SaT, where learned cLausEs are sharEd). IN cOntRaSt, in cASes wheRe a GooD solutiOn can be FOunD qUICKlY, our approach allows AlL OF tHe work doNe by evERy ThREad to conTrIbuTe to A PRoof oF optIMaLity—this Is why wE TyPiCally geT aT least NeAr lIneAr speEDups. some SAt solvers Also mAKe use of randomiSEd restarts [@GomES:1998], aGAIn WIth tHe aIm of avoidinG heaVY comMitmENt To aNY partIculaR pORtIOn of the search space; tHe EmphasIs herE is upon findinG a solution TO A SatisfiaBle iNStANce more quickly.

finalLy, one could USe these eXperiMents to sUpport the VIEw that *seQueNtiAl* mAxiMUM cLique algorithMS ShouLd Use some ForM of earlY diScrEpaNcy SeArch. We wouLd not disPuTe ThIs, AltHough WE note firStLy tHaT moRe comPLicateD sequEntiAl SeARch AlgoritHMs INTrodUcE oVerhEadS wHich cAnnoT Be oFfset duRing the prOof OF optImAlIty stagE of search, and sEcOndly that eItHer Way, eveRY Modern prOcessor has multiple cores ANd we shoUld Be makIng uSe of this [@SUttEr:2005]. In anY caSE, doing This woUld noT iNvaLIDate oUR ApProAcH—we would siMPLy sEe somE oF our SuperliNear speedups become LIneAr speedups oveR a fAsteR SEqUenTIaL BasElINe.

CONClusion
==========

We have coNsidered soMe OF tHe design chOIceS aVailablE when paRalleLIsing a sTate-of-the-Art branch AnD bouND AlgOrithm for tHe maximuM clique prOBlem. WE HaVe shoWn tHat the IrRegUlariTy of suBProBlem sIzes caN cAuse woRkloaD bAlance prOblems—this should not be suRprisiNg. But We aLso saw thaT diFFerEnt parallEl seArch orders WilL ofTen prOduCE subsTantIAlLy dIFfereNt spEEdups, to thE ExTenT THaT balance is uSUALly *Not* thE deCIding fActoR for performance.

ThIS sheds new light On LaI ANd SAhnI’S claIm That “anomalous bEhaViOUR will be rArEly witnesseD in practIcE
 hopes of gaining the stre ngths of e ach;noatt em pt i s ma de to prove op t imal ity. This technique ha s als ob eenu se d ingraph c o lo u r ing ,wh ere  @ L ew andow ski :1996 o bserve tha t “ in  general, ha v in g the proc ess ors work inpar allelyi eld s  bett ercolor ings f a ster t han simpl yu sing m u ltiplei n de pend ent runs”.

Thist he m e also shows u p in t he Ma n y SAT  pa rallel SAT  s olver [@Hamad i :2 0 0 9 ],w here parallel ism is used tocounte rthe sensit ivity  o f  SA T solvers t o in itial tun ing pa r ameters .  Hamadi  et al .re mar k th a t“t hepe r for m an ceo f p arallelso lv ers i s us u a l l y be tte r on  SATproblems than  on  UNS A T o nes”.  This  isbe cause  multi ple s ea rch trees may m akeit easier  to  f ind  a  solu t ion, b utthe y are l ess hel p ful  i n p ro ving that there is  n o so lution ( althou g hth i ngs areno t t hiss i mpleforS AT , wherelearne d  c la uses ar eshared ).  In  co ntras t , in  cases  where a  good solution can b e  found quickl y ,o u ra ppro ach  allows all  oft he w orkd on e b y  ever y thr ea d  t o  contribute to a pr oo f of o ptima lity—this iswhy we typ i c a lly getat l e as t  near linear s peedu ps. Some S A T solver s als o make u se of ran d o mised re sta rts  [@ Gom e s :1 998], again w i t h th eaim ofavo iding h eav y c omm itm en t to anyparticul ar  p or ti onof th e  searchsp ace ;the  emph a sis he re is  upo nfi n din g a sol u ti o n  toasa tisf iab le  inst ance mor e quick ly.

Fina lly ,  one  c ou ld usethese experim en ts to supp or t t he vie w that *se quential* maximum cliqu e  algori thm s sho ulduse somefor m of e arl y  discr epancy  sear ch . W e would n ot  di sp ute this,a l tho ugh w enote  firstl y that more compli c ate d sequentialsea rcha l go rit h ms int ro d uce o verheads whichcannot beof f se t during t h e p ro of of o ptimali ty st a ge of s earch, an d secondl ythat e ith er way, ev ery mode rn proces s or ha s  m ultip lecoresan d w e sho uld be mak ing u se ofth is [@S utter :2 005]. In  any case, doing this w ould n ot in val idate our  ap p roa ch—we wou ld s imply seesom e o f our  su p erlin ears pe edu p s bec omel inear spe e du pso v er  a faster s e q u ent ial b ase l ine.
Conc lusion
========== 
We have consi dere d som e o f  the  d esign choicesava il a b le whenpa rallelising  a state -o f -the- art br anch a nd boun d al g orithm  for  th e maximum  cl iq u e probl em .W e have  sho wn  thatthe ir r egul a r ity of subproble m siz e s  canc aus e wor kl oad bal a nceproblems—t his shouldnot be  sur prisi ng. But  w e also  sa wthat diffe r ent paral lel s earch o rd erswil l ofte n pr o d uce s ubst an tia lly diffe r e nt sp ee d ups , to  theex tent  that bal a nce is u sua l ly *not *the d ecidin g  f a c tor for pe rfo rmanc e . 

This she d s ne w  l i ght o n Laiand Sa hni’s c l aim  t hat “an oma l o us behavi our willb e r ar elywitnesse din p ra cti ce 
 hopes_of gaining_the strengths of each;_no attempt_is_made to_prove_optimality. This technique_has also been_used in graph colouring,_where @Lewandowski:1996 observe_that_“in general, having the processors work in parallel yields better colorings faster than simply_using_multiple independent_runs”.

This_theme_also shows up in the_ManySAT parallel SAT solver [@Hamadi:2009],_where parallelism_is used to counter the sensitivity of SAT_solvers_to initial tuning_parameters. Hamadi et al.remark that “the performance of parallel_solvers is usually better on SAT_problems than on_UNSAT_ones”._This is because multiple_search trees may make it easier_to find a solution, but they_are less helpful in proving that there_is no solution (although things are_not this simple for SAT,_where learned_clauses are shared). In contrast,_in cases where_a good_solution can be_found quickly, our approach allows all_of the work_done by every thread to contribute_to_a proof of_optimality—this_is_why we_typically get at_least_near linear_speedups._Some SAT solvers also make use_of_randomised restarts [@Gomes:1998], again with the aim_of avoiding heavy commitment_to_any particular portion of_the search space; the emphasis_here is upon finding a solution_to a_satisfiable instance_more quickly.

Finally, one could use these experiments to support the view_that *sequential* maximum clique algorithms should_use some form of_early discrepancy_search._We would not_dispute_this, although_we note firstly that more complicated sequential_search algorithms_introduce overheads which cannot be offset_during the proof of_optimality_stage of search, and secondly that_either way, every modern processor has_multiple cores and we should_be_making_use of this [@Sutter:2005]. In_any case, doing this would not_invalidate our approach—we_would simply see some of our superlinear_speedups_become linear speedups over a faster_sequential_baseline.

Conclusion
==========

We have considered some of the_design_choices_available when parallelising a state-of-the-art_branch and bound algorithm for the_maximum clique problem. We have shown that the irregularity_of subproblem sizes_can cause workload balance problems—this_should_not_be surprising. But we also saw that different parallel search_orders will_often produce substantially_different speedups, to the extent that balance is usually *not*_the deciding factor for performance.

This sheds new_light on Lai and Sahni’s claim that “anomalous behaviour will be_rarely witnessed in practice