際際滷shows by User: kinghadi / http://www.slideshare.net/images/logo.gif 際際滷shows by User: kinghadi / Tue, 08 Aug 2023 21:04:32 GMT 際際滷Share feed for 際際滷shows by User: kinghadi Master Thesis - UBC.pptx /slideshow/master-thesis-ubcpptx/259735367 masterthesis-ubc-230808210432-f78871e6
Graph partitioning is a crucial problem for processing and analyzing large graphs. The two main classes of graph partitioners are in-memory partitioners and streaming partitioners. In-memory partitioners require that the entire graph be read into memory before being partitioned into some number, $k$, of partitions. Conversely, a streaming partitioner reads the graph one edge at a time and immediately places the source and destination vertices in a partition, unless they have already been placed. While in-memory partitioners produce higher-quality partitions, they require a large amount of memory and are slow, which makes them less practical for larger graphs. Streaming partitioners can partition large graphs quickly. However, since they lack more information about the overall graph, their placement decisions are not as good as in-memory partitioners, leading to lower-quality partitions. We implemented a two-phase partitioning algorithm (\texttt{2GP}) that combines the best of both worlds. \texttt{2GP} has two phases: first, it buffers a specific amount of an input graph and partitions it using an in-memory partitioner. Then, it partitions the remaining graph using a streaming partitioner. \texttt{2GP} achieves better partition quality than a state-of-the-art streaming partitioner with significantly better performance. We then show that re-ordering the input graph can improve partition quality still further, without taking significantly more time.]]>

Graph partitioning is a crucial problem for processing and analyzing large graphs. The two main classes of graph partitioners are in-memory partitioners and streaming partitioners. In-memory partitioners require that the entire graph be read into memory before being partitioned into some number, $k$, of partitions. Conversely, a streaming partitioner reads the graph one edge at a time and immediately places the source and destination vertices in a partition, unless they have already been placed. While in-memory partitioners produce higher-quality partitions, they require a large amount of memory and are slow, which makes them less practical for larger graphs. Streaming partitioners can partition large graphs quickly. However, since they lack more information about the overall graph, their placement decisions are not as good as in-memory partitioners, leading to lower-quality partitions. We implemented a two-phase partitioning algorithm (\texttt{2GP}) that combines the best of both worlds. \texttt{2GP} has two phases: first, it buffers a specific amount of an input graph and partitions it using an in-memory partitioner. Then, it partitions the remaining graph using a streaming partitioner. \texttt{2GP} achieves better partition quality than a state-of-the-art streaming partitioner with significantly better performance. We then show that re-ordering the input graph can improve partition quality still further, without taking significantly more time.]]>
Tue, 08 Aug 2023 21:04:32 GMT /slideshow/master-thesis-ubcpptx/259735367 kinghadi@slideshare.net(kinghadi) Master Thesis - UBC.pptx kinghadi Graph partitioning is a crucial problem for processing and analyzing large graphs. The two main classes of graph partitioners are in-memory partitioners and streaming partitioners. In-memory partitioners require that the entire graph be read into memory before being partitioned into some number, $k$, of partitions. Conversely, a streaming partitioner reads the graph one edge at a time and immediately places the source and destination vertices in a partition, unless they have already been placed. While in-memory partitioners produce higher-quality partitions, they require a large amount of memory and are slow, which makes them less practical for larger graphs. Streaming partitioners can partition large graphs quickly. However, since they lack more information about the overall graph, their placement decisions are not as good as in-memory partitioners, leading to lower-quality partitions. We implemented a two-phase partitioning algorithm (\texttt{2GP}) that combines the best of both worlds. \texttt{2GP} has two phases: first, it buffers a specific amount of an input graph and partitions it using an in-memory partitioner. Then, it partitions the remaining graph using a streaming partitioner. \texttt{2GP} achieves better partition quality than a state-of-the-art streaming partitioner with significantly better performance. We then show that re-ordering the input graph can improve partition quality still further, without taking significantly more time. <img style="border:1px solid #C3E6D8;float:right;" alt="" src="https://cdn.slidesharecdn.com/ss_thumbnails/masterthesis-ubc-230808210432-f78871e6-thumbnail.jpg?width=120&amp;height=120&amp;fit=bounds" /><br> Graph partitioning is a crucial problem for processing and analyzing large graphs. The two main classes of graph partitioners are in-memory partitioners and streaming partitioners. In-memory partitioners require that the entire graph be read into memory before being partitioned into some number, $k$, of partitions. Conversely, a streaming partitioner reads the graph one edge at a time and immediately places the source and destination vertices in a partition, unless they have already been placed. While in-memory partitioners produce higher-quality partitions, they require a large amount of memory and are slow, which makes them less practical for larger graphs. Streaming partitioners can partition large graphs quickly. However, since they lack more information about the overall graph, their placement decisions are not as good as in-memory partitioners, leading to lower-quality partitions. We implemented a two-phase partitioning algorithm (\texttt{2GP}) that combines the best of both worlds. \texttt{2GP} has two phases: first, it buffers a specific amount of an input graph and partitions it using an in-memory partitioner. Then, it partitions the remaining graph using a streaming partitioner. \texttt{2GP} achieves better partition quality than a state-of-the-art streaming partitioner with significantly better performance. We then show that re-ordering the input graph can improve partition quality still further, without taking significantly more time.
Master Thesis - UBC.pptx from Hadi Sinaee
]]>
26 0 https://cdn.slidesharecdn.com/ss_thumbnails/masterthesis-ubc-230808210432-f78871e6-thumbnail.jpg?width=120&height=120&fit=bounds presentation Black http://activitystrea.ms/schema/1.0/post http://activitystrea.ms/schema/1.0/posted 0
Application driven graph partitioning - SIGMOD'20 /slideshow/application-driven-graph-partitioning-sigmod20/249340873 applicationdrivengraphpartitioning-slideshare-210613180657
This is a presentation from a paper title "Application Driven Graph Partitioning" published in SIGMOD 2020 presented at the weekly reading group at Systopia Lab at UBC. Link: https://dl.acm.org/doi/abs/10.1145/3318464.3389745 Abstract: Graph partitioning is crucial to parallel computations on large graphs. The choice of partitioning strategies has strong impact on not only the performance of graph algorithms, but also the design of the algorithms. For an algorithm of our interest, what partitioning strategy fits it the best and improves its parallel execution? Is it possible to develop graph algorithms with partition transparency, such that the algorithms work under different partitions without changes? This paper aims to answer these questions. We propose an application-driven hybrid partitioning strategy that, given a graph algorithm A, learns a cost model for A as polynomial regression. We develop partitioners that given the learned cost model, refine an edge-cut or vertex-cut partition to a hybrid partition and reduce the parallel cost of A. Moreover, we identify a general condition under which graph-centric algorithms are partition transparent. We show that a number of graph algorithms can be made partition transparent. Using real-life and synthetic graphs, we experimentally verify that our partitioning strategy improves the performance of a variety of graph computations, up to 22.5 times.]]>

This is a presentation from a paper title "Application Driven Graph Partitioning" published in SIGMOD 2020 presented at the weekly reading group at Systopia Lab at UBC. Link: https://dl.acm.org/doi/abs/10.1145/3318464.3389745 Abstract: Graph partitioning is crucial to parallel computations on large graphs. The choice of partitioning strategies has strong impact on not only the performance of graph algorithms, but also the design of the algorithms. For an algorithm of our interest, what partitioning strategy fits it the best and improves its parallel execution? Is it possible to develop graph algorithms with partition transparency, such that the algorithms work under different partitions without changes? This paper aims to answer these questions. We propose an application-driven hybrid partitioning strategy that, given a graph algorithm A, learns a cost model for A as polynomial regression. We develop partitioners that given the learned cost model, refine an edge-cut or vertex-cut partition to a hybrid partition and reduce the parallel cost of A. Moreover, we identify a general condition under which graph-centric algorithms are partition transparent. We show that a number of graph algorithms can be made partition transparent. Using real-life and synthetic graphs, we experimentally verify that our partitioning strategy improves the performance of a variety of graph computations, up to 22.5 times.]]>
Sun, 13 Jun 2021 18:06:57 GMT /slideshow/application-driven-graph-partitioning-sigmod20/249340873 kinghadi@slideshare.net(kinghadi) Application driven graph partitioning - SIGMOD'20 kinghadi This is a presentation from a paper title "Application Driven Graph Partitioning" published in SIGMOD 2020 presented at the weekly reading group at Systopia Lab at UBC. Link: https://dl.acm.org/doi/abs/10.1145/3318464.3389745 Abstract: Graph partitioning is crucial to parallel computations on large graphs. The choice of partitioning strategies has strong impact on not only the performance of graph algorithms, but also the design of the algorithms. For an algorithm of our interest, what partitioning strategy fits it the best and improves its parallel execution? Is it possible to develop graph algorithms with partition transparency, such that the algorithms work under different partitions without changes? This paper aims to answer these questions. We propose an application-driven hybrid partitioning strategy that, given a graph algorithm A, learns a cost model for A as polynomial regression. We develop partitioners that given the learned cost model, refine an edge-cut or vertex-cut partition to a hybrid partition and reduce the parallel cost of A. Moreover, we identify a general condition under which graph-centric algorithms are partition transparent. We show that a number of graph algorithms can be made partition transparent. Using real-life and synthetic graphs, we experimentally verify that our partitioning strategy improves the performance of a variety of graph computations, up to 22.5 times. <img style="border:1px solid #C3E6D8;float:right;" alt="" src="https://cdn.slidesharecdn.com/ss_thumbnails/applicationdrivengraphpartitioning-slideshare-210613180657-thumbnail.jpg?width=120&amp;height=120&amp;fit=bounds" /><br> This is a presentation from a paper title &quot;Application Driven Graph Partitioning&quot; published in SIGMOD 2020 presented at the weekly reading group at Systopia Lab at UBC. Link: https://dl.acm.org/doi/abs/10.1145/3318464.3389745 Abstract: Graph partitioning is crucial to parallel computations on large graphs. The choice of partitioning strategies has strong impact on not only the performance of graph algorithms, but also the design of the algorithms. For an algorithm of our interest, what partitioning strategy fits it the best and improves its parallel execution? Is it possible to develop graph algorithms with partition transparency, such that the algorithms work under different partitions without changes? This paper aims to answer these questions. We propose an application-driven hybrid partitioning strategy that, given a graph algorithm A, learns a cost model for A as polynomial regression. We develop partitioners that given the learned cost model, refine an edge-cut or vertex-cut partition to a hybrid partition and reduce the parallel cost of A. Moreover, we identify a general condition under which graph-centric algorithms are partition transparent. We show that a number of graph algorithms can be made partition transparent. Using real-life and synthetic graphs, we experimentally verify that our partitioning strategy improves the performance of a variety of graph computations, up to 22.5 times.
Application driven graph partitioning - SIGMOD'20 from Hadi Sinaee
]]>
185 0 https://cdn.slidesharecdn.com/ss_thumbnails/applicationdrivengraphpartitioning-slideshare-210613180657-thumbnail.jpg?width=120&height=120&fit=bounds presentation Black http://activitystrea.ms/schema/1.0/post http://activitystrea.ms/schema/1.0/posted 0
A Quick Guide to Scrum /slideshow/a-quick-guide-to-scrum/79516586 scrumworkshop-v1-170907084433
How to apply "Scrum Framework" to your project management. It was a 5-6 hours workshop talking about the experiences and best practices about Scrum.]]>

How to apply "Scrum Framework" to your project management. It was a 5-6 hours workshop talking about the experiences and best practices about Scrum.]]>
Thu, 07 Sep 2017 08:44:33 GMT /slideshow/a-quick-guide-to-scrum/79516586 kinghadi@slideshare.net(kinghadi) A Quick Guide to Scrum kinghadi How to apply "Scrum Framework" to your project management. It was a 5-6 hours workshop talking about the experiences and best practices about Scrum. <img style="border:1px solid #C3E6D8;float:right;" alt="" src="https://cdn.slidesharecdn.com/ss_thumbnails/scrumworkshop-v1-170907084433-thumbnail.jpg?width=120&amp;height=120&amp;fit=bounds" /><br> How to apply &quot;Scrum Framework&quot; to your project management. It was a 5-6 hours workshop talking about the experiences and best practices about Scrum.
A Quick Guide to Scrum from Hadi Sinaee
]]>
316 7 https://cdn.slidesharecdn.com/ss_thumbnails/scrumworkshop-v1-170907084433-thumbnail.jpg?width=120&height=120&fit=bounds presentation Black http://activitystrea.ms/schema/1.0/post http://activitystrea.ms/schema/1.0/posted 0
RBM from Scratch /slideshow/rbm-from-scratch/50124032 rbm-150703072830-lva1-app6892
This is my presentation about RBMs for the PGM course]]>

This is my presentation about RBMs for the PGM course]]>
Fri, 03 Jul 2015 07:28:30 GMT /slideshow/rbm-from-scratch/50124032 kinghadi@slideshare.net(kinghadi) RBM from Scratch kinghadi This is my presentation about RBMs for the PGM course <img style="border:1px solid #C3E6D8;float:right;" alt="" src="https://cdn.slidesharecdn.com/ss_thumbnails/rbm-150703072830-lva1-app6892-thumbnail.jpg?width=120&amp;height=120&amp;fit=bounds" /><br> This is my presentation about RBMs for the PGM course
RBM from Scratch from Hadi Sinaee
]]>
569 4 https://cdn.slidesharecdn.com/ss_thumbnails/rbm-150703072830-lva1-app6892-thumbnail.jpg?width=120&height=120&fit=bounds presentation 000000 http://activitystrea.ms/schema/1.0/post http://activitystrea.ms/schema/1.0/posted 0
Distinctive image features from scale invariant keypoint /slideshow/distinctive-image-features-from-scale-invariant-keypoint/34885721 distinctiveimagefeaturesfromscaleinvariantkeypoint-140519232724-phpapp02
This my presentation about SIFT features at Sharif University of technology, Tehran, Iran. This presented in Machine Vision Course offered by Dr. M.Jamzad. The presentation contains animations and it can not play properly! Please send e-mail to get the original one: sinaee@ce.sharif.ir]]>

This my presentation about SIFT features at Sharif University of technology, Tehran, Iran. This presented in Machine Vision Course offered by Dr. M.Jamzad. The presentation contains animations and it can not play properly! Please send e-mail to get the original one: sinaee@ce.sharif.ir]]>
Mon, 19 May 2014 23:27:24 GMT /slideshow/distinctive-image-features-from-scale-invariant-keypoint/34885721 kinghadi@slideshare.net(kinghadi) Distinctive image features from scale invariant keypoint kinghadi This my presentation about SIFT features at Sharif University of technology, Tehran, Iran. This presented in Machine Vision Course offered by Dr. M.Jamzad. The presentation contains animations and it can not play properly! Please send e-mail to get the original one: sinaee@ce.sharif.ir <img style="border:1px solid #C3E6D8;float:right;" alt="" src="https://cdn.slidesharecdn.com/ss_thumbnails/distinctiveimagefeaturesfromscaleinvariantkeypoint-140519232724-phpapp02-thumbnail.jpg?width=120&amp;height=120&amp;fit=bounds" /><br> This my presentation about SIFT features at Sharif University of technology, Tehran, Iran. This presented in Machine Vision Course offered by Dr. M.Jamzad. The presentation contains animations and it can not play properly! Please send e-mail to get the original one: sinaee@ce.sharif.ir
Distinctive image features from scale invariant keypoint from Hadi Sinaee
]]>
1119 2 https://cdn.slidesharecdn.com/ss_thumbnails/distinctiveimagefeaturesfromscaleinvariantkeypoint-140519232724-phpapp02-thumbnail.jpg?width=120&height=120&fit=bounds presentation White http://activitystrea.ms/schema/1.0/post http://activitystrea.ms/schema/1.0/posted 0
https://cdn.slidesharecdn.com/profile-photo-kinghadi-48x48.jpg?cb=1692993519 hadisinaee.github.io https://cdn.slidesharecdn.com/ss_thumbnails/masterthesis-ubc-230808210432-f78871e6-thumbnail.jpg?width=320&height=320&fit=bounds slideshow/master-thesis-ubcpptx/259735367 Master Thesis - UBC.pptx https://cdn.slidesharecdn.com/ss_thumbnails/applicationdrivengraphpartitioning-slideshare-210613180657-thumbnail.jpg?width=320&height=320&fit=bounds slideshow/application-driven-graph-partitioning-sigmod20/249340873 Application driven gra... https://cdn.slidesharecdn.com/ss_thumbnails/scrumworkshop-v1-170907084433-thumbnail.jpg?width=320&height=320&fit=bounds slideshow/a-quick-guide-to-scrum/79516586 A Quick Guide to Scrum