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

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

Goal: Distribute nodes uniformly among process. Method: xor the hash value of each feature. ZH(s) = R[t1] xor R[t2] xor ... xor R[tn]. 2.1. Zobrist hashing (ZHDA*).

250KB Sizes 3 Downloads 228 Views

Recommend Documents

The Hidden Information State model: A practical framework for ...
Apr 16, 2009 - hence the distribution of grid points in belief space is very important. ..... other application-dependent data or code in a HIS dialogue manager.

The Hidden Information State model: A practical framework for ...
Apr 16, 2009 - POMDP-based spoken dialogue management ... HIS system for the tourist information domain is evaluated and compared with ..... Solid arrows denote conditional dependencies, open circles denote ... For example, the utterance ''I want an

The Hidden Information State model: A practical framework for ...
Apr 16, 2009 - called the Hidden Information State model which does scale and which can be used to build practical systems. A prototype .... The key advantage of the. POMDP formalism is that ... reviews the theory of POMDP-based dialogue management i

Model-Making-For-The-Stage-A-Practical-Guide.pdf
MODEL MAKING FOR THE STAGE: A PRACTICAL GUIDE EBOOK AUTHOR BY KEITH ORTON. Model Making For ... thorough analysis on well-liked search engines like google together with the search phrases download Keith Orton PDF. eBooks in order ... Download Daniel

Workspace Consistency: A Programming Model for ...
the statement merely evaluates all right-side expressions. (in some order) .... usually indicate software bugs, one response is to throw a runtime exception.

Merge: A Programming Model for Heterogeneous Multi-core Systems
Mar 5, 2008 - proaches provide a data parallel API that can be efficiently mapped to a set of ... multi-core system, in contrast to static approaches, or dynamic.

Workspace Consistency: A Programming Model for ...
tor prototype, particularly for applications demanding pipeline parallelism or “all-to-all” communication like the MapReduce model. During a MapReduce, for ...

A Constraint-Programming Model For Scheduling ...
Phone: (56-2)7762260,. Fax: (56-2)7799723, ... base a production plan for the mine; the plan consists of the streets (tunnels) identification, site .... LPF (Lowest production first): Points are visited in increasing order of the amount of material t

A SIMD Programming Model for Dart, JavaScript, and ...
Jan 20, 2014 - cated single instruction multiple data (SIMD) co-processor. On x86 the SSE ... If the Float32x4 type were available to web programmers and.

The Dataflow Model: A Practical Approach to ... - VLDB Endowment
Aug 31, 2015 - Though data processing systems are complex by nature, the video provider wants a .... time management [28] and semantic models [9], but also windowing [22] .... element, and thus translates naturally to unbounded data.

The Dataflow Model: A Practical Approach to ... - VLDB Endowment
Aug 31, 2015 - Support robust analysis of data in the context in which they occurred. ... product areas, including search, ads, analytics, social, and. YouTube.

The Dataflow Model: A Practical Approach to ... - VLDB Endowment
Aug 31, 2015 - usage statistics, and sensor networks). At the same time, ... campaigns, and plan future directions in as close to real ... mingbird [10] ameliorates this implementation complexity .... watermarks, provide a good way to visualize this

The subspace Gaussian mixture model – a structured model for ...
Aug 7, 2010 - We call this a ... In HMM-GMM based speech recognition (see [11] for review), we turn the .... of the work described here has been published in conference .... ize the SGMM system; we do this in such a way that all the states' ...

A Behavioural Model for Client Reputation - A client reputation model ...
The problem: unauthorised or malicious activities performed by clients on servers while clients consume services (e.g. email spam) without behavioural history ...

Practical Robust Linear Model Predictive Control for ...
[9] D. Limon, I. Alvarado, T. Alamo, and E.F. Camacho. Mpc for tracking piecewise constant references for constrained linear systems. Automatica,. 44(9):2382 – 2387, 2008. [10] Elmer G. Gilbert and Chong-Jin Ong. Constrained linear systems with har

An Aspect-Oriented Programming Model for Bag-of ...
implementing a grid application, using traditional grid platforms, is not a ... A software system can be seen as a set of structured modules ... joinpoints (which are well-defined points in the ... the thread class to a file (line 5) and creating a t

Programming Goals Model for Remanufacturing in ...
DIDC. The idle cost of the disassembly facility. RIDC. The idle cost of the remanufacturing facility. Yit. The delay Time of the component i. Yit = treatment duration ...