parallel backtracking with answer memoing for independent
play

Parallel Backtracking with Answer Memoing for Independent - PowerPoint PPT Presentation

Parallel Backtracking with Answer Memoing for Independent And-Parallelism Pablo Chico de Guzman 1 Amadeo Casas 2 Manuel Carro 1 , 3 Manuel V. Hermenegildo 1 , 3 1 School of Computer Science, Technical University of Madrid, Spain 2 Samsung Research,


  1. Parallel Backtracking with Answer Memoing for Independent And-Parallelism Pablo Chico de Guzman 1 Amadeo Casas 2 Manuel Carro 1 , 3 Manuel V. Hermenegildo 1 , 3 1 School of Computer Science, Technical University of Madrid, Spain 2 Samsung Research, USA 3 IMDEA Software Institute, Spain ICLP 2011 Lexington, KY – July 7, 2011 Pablo Chico de Guzman et al (UPM) Parallel Backtracking with Answer. . . ICLP 2011 - Lexington, KY 1 / 16

  2. Introduction and Motivation Introduction Two main sources of parallelism in LP: ◮ OR-Parallelism: Aurora, MUSE, etc. ◮ AND-Parallelism: &-Prolog, DDAS, etc. ◮ Both: (&)ACE, AKL, Andorra-I, EAM, etc. Classical approach in Independent AND-Parallelism (IAP): ◮ Conery approach: ⋆ Copying goals overhead. ⋆ Nonterminating programs. ◮ Recomputation + sequential backtracking. Saves memory and preserves sequential semantics, but... ⋆ Recomputation can be inefficient. ⋆ Sequential backtracking limits parallelism. Pablo Chico de Guzman et al (UPM) Parallel Backtracking with Answer. . . ICLP 2011 - Lexington, KY 2 / 16

  3. Introduction and Motivation Classical approach in IAP Example (Traditional IAP execution - main1 vs. main2) main1(X, Y) :- main2(X, Y) :- g1(X), g2(Y). g1(X) & g2(Y). g1(X) :- X=1, work(2). g2(Y) :- Y=1, work(2). g1(X) :- X=2, work(10). g2(Y) :- Y=2, work(5). g2(Y) :- Y=3, work(5). Pablo Chico de Guzman et al (UPM) Parallel Backtracking with Answer. . . ICLP 2011 - Lexington, KY 3 / 16

  4. Introduction and Motivation Classical approach in IAP Example (Traditional IAP execution - main1 vs. main2) main1(X, Y) :- main2(X, Y) :- g1(X) , g2(Y). g1(X) & g2(Y). g1(X) :- X=1, work(2). g2(Y) :- Y=1, work(2). g1(X) :- X=2, work(10). g2(Y) :- Y=2, work(5). g2(Y) :- Y=3, work(5). g 1 ���� Time main 1 = 2 Pablo Chico de Guzman et al (UPM) Parallel Backtracking with Answer. . . ICLP 2011 - Lexington, KY 3 / 16

  5. Introduction and Motivation Classical approach in IAP Example (Traditional IAP execution - main1 vs. main2) main1(X, Y) :- main2(X, Y) :- g1(X), g2(Y). g1(X) & g2(Y). g1(X) :- X=1, work(2). g2(Y) :- Y=1, work(2). g1(X) :- X=2, work(10). g2(Y) :- Y=2, work(5). g2(Y) :- Y=3, work(5). g 2 g 1 ���� ���� Time main 1 = 2 + (2) Pablo Chico de Guzman et al (UPM) Parallel Backtracking with Answer. . . ICLP 2011 - Lexington, KY 3 / 16

  6. Introduction and Motivation Classical approach in IAP Example (Traditional IAP execution - main1 vs. main2) main1(X, Y) :- main2(X, Y) :- g1(X), g2(Y). g1(X) & g2(Y). g1(X) :- X=1, work(2). g2(Y) :- Y=1, work(2). g1(X) :- X=2, work(10). g2(Y) :- Y=2, work(5). g2(Y) :- Y=3, work(5). g 2 g 1 � �� � ���� Time main 1 = 2 + (2 + 5) Pablo Chico de Guzman et al (UPM) Parallel Backtracking with Answer. . . ICLP 2011 - Lexington, KY 3 / 16

  7. Introduction and Motivation Classical approach in IAP Example (Traditional IAP execution - main1 vs. main2) main1(X, Y) :- main2(X, Y) :- g1(X), g2(Y). g1(X) & g2(Y). g1(X) :- X=1, work(2). g2(Y) :- Y=1, work(2). g1(X) :- X=2, work(10). g2(Y) :- Y=2, work(5). g2(Y) :- Y=3, work(5). g 2 g 1 � �� � ���� Time main 1 = 2 + (2 + 5 + 5) Pablo Chico de Guzman et al (UPM) Parallel Backtracking with Answer. . . ICLP 2011 - Lexington, KY 3 / 16

  8. Introduction and Motivation Classical approach in IAP Example (Traditional IAP execution - main1 vs. main2) main1(X, Y) :- main2(X, Y) :- g1(X) , g2(Y). g1(X) & g2(Y). g1(X) :- X=1, work(2). g2(Y) :- Y=1, work(2). g1(X) :- X=2, work(10). g2(Y) :- Y=2, work(5). g2(Y) :- Y=3, work(5). g 2 g 1 g 1 � �� � ���� ���� Time main 1 = 2 + (2 + 5 + 5) + 10 Pablo Chico de Guzman et al (UPM) Parallel Backtracking with Answer. . . ICLP 2011 - Lexington, KY 3 / 16

  9. Introduction and Motivation Classical approach in IAP Example (Traditional IAP execution - main1 vs. main2) main1(X, Y) :- main2(X, Y) :- g1(X), g2(Y) . g1(X) & g2(Y). g1(X) :- X=1, work(2). g2(Y) :- Y=1, work(2). g1(X) :- X=2, work(10). g2(Y) :- Y=2, work(5). g2(Y) :- Y=3, work(5). g 2 g 2 g 1 g 1 � �� � ���� ���� ���� Time main 1 = 2 + (2 + 5 + 5) + 10 + (2) Pablo Chico de Guzman et al (UPM) Parallel Backtracking with Answer. . . ICLP 2011 - Lexington, KY 3 / 16

  10. Introduction and Motivation Classical approach in IAP Example (Traditional IAP execution - main1 vs. main2) main1(X, Y) :- main2(X, Y) :- g1(X), g2(Y) . g1(X) & g2(Y). g1(X) :- X=1, work(2). g2(Y) :- Y=1, work(2). g1(X) :- X=2, work(10). g2(Y) :- Y=2, work(5). g2(Y) :- Y=3, work(5). g 2 g 2 g 1 g 1 � �� � � �� � ���� ���� Time main 1 = 2 + (2 + 5 + 5) + 10 + (2 + 5) Pablo Chico de Guzman et al (UPM) Parallel Backtracking with Answer. . . ICLP 2011 - Lexington, KY 3 / 16

  11. Introduction and Motivation Classical approach in IAP Example (Traditional IAP execution - main1 vs. main2) main1(X, Y) :- main2(X, Y) :- g1(X), g2(Y) . g1(X) & g2(Y). g1(X) :- X=1, work(2). g2(Y) :- Y=1, work(2). g1(X) :- X=2, work(10). g2(Y) :- Y=2, work(5). g2(Y) :- Y=3, work(5). g 2 g 2 g 1 g 1 � �� � � �� � ���� ���� Time main 1 = 2 + (2 + 5 + 5) + 10 + (2 + 5 + 5) = 36 secs. Pablo Chico de Guzman et al (UPM) Parallel Backtracking with Answer. . . ICLP 2011 - Lexington, KY 3 / 16

  12. Introduction and Motivation Classical approach in IAP Example (Traditional IAP execution - main1 vs. main2) main1(X, Y) :- main2(X, Y) :- g1(X), g2(Y). g1(X) & g2(Y) . g1(X) :- X=1, work(2). g2(Y) :- Y=1, work(2). g1(X) :- X=2, work(10). g2(Y) :- Y=2, work(5). g2(Y) :- Y=3, work(5). g 2 g 2 g 1 g 1 � �� � � �� � ���� ���� Time main 1 = 2 + (2 + 5 + 5) + 10 + (2 + 5 + 5) = 36 secs. g 1& g 2 � �� � Time main 2 = max (2 , 2) Pablo Chico de Guzman et al (UPM) Parallel Backtracking with Answer. . . ICLP 2011 - Lexington, KY 3 / 16

  13. Introduction and Motivation Classical approach in IAP Example (Traditional IAP execution - main1 vs. main2) main1(X, Y) :- main2(X, Y) :- g1(X), g2(Y). g1(X) & g2(Y) . g1(X) :- X=1, work(2). g2(Y) :- Y=1, work(2). g1(X) :- X=2, work(10). g2(Y) :- Y=2, work(5). g2(Y) :- Y=3, work(5). g 2 g 2 g 1 g 1 � �� � � �� � ���� ���� Time main 1 = 2 + (2 + 5 + 5) + 10 + (2 + 5 + 5) = 36 secs. g 1& g 2 g 2 � �� � ���� Time main 2 = max (2 , 2) + (5) Pablo Chico de Guzman et al (UPM) Parallel Backtracking with Answer. . . ICLP 2011 - Lexington, KY 3 / 16

  14. Introduction and Motivation Classical approach in IAP Example (Traditional IAP execution - main1 vs. main2) main1(X, Y) :- main2(X, Y) :- g1(X), g2(Y). g1(X) & g2(Y) . g1(X) :- X=1, work(2). g2(Y) :- Y=1, work(2). g1(X) :- X=2, work(10). g2(Y) :- Y=2, work(5). g2(Y) :- Y=3, work(5). g 2 g 2 g 1 g 1 � �� � � �� � ���� ���� Time main 1 = 2 + (2 + 5 + 5) + 10 + (2 + 5 + 5) = 36 secs. g 1& g 2 g 2 � �� � � �� � Time main 2 = max (2 , 2) + (5 + 5) Pablo Chico de Guzman et al (UPM) Parallel Backtracking with Answer. . . ICLP 2011 - Lexington, KY 3 / 16

  15. Introduction and Motivation Classical approach in IAP Example (Traditional IAP execution - main1 vs. main2) main1(X, Y) :- main2(X, Y) :- g1(X), g2(Y). g1(X) & g2(Y) . g1(X) :- X=1, work(2). g2(Y) :- Y=1, work(2). g1(X) :- X=2, work(10). g2(Y) :- Y=2, work(5). g2(Y) :- Y=3, work(5). g 2 g 2 g 1 g 1 � �� � � �� � ���� ���� Time main 1 = 2 + (2 + 5 + 5) + 10 + (2 + 5 + 5) = 36 secs. g 1& g 2 g 2 g 1& g 2 � �� � � �� � � �� � Time main 2 = max (2 , 2) + (5 + 5) + max (10 , 2) Pablo Chico de Guzman et al (UPM) Parallel Backtracking with Answer. . . ICLP 2011 - Lexington, KY 3 / 16

  16. Introduction and Motivation Classical approach in IAP Example (Traditional IAP execution - main1 vs. main2) main1(X, Y) :- main2(X, Y) :- g1(X), g2(Y). g1(X) & g2(Y) . g1(X) :- X=1, work(2). g2(Y) :- Y=1, work(2). g1(X) :- X=2, work(10). g2(Y) :- Y=2, work(5). g2(Y) :- Y=3, work(5). g 2 g 2 g 1 g 1 � �� � � �� � ���� ���� Time main 1 = 2 + (2 + 5 + 5) + 10 + (2 + 5 + 5) = 36 secs. g 1& g 2 g 2 g 1& g 2 g 2 � �� � � �� � � �� � ���� Time main 2 = max (2 , 2) + (5 + 5) + max (10 , 2) + (5) Pablo Chico de Guzman et al (UPM) Parallel Backtracking with Answer. . . ICLP 2011 - Lexington, KY 3 / 16

  17. Introduction and Motivation Classical approach in IAP Example (Traditional IAP execution - main1 vs. main2) main1(X, Y) :- main2(X, Y) :- g1(X), g2(Y). g1(X) & g2(Y) . g1(X) :- X=1, work(2). g2(Y) :- Y=1, work(2). g1(X) :- X=2, work(10). g2(Y) :- Y=2, work(5). g2(Y) :- Y=3, work(5). g 2 g 2 g 1 g 1 � �� � � �� � ���� ���� Time main 1 = 2 + (2 + 5 + 5) + 10 + (2 + 5 + 5) = 36 secs. g 1& g 2 g 2 g 1& g 2 g 2 � �� � � �� � � �� � � �� � Time main 2 = max (2 , 2) + (5 + 5) + max (10 , 2) + (5 + 5) = 32 secs. Speedup = 1.12 . Can we do better? Pablo Chico de Guzman et al (UPM) Parallel Backtracking with Answer. . . ICLP 2011 - Lexington, KY 3 / 16

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend