A Practical, Integer-Linear Programming Model for the ... - Google Sites

3 downloads 185 Views 250KB Size Report
Goal: Distribute nodes uniformly among process. Method: xor the hash value of each feature. ZH(s) = R[t1] xor R[t2] xor
Abstract Zobrist Hashing: An Efficient Work Distribution Method for Parallel Best­First Search    Yuu Jinnai and Alex Fukunaga (The University of Tokyo) 1. Hash Distributed A* (HDA*) Hash Distributed A* (HDA*) is a parallel best­first  graph  search  (A*)  which  distrbutes  nodes  according  to  a  hash  function  which  assigns  each  state to a unique process.  As  HDA*  relies  on  the  hash  function  for  load  balancing,  the  choice  of  hash  function  is  crucial  to its performance!

Summary

(Kishimoto et al. 2013)

We propose: Abstract Zobrist hashing, a hybrid of two  strategies, which incorporates their strengths and alleviating  their limitations. Main contribution: We showed that Abstract Zobrist hashing  outperforms previous methods in sliding­tile puzzle, MSA,  and domain­independent classic planning.

Hash Distributed A*

H(s) = 1

Work Queue

Work Queue

process0

process1

load  communication  balance overhead

2. Previous Work Distribution Methods 2.1. Zobrist hashing (ZHDA*)

t1=2

1

4 3 7

1 5 8

2 6

00100101

10001100

10101110

4 3 7

t3=4 00000111

3

State

 

Feature

 

Feature Hash

       

2 6

4

1

 

2

Abstract  State

Abstract  Zobrist hashing (New!)





AZH(s) = R[A(t1)] xor R[A(t2)] xor ... xor R[A(tn)]

State  Hash

 

process0

process1



Goal: Distributes nodes uniformly while assigning  neighbor nodes to the same process Method: Project features into abstract features and xor  the hash value of each abstract feature

t1=2

1

2 t2=3

2

1

Strength: low communication overhead Limitation: worse load balance

Strength: good load balance Limitation: high communication overhead

×

3. Abstract Zobrist hashing (AZHDA*)

10101110

State

State  Hash

process0

1 5 8

Abstraction

new!

AH(s) = R[A(s)]

2 t2=3

×

(Zhou and Hansen 2007; Burns et al 2010)

(Zhou and Hansen 2007; Burns et al. 2010) Goal:  Assign  neighbor  nodes  to  the  same  process Method: Project nodes in the state space into  abstract  states,  and  abstract  states  are  assigned  to  processors  using  a  modulus  operator.

ZH(s) = R[t1] xor R[t2] xor ... xor R[tn]



(Zobrist 1970; Kishimoto et al 2013)

2.2. Abstraction (AHDA*)

(Zobrist 1970; Kishimoto et al. 2013) Goal:  Distribute  nodes  uniformly  among  process Method: xor the hash value of each feature

Zobrist hashing

4 3 7

process1

1 5 8

2 6

t3=4

Init

Init

State

3

process0

process1

Communication Cost

process0

Communication Cost

process1

Feature

 

   

Abstract Feature

 

01100010

00101100

01010001

00011111

Abstract Feature Hash

       

State  Hash

AZH Simultaneously address good load  balance and communication overhead!

Goal

Goal

A(t2)=1

A(t3)=2

3  

A(t1)=1

process0

Init

process1

4. Results on Sliding­tile and  Multiple Sequence Alignment

Search overhead (SO) :=  (#nodes expanded in parallel) /          (#nodes expanded in sequential A*)  Search  overhead  is  caused  by  poor  load balance.

 0.3

 0.9

 0.25  0.2

 0.8

 0.5

process0

b16

AZHDA* AHDA* ZHDA*  4

 6

 10

#thread

 12

 1

 14

 0.8

 0.2  10

#thread

 12

 14

15 Puzzle Walltime Efficiency

Z8 Z16

 0.2

 0.4

CO

 0.6

 0.8

 1

A: AZHDA*, Z: ZHDA*, b: AHDA*

 0.4

 8

A16

24 Puzzle CO vs SO

 0.6

 6

Z4

A8

 0  0

 16

AZHDA* ZHDA* SafePBNF AHDA* PHDA*

 4

A4

 0.05  8

 1  0.95  0.9  0.85  0.8  0.75  0.7  0.65  0.6  0.55  0.5

 16

process1

Communication Cost

b4

 0.1

24 Puzzle Walltime  Efficiency

 0

Goal

 0.15

 0.7  0.6

b8

SO

Efficiency

 1

AZHDA* ZHDA* AHDA* HWD

Efficiency

Communication overhead (CO) :=     (#nodes sent to other processes) /       (#nodes generated)

 0.35

Efficiency

AZHDA*  outperformed  previous  methods  on  15­puzzle,  24­puzzle,  and  MSA,  succeessfully  mitigating  communication  overhead    and  achieving good load balance, while  ZHDA*  and  AHDA*  only  succeeded  in  achieving  either  low  CO or good load balancing.

 4

 6

 8

 10

#thread

 12

 14

MSA Walltime Efficiency

5. Results on Domain­Independent  Planning AZHDA*  achieved  modest  improvements  over  previous  methods  with  automatically  generated  abstract features. #thread=8

 16

Airport9 Barman1­1 Blocks10­2 Elevators11­26 Floortile1­1 Freecell5 Gripper7 Logistics98­32 PipesNoTk14 Sokoban11­13 Transport08­14 Visitall11­7Half Zenotravel8 Average Total

Time (sec) 156.59 30.32 234.27 142.66 254.74 141.74 77.23 25.44 231.50 129.66 85.89 10.13 26.52 118.97 1646.74

A*

Expd 4902509 4719078 39226226 5329127 30523550 9142007 10101217 1837543 34862961 10048931 9830158 1952096 1330916 12600486 163806319

AZHDA* Eff CO SO 0.799 0.480 ­0.005 0.641 0.770 0.133 0.988 0.540 0.009 0.654 0.380 0.007 0.768 0.850 ­0.032 0.774 0.650 0.000 0.766 0.720 0.001 0.758 0.460 ­0.058 0.835 0.820 ­0.002 0.893 0.630 ­0.001 0.831 0.310 ­0.041 0.873 0.880 ­0.044 0.784 0.570 ­0.045 0.797 0.620 ­0.006 Time (sec) 282.29

ZHDA* Eff CO 0.808 0.560 0.707 0.960 0.932 0.890 0.601 0.850 0.806 0.900 0.751 0.890 0.743 0.880 0.628 0.880 0.883 0.860 0.874 0.820 0.694 0.870 0.867 0.890 0.661 0.890 0.766 0.857 Time (sec)

SO ­0.007 ­0.002 0.011 ­0.001 ­0.046 ­0.002 0.004 0.000 ­0.000 ­0.001 0.001 ­0.041 ­0.003 ­0.007 298.92

AHDA* Eff CO 0.720 0.240 0.613 0.640 1.013 0.400 0.648 0.070 0.905 0.300 0.375 0.080 0.849 0.340 0.808 0.310 1.016 0.400 0.288 0.150 0.695 0.770 0.804 0.880 0.749 0.700 0.729 0.406 Time (sec)

SO 0.024 0.144 0.041 0.114 ­0.018 0.100 0.003 ­0.009 ­0.102 0.172 0.024 ­0.039 ­0.006 0.034 341.73

Suggest Documents