constraint programming
play

Constraint Programming 1. Introduction MapReduced 2. Related Work - PowerPoint PPT Presentation

Constraint Programming MapReduced Nikolaos Pothitos, Panagiotis Stamatopoulos Constraint Programming 1. Introduction MapReduced 2. Related Work 3. Our Search Tree Partitioning Schema Nikolaos Pothitos Panagiotis Stamatopoulos


  1. Constraint Programming MapReduce’d Nikolaos Pothitos, Panagiotis Stamatopoulos Constraint Programming 1. Introduction MapReduce’d 2. Related Work 3. Our Search Tree Partitioning Schema Nikolaos Pothitos Panagiotis Stamatopoulos 4. Experiments Department of Informatics and Telecommunications National and Kapodistrian University of Athens 1/20

  2. Constraint Outline Programming MapReduce’d Nikolaos Pothitos, Panagiotis 1. Introduction Stamatopoulos ◮ MapReduce 1. Introduction ◮ Constraint Programming 2. Related Work 3. Our Search Tree 2. Related Work Partitioning Schema ◮ Search Tree Partitioning 4. Experiments 3. Our Search Tree Partitioning Schema 4. Experiments etc. 2/20

  3. Constraint MapReduce Word-Count Application Programming MapReduce’d Nikolaos Pothitos, Panagiotis ◮ We are given a large text Stamatopoulos ◮ Count each word’s occurrences 1. Introduction 2. Related Work ◮ Workers 3. Our Search Tree ◮ Are either Mappers or Reducers Partitioning Schema ◮ Distributed or run in parallel 4. Experiments 3/20

  4. Constraint MapReduce Word-Count Application Programming MapReduce’d Nikolaos Pothitos, Panagiotis ◮ Each Mapper assigned a text part Stamatopoulos ◮ Mapper’s output: � key , result � tuples 1. Introduction 2. Related Work ◮ Each � key , result � sent to a Reducer 3. Our Search Tree Partitioning ◮ A Reducer processes all the tuples with the same key Schema 4. Experiments 4/20

  5. Constraint MapReduce Word-Count Example Programming MapReduce’d Nikolaos Pothitos, ◮ Let the input content be Panagiotis Stamatopoulos ◮ “ design is not just what it looks and it feels like ; design is how it works ” 1. Introduction 2. Related Work ◮ Text distributed to two Mappers 3. Our Search Tree 1. “ design is not just what it looks and it feels like ” Partitioning Schema 2. “ design is how it works ” 4. Experiments ◮ Mappers’ output (word counters) 1. � design , 1 � , � is , 1 � , � not , 1 � , � just , 1 � , � what , 1 � , � it , 2 � , � looks , 1 � , � and , 1 � , � feels , 1 � , � like , 1 � . 2. � design , 1 � , � is , 1 � , � how , 1 � , � it , 1 � , � works , 1 � . ◮ Each key corresponds to a Reducer ◮ Two Reducers’ output (word counters) 1. � and , 1 � , � design , 2 � , � feels , 1 � , � how , 1 � , � is , 2 � , � it , 3 � , � just , 1 � , � like , 1 � , � looks , 1 � . 2. � not , 1 � , � what , 1 � , � works , 1 � . 5/20

  6. Constraint Constraint Programming Programming MapReduce’d Nikolaos Pothitos, ◮ Constraint Programming includes two phases Panagiotis Stamatopoulos 1. The Constraint Satisfaction Problem definition 1. Introduction 2. The CSP independent solution phase 2. Related Work 3. Our Search Tree Partitioning Schema 4. Experiments 6/20

  7. Constraint Solution Phase Programming MapReduce’d Nikolaos Pothitos, Panagiotis ◮ Includes a search tree exploration Stamatopoulos ◮ Search trees can be huge 1. Introduction 2. Related Work ◮ Parallelization of exploration is necessary 3. Our Search Tree Partitioning Schema 4. Experiments 7/20

  8. Constraint Related Work Programming MapReduce’d Nikolaos Pothitos, Panagiotis ◮ Work Stealing Stamatopoulos ◮ SelfSplit 1. Introduction 2. Related Work ◮ Embarrassingly Parallel Search 3. Our Search Tree Partitioning Schema 4. Experiments 8/20

  9. Constraint An Ordinary Search Tree Programming MapReduce’d Nikolaos Pothitos, Panagiotis Stamatopoulos 1 1. Introduction 2. Related Work 2 13 18 24 3. Our Search Tree 3 9 14 19 23 25 31 Partitioning Schema 4. Experiments 4 7 10 15 20 26 28 32 34 5 6 8 11 12 16 17 21 22 27 29 30 33 35 36 9/20

  10. Constraint A Top-Down Search Tree Splitting Programming MapReduce’d Nikolaos Pothitos, Panagiotis Stamatopoulos 1 1. Introduction 2. Related Work 2 13 18 24 3. Our Search Tree 3 9 14 19 23 25 31 Partitioning Schema 4. Experiments 4 7 10 15 20 26 28 32 34 5 6 8 11 12 16 17 21 22 27 29 30 33 35 36 10/20

  11. Constraint Optimum Search Tree Nodes Splitting Programming MapReduce’d Nikolaos Pothitos, Panagiotis Stamatopoulos 1 2 3 4 5 6 7 8 9 1. Introduction 2. Related Work 3. Our Search 10 11 12 13 14 15 16 17 18 Tree Partitioning Schema 19 20 21 22 23 24 25 26 27 4. Experiments 28 29 30 31 32 33 34 35 36 11/20

  12. Constraint Sampling Search Tree Nodes Series Programming MapReduce’d Nikolaos Pothitos, Panagiotis Stamatopoulos 1 2 3 4 5 6 7 8 9 1. Introduction 2. Related Work 3. Our Search 10 13 14 18 Tree Partitioning Schema 4. Experiments 21 24 25 26 28 29 30 31 ◮ The starred nodes are sampled ◮ Their subtrees are also sampled ◮ We can easily split them ◮ without visiting them all 12/20

  13. Constraint Experiments Programming MapReduce’d Nikolaos Pothitos, Panagiotis ◮ Cluster creation in the cloud Stamatopoulos ◮ in ~okeanos GRnet cloud infrastructure 1. Introduction 2. Related Work ◮ Hadoop installed in eight VMs 3. Our Search Tree Partitioning ◮ One master and seven slaves Schema 4. Experiments ◮ VMs equivalent to commodity machines 13/20

  14. Constraint N Queens Programming MapReduce’d Nikolaos Pothitos, ◮ Attempt to gather all solutions Panagiotis Stamatopoulos ◮ 2,279,184 solutions for 15 Queens 1. Introduction ◮ 14,772,512 solutions for 16 Queens 2. Related Work 3. Our Search ◮ 95,815,104 solutions for 17 Queens Tree Partitioning Schema 4. Experiments 14/20

  15. Constraint Speedup for N Queens Programming MapReduce’d Nikolaos Pothitos, 7 Panagiotis 15 Queens 6 Stamatopoulos 5 4 1. Introduction 32 64 128 256 512 2. Related Work 3. Our Search Tree 18 Speedup Partitioning 15 Schema 16 Queens 12 4. Experiments 9 32 64 128 256 512 32 24 17 Queens 16 8 32 64 128 256 512 Mappers 15/20

  16. Constraint Mappers Run Simultaneously Programming MapReduce’d Nikolaos Pothitos, Panagiotis ◮ Each machine has eight cores Stamatopoulos ◮ Each core cannot execute two Mappers simultaneously 1. Introduction 2. Related Work ◮ At most 64 Mappers run simultaneously 3. Our Search Tree Partitioning ◮ We may spawn more than 64 Mappers Schema 4. Experiments 16/20

  17. Constraint N Number Partitioning Programming MapReduce’d Nikolaos Pothitos, Panagiotis ◮ Split the set { 1 , 2 , . . . , N } Stamatopoulos ◮ The two splits are disjoint 1. Introduction 2. Related Work ◮ with equal cardinality and 3. Our Search Tree Partitioning � � i = i ◮ Schema 4. Experiments i ∈ S 1 i ∈ S 2 i 2 = � � i 2 ◮ i ∈ S 1 i ∈ S 2 17/20

  18. Constraint Speedup for N Number Partitioning Programming MapReduce’d Nikolaos Pothitos, 8 N =40 Partitioning Panagiotis 7 Stamatopoulos 6 5 4 1. Introduction 32 64 128 256 512 2. Related Work 3. Our Search Tree 25 Speedup Partitioning 20 Schema N =44 Partitioning 15 4. Experiments 10 32 64 128 256 512 40 32 N =48 Partitioning 24 16 8 32 64 128 256 512 Mappers 18/20

  19. Constraint Conclusions and Future Work Programming MapReduce’d Nikolaos Pothitos, Panagiotis ◮ Constraint Programming to MapReduce adaptation Stamatopoulos ◮ MapReduce parallelization/distribution capabilities 1. Introduction exploitation 2. Related Work 3. Our Search Tree ◮ Tree sampling vs. top-down splitting Partitioning Schema ◮ In future, investigate Constraint Optimization 4. Experiments ◮ Reducers will gather best solutions 19/20

  20. Constraint References Programming MapReduce’d Nikolaos Pothitos, J. Dean and S. Ghemawat. Panagiotis Stamatopoulos MapReduce: Simplified data processing on large clusters. 1. Introduction In OSDI 2004 , pages 137–149, 2004. 2. Related Work 3. Our Search J.-C. R´ egin, M. Rezgui, and A. Malapert. Tree Partitioning Embarrassingly parallel search. Schema In C. Schulte, editor, CP 2013 , volume 8124 of LNCS , 4. Experiments pages 596–610. Springer, Berlin Heidelberg, 2013. G. Chu, C. Schulte, and P. J. Stuckey. Confidence-based work stealing in parallel constraint programming. In I. P. Gent, editor, CP 2009 , volume 5732 of LNCS , pages 226–241. Springer, Berlin Heidelberg, 2009. 20/20

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