SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
Parallel Community Detection for Massive
Graphs
E. Jason Riedy, Henning Meyerhenke, David Ediger, and
David A. Bader

                                        14 February 2012
Exascale data analysis



              Health care Finding outbreaks, population epidemiology
        Social networks Advertising, searching, grouping
              Intelligence Decisions at scale, regulating algorithms
       Systems biology Understanding interactions, drug design
               Power grid Disruptions, conservation
               Simulation Discrete events, cracking meshes

           • Graph clustering is common in all application areas.




10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy   2/35
These are not easy graphs.
                                Yifan Hu’s (AT&T) visualization of the in-2004 data set
                               http://www2.research.att.com/~yifanhu/gallery.html




10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy                      3/35
But no shortage of structure...




          Protein interactions, Giot et al., “A Protein
          Interaction Map of Drosophila melanogaster”,
                                                                       Jason’s network via LinkedIn Labs
          Science 302, 1722-1736, 2003.



           • Locally, there are clusters or communities.
           • First pass over a massive social graph:
                • Find smaller communities of interest.
                • Analyze / visualize top-ranked communities.
           • Our part: Community detection at massive scale. (Or kinda
              large, given available data.)
10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy                                       4/35
Outline


       Motivation

       Shooting for massive graphs

       Our parallel method

       Implementation and platform details

       Performance

       Conclusions and plans



10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy   5/35
Can we tackle massive graphs now?
       Parallel, of course...
           • Massive needs distributed memory, right?
           • Well... Not really. Can buy a 2 TiB Intel-based Dell server
              on-line for around $200k USD, a 1.5 TiB from IBM, etc.




                                                  Image: dell.com.

                           Not an endorsement, just evidence!
           • Publicly available “real-world” data fits...
           • Start with shared memory to see what needs done.
           • Specialized architectures provide larger shared-memory views
              over distributed implementations (e.g. Cray XMT).
10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy        6/35
Designing for parallel algorithms

       What should we avoid in algorithms?
       Rules of thumb:
           • “We order the vertices (or edges) by...” unless followed by
              bisecting searches.
           • “We look at a region of size more than two steps...” Many
             target massive graphs have diameter of ≈ 20. More than two
             steps swallows much of the graph.
                                                ˜
           • “Our algorithm requires more than O(|E|/#)...” Massive
             means you hit asymptotic bounds, and |E| is plenty of work.
           • “For each vertex, we do something sequential...” The few
              high-degree vertices will be large bottlenecks.
       Remember: Rules of thumb can be broken with reason.



10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy       7/35
Designing for parallel implementations

       What should we avoid in implementations?
       Rules of thumb:
           • Scattered memory accesses through traditional sparse matrix
              representations like CSR. Use your cache lines.
         idx: 32b    idx: 32b    ...
                                                 idx1: 32b    idx2: 32b   val1: 64b   val2: 64b   ...
         val: 64b       val: 64b       ...


           • Using too much memory, which is a painful trade-off with
              parallelism. Think Fortran and workspace...
           • Synchronizing too often. There will be work imbalance; try to
              use the imbalance to reduce “hot-spotting” on locks or cache
              lines.
       Remember: Rules of thumb can be broken with reason. Some of
       these help when extending to PGAS / message-passing.


10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy                                    8/35
Sequential agglomerative method


                                                 • A common method (e.g. Clauset,
                                                     Newman, & Moore) agglomerates
       A                  C                          vertices into communities.
                                                 • Each vertex begins in its own
                     B                               community.
       D                                         • An edge is chosen to contract.
                                  E                  • Merging maximally increases
                                                       modularity.
            G                                        • Priority queue.
                         F
                                                 • Known often to fall into an O(n2 )
                                                     performance trap with
                                                     modularity (Wakita & Tsurumi).



10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy                    9/35
Sequential agglomerative method


                                                 • A common method (e.g. Clauset,
                                                     Newman, & Moore) agglomerates
       A                  C                          vertices into communities.
                                                 • Each vertex begins in its own
                     B                               community.
       D                                         • An edge is chosen to contract.
                                  E                  • Merging maximally increases
                                                       modularity.
            G                                        • Priority queue.
                         F
                                                 • Known often to fall into an O(n2 )
                                                     performance trap with
                                                     modularity (Wakita & Tsurumi).



10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy                    10/35
Sequential agglomerative method


                                                 • A common method (e.g. Clauset,
                                                     Newman, & Moore) agglomerates
       A                  C                          vertices into communities.
                                                 • Each vertex begins in its own
                     B                               community.
       D                                         • An edge is chosen to contract.
                                  E                  • Merging maximally increases
                                                       modularity.
            G                                        • Priority queue.
                         F
                                                 • Known often to fall into an O(n2 )
                                                     performance trap with
                                                     modularity (Wakita & Tsurumi).



10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy                    11/35
Sequential agglomerative method


                                                 • A common method (e.g. Clauset,
                                                     Newman, & Moore) agglomerates
       A                  C                          vertices into communities.
                                                 • Each vertex begins in its own
                     B                               community.
       D                                         • An edge is chosen to contract.
                                  E                  • Merging maximally increases
                                                       modularity.
            G                                        • Priority queue.
                         F
                                                 • Known often to fall into an O(n2 )
                                                     performance trap with
                                                     modularity (Wakita & Tsurumi).



10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy                    12/35
Parallel agglomerative method

                                                 • We use a matching to avoid the queue.
                                                 • Compute a heavy weight, large
                                                     matching.
       A                  C                              • Simple greedy algorithm.
                                                         • Maximal matching.
                                                         • Within factor of 2 in weight.
                     B
                                                 • Merge all communities at once.
       D
                                  E              • Maintains some balance.
                                                 • Produces different results.
            G
                         F                       • Agnostic to weighting, matching...
                                                     • Can maximize modularity, minimize
                                                       conductance.
                                                     • Modifying matching permits easy
                                                       exploration.


10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy                       13/35
Parallel agglomerative method

                                                 • We use a matching to avoid the queue.
                                                 • Compute a heavy weight, large
                                                     matching.
       A                  C                              • Simple greedy algorithm.
                                                         • Maximal matching.
                                                         • Within factor of 2 in weight.
                     B
                                                 • Merge all communities at once.
       D
                                  E              • Maintains some balance.
                                                 • Produces different results.
            G
                         F                       • Agnostic to weighting, matching...
                                                     • Can maximize modularity, minimize
                                                       conductance.
                                                     • Modifying matching permits easy
                                                       exploration.


10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy                       14/35
Parallel agglomerative method

                                                 • We use a matching to avoid the queue.
                                                 • Compute a heavy weight, large
                                                     matching.
       A                  C                              • Simple greedy algorithm.
                                                         • Maximal matching.
                                                         • Within factor of 2 in weight.
                     B
                                                 • Merge all communities at once.
       D
                                  E              • Maintains some balance.
                                                 • Produces different results.
            G
                         F                       • Agnostic to weighting, matching...
                                                     • Can maximize modularity, minimize
                                                       conductance.
                                                     • Modifying matching permits easy
                                                       exploration.


10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy                       15/35
Platform: Cray XMT2
       Tolerates latency by massive multithreading.
           • Hardware: 128 threads per processor
                • Context switch on every cycle (500 MHz)
                • Many outstanding memory requests (180/proc)
                • “No” caches...
           • Flexibly supports dynamic load balancing
                • Globally hashed address space, no data cache
           • Support for fine-grained, word-level synchronization
                • Full/empty bit on with every memory word


             • 64 processor XMT2 at CSCS,
                the Swiss National
                Supercomputer Centre.
             • 500 MHz processors, 8192
                threads, 2 TiB of shared
                memory                                                 Image: cray.com

10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy                     16/35
Platform: Intel R E7-8870-based server
       Tolerates some latency by hyperthreading.
           • Hardware: 2 threads / core, 10 cores / socket, four sockets.
               • Fast cores (2.4 GHz), fast memory (1 066 MHz).
               • Not so many outstanding memory requests (60/socket), but
                 large caches (30 MiB L3 per socket).
           • Good system support
               • Transparent hugepages reduces TLB costs.
               • Fast, user-level locking. (HLE would be better...)
               • OpenMP, although I didn’t tune it...


             • mirasol, #17 on Graph500
                (thanks to UCB)
             • Four processors (80 threads),
                256 GiB memory
             • gcc 4.6.1, Linux kernel
                                                                       Image: Intel R press kit
                3.2.0-rc5
10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy                              17/35
Implementation: Data structures

       Extremely basic for graph G = (V, E)
           • An array of (i, j; w) weighted edge pairs, each i, j stored only
              once and packed, uses 3|E| space
           • An array to store self-edges, d(i) = w, |V |
           • A temporary floating-point array for scores, |E|
           • A additional temporary arrays using 4|V | + 2|E| to store
              degrees, matching choices, offsets...

           • Weights count number of agglomerated vertices or edges.
           • Scoring methods (modularity, conductance) need only
              vertex-local counts.
           • Storing an undirected graph in a symmetric manner reduces
              memory usage drastically and works with our simple matcher.


10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy            18/35
Implementation: Data structures

       Extremely basic for graph G = (V, E)
           • An array of (i, j; w) weighted edge pairs, each i, j stored only
              once and packed, uses 3|E| 32-bit space
           • An array to store self-edges, d(i) = w, |V |
           • A temporary floating-point array for scores, |E|
           • A additional temporary arrays using 2|V | + |E| 64-bit, 2|V |
              32-bit to store degrees, matching choices, offsets...

           • Need to fit uk-2007-05 into 256 GiB.
           • Cheat: Use 32-bit integers for indices. Know we won’t contract
              so far to need 64-bit weights.
           • Could cheat further and use 32-bit floats for scores.
           • (Note: Code didn’t bother optimizing workspace size.)


10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy            19/35
Implementation: Data structures

       Extremely basic for graph G = (V, E)
           • An array of (i, j; w) weighted edge pairs, each i, j stored only
              once and packed, uses 3|E| space
           • An array to store self-edges, d(i) = w, |V |
           • A temporary floating-point array for scores, |E|
           • A additional temporary arrays using 2|V | + |E| 64-bit, 2|V |
              32-bit to store degrees, matching choices, offsets...

           • Original ignored order in edge array, killed OpenMP.
           • New: Roughly bucket edge array by first stored index.
              Non-adjacent CSR-like structure.
           • New: Hash i, j to determine order. Scatter among buckets.
           • (New = MTAAP 2012)


10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy            20/35
Implementation: Routines

       Three primitives: Scoring, matching, contracting
              Scoring Trivial.
           Matching Repeat until no ready, unmatched vertex:
                               1   For each unmatched vertex in parallel, find the
                                   best unmatched neighbor in its bucket.
                               2   Try to point remote match at that edge (lock,
                                   check if best, unlock).
                               3   If pointing succeeded, try to point self-match at
                                   that edge.
                               4   If both succeeded, yeah! If not and there was
                                   some eligible neighbor, re-add self to ready,
                                   unmatched list.
       (Possibly too simple, but...)


10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy                   21/35
Implementation: Routines


       Contracting
          1   Map each i, j to new vertices, re-order by hashing.
          2   Accumulate counts for new i bins, prefix-sum for offset.
          3   Copy into new bins.

           • Only synchronizing in the prefix-sum. That could be removed if
              I don’t re-order the i , j pair; haven’t timed the difference.
           • Actually, the current code copies twice... On short list for
              fixing.
           • Binning as opposed to original list-chasing enabled
              Intel/OpenMP support with reasonable performance.




10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy          22/35
23/35




                                  Intel E7−8870                  Cray XMT2
                                                                                              uk−2007−05
                                                                                              er−fact1.5−scale25
                                                                                              uk−2002
                                                                                              cage15
                                                                                              kron_g500−simple−logn20
                                                                                              audikw1
                                                                                              ldoor
                                                                                              eu−2005
                                                                                                                                                 other
                                                                                              coPapersDBLP
                                                                                              in−2004
                                                                                              333SP
                                                                                              kron_g500−simple−logn16



                                                                                                                                                 contract




                                                                                                                                                            10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy
                                                                                              belgium.osm
                                                                                                                        Graph name
                                                                                              citationCiteseer




                                                                                                                                     Primitive
                                                                                              coAuthorsCiteseer
                                                                                              rgg_n_2_17_s0




                                                                                                                                                 match
                                                                                              caidaRouterLevel
                                                                                              G_n_pin_pout
                                                                                              smallworld
Implementation: Routines




                                                                                              preferentialAttachment
                                                                                              cond−mat−2005




                                                                                                                                                 score
                                                                                              astro−ph
                                                                                              luxembourg.osm
                                                                                              memplus
                                                                                              as−22july06
                                                                                              PGPgiantcompo
                                                                                              polblogs
                                                                                              power
                                                                                              email
                                                                                              celegans_metabolic
                           100%
                                  80%
                                        60%
                                              40%
                                                    20%
                                                            0%
                                                          100%
                                                                 80%
                                                                       60%
                                                                             40%
                                                                                   20%
                                                                                         0%
                                                                 Time (s)
Performance: Time by platform

                    103                                                                                                                                                                                                                                                                                                                                                                                                                                 qqq




                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       Intel E7−8870
                    102                                                                                                                                                                                                                                                                                                                                                                                                                     q
                                                                                                                                                                                                                                                                                                                                                                                                                                           qq
                                                                                                                                                                                                                                                                                                                                                                                                                                                     q q
                                                                                                                                                                                                                                                                                                                                                                                                                                                      q

                    101                                                                                                                                                                                                                                                                                     qq
                                                                                                                                                                                                                                                                                                                                                                                                        qq q
                                                                                                                                                                                                                                                                                                                                                                                                        q q q
                                                                                                                                                                                                                                                                                                                  q
                                                                                                                                                                                                                                                                                                               q qqq                                                        qqq q q q
                                                                                                                                                                                                                                                                                                                                                                                q q
                    100                                                                   q
                                                                                                            q
                                                                                                                                                              qq                                      q
                                                                                                                                                                                                    qq q q
                                                                                                                                                                                                                q
                                                                                                                                                                                                                  qqq
                                                                                                                                                                                                                      qq
                                                                                                                                                                                                                      q                                                                                      q
                                                                                                                                                                                                                                                                                                                     qq
                                                                                                                                                                                                                                                                                                                      q
                                                                                          qq                                                                                                             q qq q
                                                                                                              q                                                                                             q q
                   10−1                 q                      qq
                                                               q
                                                                           q
                                                                                                        qq
                                                                                                         q q q q
                                                                                                           q q  q                                                                      qq
                          q
                          q                    qq
                                               q q                        qq
                   10−2                          q
                                                 q
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          q
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          q
                    103                                                                                                                                                                                                                                                                                                                                                                                                                        q qq
                                                                                                                                                                                                                                                                                                                                                                                                                                                q q
        Time (s)




                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       Cray XMT2
                    102                                                                                                                                                                                                                                                                                     qq
                                                                                                                                                                                                                                                                                                                                        q qq
                                                                                                                                                                                                                                                                                                                                         q q                                q
                                                                                                                                                                                                                                                                                                                                                                            qq
                                                                                                                                                                                                                                                                                                                                                                                                        qq
                                                                                                                                                                                                                                                                                                                                                                                                        q
                                                                                                                                                                                                                                                                                                                                                                                                                                  qq
                                                                                          q
                    101                                                                   qq
                                                                                                              q                                                                                     q     q
                                                                                                                                                                                                                                                        q q
                                                                                                                                                                                                                                                       qq q q
                                                                                                                                                                                                                                                                                                  qq
                                                                                                                                                                                                                                                                                                    q                                                        qq                           qq q
                                                                                                                                                                                                                                                                                                                                                                                          q qq
                                                                                                                          q
                                                                                                                          q
                                                                                                                          q
                                                                                                                            q
                                                                                                                            q                                                                        q q qq
                                                                                                                                                                                                      q q
                    100   qq q
                          q   qq q q qq
                                  q   q                                     qq
                                                                            q                           q
                                                                                                        q      q q qq q q
                                                                                                                 q qq

                   10−1
                   10−2
                          celegans_metabolic

                                               email

                                                       power

                                                               polblogs

                                                                          PGPgiantcompo

                                                                                          as−22july06

                                                                                                        memplus

                                                                                                                  luxembourg.osm

                                                                                                                                   astro−ph

                                                                                                                                              cond−mat−2005

                                                                                                                                                              preferentialAttachment

                                                                                                                                                                                       smallworld

                                                                                                                                                                                                    G_n_pin_pout

                                                                                                                                                                                                                   caidaRouterLevel

                                                                                                                                                                                                                                      rgg_n_2_17_s0

                                                                                                                                                                                                                                                       coAuthorsCiteseer

                                                                                                                                                                                                                                                                           citationCiteseer

                                                                                                                                                                                                                                                                                              belgium.osm

                                                                                                                                                                                                                                                                                                             kron_g500−simple−logn16

                                                                                                                                                                                                                                                                                                                                       333SP

                                                                                                                                                                                                                                                                                                                                                   in−2004

                                                                                                                                                                                                                                                                                                                                                             coPapersDBLP

                                                                                                                                                                                                                                                                                                                                                                            eu−2005

                                                                                                                                                                                                                                                                                                                                                                                      ldoor

                                                                                                                                                                                                                                                                                                                                                                                              audikw1

                                                                                                                                                                                                                                                                                                                                                                                                        kron_g500−simple−logn20

                                                                                                                                                                                                                                                                                                                                                                                                                                  cage15

                                                                                                                                                                                                                                                                                                                                                                                                                                           uk−2002

                                                                                                                                                                                                                                                                                                                                                                                                                                                     er−fact1.5−scale25

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          uk−2007−05
                                                                                                                                                                                                    Graph name
                                                                                                                                                              Number of communities
                                                                          q                100                    q                   101                            q                        102                            q                        103                                 q                 104                                q             105                      q       106




10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy                                                                                                                                                                                                                                                                                                                                                                                                                                   24/35
25/35




                                              Intel E7−8870                                Cray XMT2
                                                                                                qq
                                              qq




                                                                                                 q




                                                                                                                                                      uk−2007−05
                                                     qq




                                                                                                                                                      er−fact1.5−scale25
                                                                                                         q
                                                                                                    qq qqq
                                                 qq qqq




                                                                                                                                                      uk−2002
                                                                                                    q




                                                                                                                                                      cage15
                                                 q
                                             q q




                                                                                                        q q




                                                                                                                                                      kron_g500−simple−logn20
                                                                                                         q




                                                                                                                                                                                                                     106
                                                                                           qq
                                      qq q q




                                                                                                                                                      audikw1
                                                                                           q
                                        qq




                                                                                               qq
                                                                                                q




                                                                                                                                                      ldoor
                                                                                                                                                                                                                     q
                                                                                                         qq
                                    q
                                   qq




                                                                                                                                                      eu−2005
                                                                                                                                                                                                                     105
                                  q




                                                                                               q
                                                                                               q
                                                                                               q
                                qq




                                                                                                                                                      coPapersDBLP
                                                     q




                                                                                                                   q
                                                                                                             qq q qq
                                               qq q q




                                                                                                                                                      in−2004                                                        q
                                                                                                                                                      333SP
                                                 q

                                                                  q




                                                                                                                                qq




                                                                                                                                                                                             Number of communities
                                                                                                                                                                                                                     104
                                                                 q




                                                                                                                                                      kron_g500−simple−logn16




                                                                                                                                                                                                                           10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy
                                                                                                                 q q qq
                                                          qq




                                                                                                                      q




                                                                                                                                                      belgium.osm
                                                          q




                                                                                                                                                                                Graph name
                                                                                                                 q qq




                                                                                                                                                                                                                     q
                                                  q




                                                                                                                                                      citationCiteseer
                                                  q
                                                  q




                                                                                                                                                                                                                     103
                                                                                                                                                      coAuthorsCiteseer
                                                 q
Performance: Rate by platform


                                                                 q




                                                                                                              q
                                                                                                              qq




                                                                                                                                                      rgg_n_2_17_s0
                                              q
                                              q




                                                                                                                    q qq




                                                                                                                                                                                                                     q
                                                      q q




                                                                                                                   q q




                                                                                                                                                      caidaRouterLevel
                                                      q
                                                            q




                                                                                                                   q
                                                            q
                                                            q




                                                                                                                                                                                                                     102
                                                                                                                                                      G_n_pin_pout
                                              q q




                                                                                                                                                      smallworld
                                              q




                                                                                                                 q
                                                                                                               qq
                                                             qq




                                                                                                                                                                                                                     q
                                                                                                               q



                                                                                                                                                      preferentialAttachment
                                                            q
                                                     q qqq q q




                                                                                                                           qq
                                                            q




                                                                                                                       q qq q




                                                                                                                                                                                                                     101
                                                                                                                                                      cond−mat−2005
                                                                                                                       q q
                                                                                                                                                      astro−ph
                                                                 q




                                                                                                                                                                                                                     q
                                                                       q




                                                                                                                       q
                                                                                                                                                      luxembourg.osm




                                                                                                                                     q
                                                                                                                                qq
                                                            qq
                                                             q




                                                                                                                                                      memplus




                                                                                                                                                                                                                     100
                                                                       qq
                                                                       q




                                                                                                                                            q
                                                                                                                                                      as−22july06




                                                                                                                                          q
                                                                                                                                          q
                                                                                                                                  q
                                                                   q
                                                             q q q q
                                                                   q




                                                                                                                                 qq
                                                                                                                                                      PGPgiantcompo




                                                                                                                                                                                                                     q
                                                                 q




                                                                                                                                     qq
                                                                                                                                                      polblogs




                                                                                                                                         q q qq
                                                                                                                                                      power
                                                            q
                                                            q




                                                                                                                                           q
                                                                      qq
                                                                      q                                                                               email
                                                                           q q
                                                                             q
                                                                                                                                                      celegans_metabolic




                                                                                                                                                  q
                                                                                                                                                  q
                                                                                                                                                  q
                                      107
                                                               6


                                                                           105
                                                                                 104


                                                                                         107
                                                                                                106
                                                                                                                        5


                                                                                                                                     104
                                                                 10




                                                                                                                          10
                                                                                       Edges per second
Performance: Rate by metric (on Intel)

                                                                                                                                                                                                                                                                                                                                                                        q                              qq
                                                                                                                                                                                                                                                                                                                                                                      q q                           qq
                                                                                                                                                                                                                                                                                                                                                                                                      q
                            107                                                                                                                                                                     q
                                                                                                                                                                                                    qq                                             qq                                                                                              q
                                                                                                                                                                                                                                                                                                                                                   qq       q q
                                                                                                                                                                                                                                                                                                                                                                                      qqq                             qq
                                                                                                                                                                                                                                                                                                                                                                                                                       q
                                                                                                                                                                                                                                                                                                                                                                                                                                                qq
                                                                                                                                                                                                                                                                                                                                                                                                                                                 q
                                                                                                                                                                                                                                                                                                                                                                                                                                                         qq
                                                                                                                                                                                                                                                                                                                                                                                                                                                         q                              qq
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         q
                                                                                                                                                                                                                                                                   qq qq   q                                                                                q
                           106.5                                                                                                    qq qqq
                                                                                                                                           q                                                                                    qq
                                                                                                                                                                                                                                                                     q q q
                                                                                                                                                                                                                                                                         q
                                                                                                                                                                                                                                                                                                                                                                                                                                                                   q
                                                                                                                                                                                                                                                                                                                                                                                                                                                                   q
                                                                                                                                                                                                                                                                                                                                                                                                                                                                   q




                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     cnm
                                                                                   qq                            q                                                                          q
                                                                                                                                                                                            q                    q q
                                                                                                                                                                                                                   q
                                                                                                                                                                                                                                                                   q
                            106                                 q
                                                                    q
                                                                        qq q
                                                                        q
                                                                                                                                                q                                                                                                                                                                               qq
                                                                                                                 q
                                                                                                                           q
                           105.5                        qq
                                                        q
                                                                                                   qq                              q
                                                                                                    q
                            105    qq
        Edges per second




                                     q

                                                                                                                                                                                                                                                                                                                                                                                                   q
                                                                                                                                                                                                                                                                                                                                                                                                 q q
                                                                                                                                                                                                                                                                                                                                                                                                qq
                            107                                                                                                                                                                     qq
                                                                                                                                                                                                                                                    q
                                                                                                                                                                                                                                                   q q                                                                                              qq
                                                                                                                                                                                                                                                                                                                                                                       q
                                                                                                                                                                                                                                                                                                                                                                      qq                                                                        q q
                                                                                                                                                                                                                                                                                                                                                                                                                                                 q
                                                                                                                                                                                                                                                   q q q                                                    qq
                                                                                                                                                                                                                                                                                                                                                    q                                                                   qq
                           106.5                                                                                           qq qq q
                                                                                                                               q q                                                                                        q
                                                                                                                                                                                                                          qq                                                                              q  q                                                                                                          q                                          qq
                                                                                                                                                                                                                                                                                                                                                                                                                                                                   q




                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     cond
                                                                                                                             q   q                                                                       q                                                                                                q
                                                                                         q
                                                                                         qq                      q
                                                                                                                 qq                                                         q
                                                                                                                                                                           qq                                           qq                                                                                                                                                                                                                                q
                                                                                                                                                                                                                                                                                                                                                                                                                                                         qq
                            106                                 q
                                                                q
                                                                                                                                                                                                                 q
                                                                                                                                                                                                                                                                                       qqq
                           105.5                        qq      q
                                                                        qq
                                                                         q
                                                                                                   qq
                                                                                                                                                                                                                                                                                                                                                            qq
                                                                                                                                                                                                                                                                                                                                                             q
                                                                                                                                                                                                                                                                                                                                                                                      qq
                                                        q
                            105    qq
                                   q
                                   celegans_metabolic

                                                        email

                                                                power

                                                                        polblogs

                                                                                   PGPgiantcompo

                                                                                                   as−22july06

                                                                                                                 memplus

                                                                                                                               luxembourg.osm

                                                                                                                                                astro−ph

                                                                                                                                                           cond−mat−2005

                                                                                                                                                                           preferentialAttachment

                                                                                                                                                                                                    smallworld

                                                                                                                                                                                                                 G_n_pin_pout

                                                                                                                                                                                                                                caidaRouterLevel

                                                                                                                                                                                                                                                   rgg_n_2_17_s0

                                                                                                                                                                                                                                                                   coAuthorsCiteseer

                                                                                                                                                                                                                                                                                       citationCiteseer

                                                                                                                                                                                                                                                                                                          belgium.osm

                                                                                                                                                                                                                                                                                                                         kron_g500−simple−logn16

                                                                                                                                                                                                                                                                                                                                                   333SP

                                                                                                                                                                                                                                                                                                                                                            in−2004

                                                                                                                                                                                                                                                                                                                                                                       coPapersDBLP

                                                                                                                                                                                                                                                                                                                                                                                      eu−2005

                                                                                                                                                                                                                                                                                                                                                                                                    ldoor

                                                                                                                                                                                                                                                                                                                                                                                                            audikw1

                                                                                                                                                                                                                                                                                                                                                                                                                      kron_g500−simple−logn20

                                                                                                                                                                                                                                                                                                                                                                                                                                                cage15

                                                                                                                                                                                                                                                                                                                                                                                                                                                         uk−2002

                                                                                                                                                                                                                                                                                                                                                                                                                                                                   er−fact1.5−scale25

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        uk−2007−05
                                                                                                                                                                                                                 Graph name
                                                                                                                                                                           Number of communities
                                                                                   q               100                         q                101                        q                           102                          q                      103                                  q                       104                             q             105                       q           106




10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy                                                                                                                                                                                                                                                                                                                                                                                                                                        26/35
Performance: Scaling

                                            Intel E7−8870                                                  Cray XMT2

                                                                                        1188.9 s
                                                                                               q
                     103
                                                                                                      q

                             368.0 s                                                        349.6 s           q

                    102.5
                                q                                                              q                   q
                                                                                                                        q   q q
                                                                                                                                 285.4 s
                                                                                                                                   qq
                                       q                                                              q
         Time (s)




                                            q                                                                 q

                     102     84.9 s              q
                                                                                                                   q
                                q                                                                                       q   q q
                                                                                                                                   qq
                                       q               q
                                                            q   q q
                                                                         q                                                       72.1 s
                                            q                                qq
                    101.5                                                      q

                                                 q                       33.4 s
                                                       q
                         1
                     10                                     q   q
                                                                     q   qq
                                                                              qq

                                                                         6.6 s
                      0.5
                    10
                               20      21   22   23    24       25       26            20     21      22      23   24       25     26
                                                      Number of threads / processors
                                                                             Graph
                                                  q   uk−2002        q       kron_g500−simple−logn20




10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy                                                                       27/35
DIMACS10: Parallel Community Detection for Massive Graphs
DIMACS10: Parallel Community Detection for Massive Graphs
DIMACS10: Parallel Community Detection for Massive Graphs
DIMACS10: Parallel Community Detection for Massive Graphs
DIMACS10: Parallel Community Detection for Massive Graphs
DIMACS10: Parallel Community Detection for Massive Graphs
DIMACS10: Parallel Community Detection for Massive Graphs
DIMACS10: Parallel Community Detection for Massive Graphs
DIMACS10: Parallel Community Detection for Massive Graphs

Weitere ähnliche Inhalte

Ähnlich wie DIMACS10: Parallel Community Detection for Massive Graphs

Parallel Community Detection for Massive Graphs
Parallel Community Detection for Massive GraphsParallel Community Detection for Massive Graphs
Parallel Community Detection for Massive GraphsJason Riedy
 
Graph Analysis Beyond Linear Algebra
Graph Analysis Beyond Linear AlgebraGraph Analysis Beyond Linear Algebra
Graph Analysis Beyond Linear AlgebraJason Riedy
 
Local vs. Global Models for Effort Estimation and Defect Prediction
Local vs. Global Models for Effort Estimation and Defect Prediction Local vs. Global Models for Effort Estimation and Defect Prediction
Local vs. Global Models for Effort Estimation and Defect Prediction CS, NcState
 
Cloud computing: evolution or redefinition
Cloud computing: evolution or redefinitionCloud computing: evolution or redefinition
Cloud computing: evolution or redefinitionPET Computação
 
Overlapping clusters for distributed computation
Overlapping clusters for distributed computationOverlapping clusters for distributed computation
Overlapping clusters for distributed computationDavid Gleich
 
Community Extracting Using Intersection Graph and Content Analysis in Complex...
Community Extracting Using Intersection Graph and Content Analysis in Complex...Community Extracting Using Intersection Graph and Content Analysis in Complex...
Community Extracting Using Intersection Graph and Content Analysis in Complex...kuramochi
 
Jürgens diata12-communities
Jürgens diata12-communitiesJürgens diata12-communities
Jürgens diata12-communitiesPascal Juergens
 
Crowd computing: All your base are belong to us
Crowd computing: All your base are belong to usCrowd computing: All your base are belong to us
Crowd computing: All your base are belong to usDavid Thompson
 
Network sampling, community detection
Network sampling, community detectionNetwork sampling, community detection
Network sampling, community detectionroberval mariano
 
Areva10 Technical Day
Areva10 Technical DayAreva10 Technical Day
Areva10 Technical DaySDTools
 
Community detection in social networks[1]
Community detection in social networks[1]Community detection in social networks[1]
Community detection in social networks[1]sdnumaygmailcom
 
Opportunistic Routing Based on Daily Routines
Opportunistic Routing Based on Daily RoutinesOpportunistic Routing Based on Daily Routines
Opportunistic Routing Based on Daily RoutinesWaldir Moreira
 
Hadoop Summit 2010 Machine Learning Using Hadoop
Hadoop Summit 2010 Machine Learning Using HadoopHadoop Summit 2010 Machine Learning Using Hadoop
Hadoop Summit 2010 Machine Learning Using HadoopYahoo Developer Network
 
Large Scale Parallel FDTD Simulation of Full 3D Photonic Crystal Structures
Large Scale Parallel FDTD Simulation of Full 3D Photonic Crystal StructuresLarge Scale Parallel FDTD Simulation of Full 3D Photonic Crystal Structures
Large Scale Parallel FDTD Simulation of Full 3D Photonic Crystal Structuresayubimoak
 
2013 NodeXL Social Media Network Analysis
2013 NodeXL Social Media Network Analysis2013 NodeXL Social Media Network Analysis
2013 NodeXL Social Media Network AnalysisMarc Smith
 
Marami 2010
Marami 2010Marami 2010
Marami 2010ticien
 
The Length of Bridge Ties: Structural and Geographic Properties of Online So...
The Length of Bridge Ties: Structural and Geographic Properties of Online So...The Length of Bridge Ties: Structural and Geographic Properties of Online So...
The Length of Bridge Ties: Structural and Geographic Properties of Online So...Yuto Yamaguchi
 
Data-Intensive Text Processing with MapReduce
Data-Intensive Text Processing  with MapReduce Data-Intensive Text Processing  with MapReduce
Data-Intensive Text Processing with MapReduce George Ang
 
Data-Intensive Text Processing with MapReduce
Data-Intensive Text Processing with MapReduceData-Intensive Text Processing with MapReduce
Data-Intensive Text Processing with MapReduceGeorge Ang
 
Presentation Journée Thématique - Fouille de Grands Graphes
Presentation Journée Thématique - Fouille de Grands GraphesPresentation Journée Thématique - Fouille de Grands Graphes
Presentation Journée Thématique - Fouille de Grands GraphesJuan David Cruz-Gómez
 

Ähnlich wie DIMACS10: Parallel Community Detection for Massive Graphs (20)

Parallel Community Detection for Massive Graphs
Parallel Community Detection for Massive GraphsParallel Community Detection for Massive Graphs
Parallel Community Detection for Massive Graphs
 
Graph Analysis Beyond Linear Algebra
Graph Analysis Beyond Linear AlgebraGraph Analysis Beyond Linear Algebra
Graph Analysis Beyond Linear Algebra
 
Local vs. Global Models for Effort Estimation and Defect Prediction
Local vs. Global Models for Effort Estimation and Defect Prediction Local vs. Global Models for Effort Estimation and Defect Prediction
Local vs. Global Models for Effort Estimation and Defect Prediction
 
Cloud computing: evolution or redefinition
Cloud computing: evolution or redefinitionCloud computing: evolution or redefinition
Cloud computing: evolution or redefinition
 
Overlapping clusters for distributed computation
Overlapping clusters for distributed computationOverlapping clusters for distributed computation
Overlapping clusters for distributed computation
 
Community Extracting Using Intersection Graph and Content Analysis in Complex...
Community Extracting Using Intersection Graph and Content Analysis in Complex...Community Extracting Using Intersection Graph and Content Analysis in Complex...
Community Extracting Using Intersection Graph and Content Analysis in Complex...
 
Jürgens diata12-communities
Jürgens diata12-communitiesJürgens diata12-communities
Jürgens diata12-communities
 
Crowd computing: All your base are belong to us
Crowd computing: All your base are belong to usCrowd computing: All your base are belong to us
Crowd computing: All your base are belong to us
 
Network sampling, community detection
Network sampling, community detectionNetwork sampling, community detection
Network sampling, community detection
 
Areva10 Technical Day
Areva10 Technical DayAreva10 Technical Day
Areva10 Technical Day
 
Community detection in social networks[1]
Community detection in social networks[1]Community detection in social networks[1]
Community detection in social networks[1]
 
Opportunistic Routing Based on Daily Routines
Opportunistic Routing Based on Daily RoutinesOpportunistic Routing Based on Daily Routines
Opportunistic Routing Based on Daily Routines
 
Hadoop Summit 2010 Machine Learning Using Hadoop
Hadoop Summit 2010 Machine Learning Using HadoopHadoop Summit 2010 Machine Learning Using Hadoop
Hadoop Summit 2010 Machine Learning Using Hadoop
 
Large Scale Parallel FDTD Simulation of Full 3D Photonic Crystal Structures
Large Scale Parallel FDTD Simulation of Full 3D Photonic Crystal StructuresLarge Scale Parallel FDTD Simulation of Full 3D Photonic Crystal Structures
Large Scale Parallel FDTD Simulation of Full 3D Photonic Crystal Structures
 
2013 NodeXL Social Media Network Analysis
2013 NodeXL Social Media Network Analysis2013 NodeXL Social Media Network Analysis
2013 NodeXL Social Media Network Analysis
 
Marami 2010
Marami 2010Marami 2010
Marami 2010
 
The Length of Bridge Ties: Structural and Geographic Properties of Online So...
The Length of Bridge Ties: Structural and Geographic Properties of Online So...The Length of Bridge Ties: Structural and Geographic Properties of Online So...
The Length of Bridge Ties: Structural and Geographic Properties of Online So...
 
Data-Intensive Text Processing with MapReduce
Data-Intensive Text Processing  with MapReduce Data-Intensive Text Processing  with MapReduce
Data-Intensive Text Processing with MapReduce
 
Data-Intensive Text Processing with MapReduce
Data-Intensive Text Processing with MapReduceData-Intensive Text Processing with MapReduce
Data-Intensive Text Processing with MapReduce
 
Presentation Journée Thématique - Fouille de Grands Graphes
Presentation Journée Thématique - Fouille de Grands GraphesPresentation Journée Thématique - Fouille de Grands Graphes
Presentation Journée Thématique - Fouille de Grands Graphes
 

Mehr von Jason Riedy

Lucata at the HPEC GraphBLAS BoF
Lucata at the HPEC GraphBLAS BoFLucata at the HPEC GraphBLAS BoF
Lucata at the HPEC GraphBLAS BoFJason Riedy
 
LAGraph 2021-10-13
LAGraph 2021-10-13LAGraph 2021-10-13
LAGraph 2021-10-13Jason Riedy
 
Lucata at the HPEC GraphBLAS BoF
Lucata at the HPEC GraphBLAS BoFLucata at the HPEC GraphBLAS BoF
Lucata at the HPEC GraphBLAS BoFJason Riedy
 
Graph analysis and novel architectures
Graph analysis and novel architecturesGraph analysis and novel architectures
Graph analysis and novel architecturesJason Riedy
 
GraphBLAS and Emus
GraphBLAS and EmusGraphBLAS and Emus
GraphBLAS and EmusJason Riedy
 
Reproducible Linear Algebra from Application to Architecture
Reproducible Linear Algebra from Application to ArchitectureReproducible Linear Algebra from Application to Architecture
Reproducible Linear Algebra from Application to ArchitectureJason Riedy
 
PEARC19: Wrangling Rogues: A Case Study on Managing Experimental Post-Moore A...
PEARC19: Wrangling Rogues: A Case Study on Managing Experimental Post-Moore A...PEARC19: Wrangling Rogues: A Case Study on Managing Experimental Post-Moore A...
PEARC19: Wrangling Rogues: A Case Study on Managing Experimental Post-Moore A...Jason Riedy
 
ICIAM 2019: Reproducible Linear Algebra from Application to Architecture
ICIAM 2019: Reproducible Linear Algebra from Application to ArchitectureICIAM 2019: Reproducible Linear Algebra from Application to Architecture
ICIAM 2019: Reproducible Linear Algebra from Application to ArchitectureJason Riedy
 
ICIAM 2019: A New Algorithm Model for Massive-Scale Streaming Graph Analysis
ICIAM 2019: A New Algorithm Model for Massive-Scale Streaming Graph AnalysisICIAM 2019: A New Algorithm Model for Massive-Scale Streaming Graph Analysis
ICIAM 2019: A New Algorithm Model for Massive-Scale Streaming Graph AnalysisJason Riedy
 
Novel Architectures for Applications in Data Science and Beyond
Novel Architectures for Applications in Data Science and BeyondNovel Architectures for Applications in Data Science and Beyond
Novel Architectures for Applications in Data Science and BeyondJason Riedy
 
Characterization of Emu Chick with Microbenchmarks
Characterization of Emu Chick with MicrobenchmarksCharacterization of Emu Chick with Microbenchmarks
Characterization of Emu Chick with MicrobenchmarksJason Riedy
 
CRNCH 2018 Summit: Rogues Gallery Update
CRNCH 2018 Summit: Rogues Gallery UpdateCRNCH 2018 Summit: Rogues Gallery Update
CRNCH 2018 Summit: Rogues Gallery UpdateJason Riedy
 
Augmented Arithmetic Operations Proposed for IEEE-754 2018
Augmented Arithmetic Operations Proposed for IEEE-754 2018Augmented Arithmetic Operations Proposed for IEEE-754 2018
Augmented Arithmetic Operations Proposed for IEEE-754 2018Jason Riedy
 
Graph Analysis: New Algorithm Models, New Architectures
Graph Analysis: New Algorithm Models, New ArchitecturesGraph Analysis: New Algorithm Models, New Architectures
Graph Analysis: New Algorithm Models, New ArchitecturesJason Riedy
 
CRNCH Rogues Gallery: A Community Core for Novel Computing Platforms
CRNCH Rogues Gallery: A Community Core for Novel Computing PlatformsCRNCH Rogues Gallery: A Community Core for Novel Computing Platforms
CRNCH Rogues Gallery: A Community Core for Novel Computing PlatformsJason Riedy
 
CRNCH Rogues Gallery: A Community Core for Novel Computing Platforms
CRNCH Rogues Gallery: A Community Core for Novel Computing PlatformsCRNCH Rogues Gallery: A Community Core for Novel Computing Platforms
CRNCH Rogues Gallery: A Community Core for Novel Computing PlatformsJason Riedy
 
A New Algorithm Model for Massive-Scale Streaming Graph Analysis
A New Algorithm Model for Massive-Scale Streaming Graph AnalysisA New Algorithm Model for Massive-Scale Streaming Graph Analysis
A New Algorithm Model for Massive-Scale Streaming Graph AnalysisJason Riedy
 
High-Performance Analysis of Streaming Graphs
High-Performance Analysis of Streaming Graphs High-Performance Analysis of Streaming Graphs
High-Performance Analysis of Streaming Graphs Jason Riedy
 
High-Performance Analysis of Streaming Graphs
High-Performance Analysis of Streaming GraphsHigh-Performance Analysis of Streaming Graphs
High-Performance Analysis of Streaming GraphsJason Riedy
 
Updating PageRank for Streaming Graphs
Updating PageRank for Streaming GraphsUpdating PageRank for Streaming Graphs
Updating PageRank for Streaming GraphsJason Riedy
 

Mehr von Jason Riedy (20)

Lucata at the HPEC GraphBLAS BoF
Lucata at the HPEC GraphBLAS BoFLucata at the HPEC GraphBLAS BoF
Lucata at the HPEC GraphBLAS BoF
 
LAGraph 2021-10-13
LAGraph 2021-10-13LAGraph 2021-10-13
LAGraph 2021-10-13
 
Lucata at the HPEC GraphBLAS BoF
Lucata at the HPEC GraphBLAS BoFLucata at the HPEC GraphBLAS BoF
Lucata at the HPEC GraphBLAS BoF
 
Graph analysis and novel architectures
Graph analysis and novel architecturesGraph analysis and novel architectures
Graph analysis and novel architectures
 
GraphBLAS and Emus
GraphBLAS and EmusGraphBLAS and Emus
GraphBLAS and Emus
 
Reproducible Linear Algebra from Application to Architecture
Reproducible Linear Algebra from Application to ArchitectureReproducible Linear Algebra from Application to Architecture
Reproducible Linear Algebra from Application to Architecture
 
PEARC19: Wrangling Rogues: A Case Study on Managing Experimental Post-Moore A...
PEARC19: Wrangling Rogues: A Case Study on Managing Experimental Post-Moore A...PEARC19: Wrangling Rogues: A Case Study on Managing Experimental Post-Moore A...
PEARC19: Wrangling Rogues: A Case Study on Managing Experimental Post-Moore A...
 
ICIAM 2019: Reproducible Linear Algebra from Application to Architecture
ICIAM 2019: Reproducible Linear Algebra from Application to ArchitectureICIAM 2019: Reproducible Linear Algebra from Application to Architecture
ICIAM 2019: Reproducible Linear Algebra from Application to Architecture
 
ICIAM 2019: A New Algorithm Model for Massive-Scale Streaming Graph Analysis
ICIAM 2019: A New Algorithm Model for Massive-Scale Streaming Graph AnalysisICIAM 2019: A New Algorithm Model for Massive-Scale Streaming Graph Analysis
ICIAM 2019: A New Algorithm Model for Massive-Scale Streaming Graph Analysis
 
Novel Architectures for Applications in Data Science and Beyond
Novel Architectures for Applications in Data Science and BeyondNovel Architectures for Applications in Data Science and Beyond
Novel Architectures for Applications in Data Science and Beyond
 
Characterization of Emu Chick with Microbenchmarks
Characterization of Emu Chick with MicrobenchmarksCharacterization of Emu Chick with Microbenchmarks
Characterization of Emu Chick with Microbenchmarks
 
CRNCH 2018 Summit: Rogues Gallery Update
CRNCH 2018 Summit: Rogues Gallery UpdateCRNCH 2018 Summit: Rogues Gallery Update
CRNCH 2018 Summit: Rogues Gallery Update
 
Augmented Arithmetic Operations Proposed for IEEE-754 2018
Augmented Arithmetic Operations Proposed for IEEE-754 2018Augmented Arithmetic Operations Proposed for IEEE-754 2018
Augmented Arithmetic Operations Proposed for IEEE-754 2018
 
Graph Analysis: New Algorithm Models, New Architectures
Graph Analysis: New Algorithm Models, New ArchitecturesGraph Analysis: New Algorithm Models, New Architectures
Graph Analysis: New Algorithm Models, New Architectures
 
CRNCH Rogues Gallery: A Community Core for Novel Computing Platforms
CRNCH Rogues Gallery: A Community Core for Novel Computing PlatformsCRNCH Rogues Gallery: A Community Core for Novel Computing Platforms
CRNCH Rogues Gallery: A Community Core for Novel Computing Platforms
 
CRNCH Rogues Gallery: A Community Core for Novel Computing Platforms
CRNCH Rogues Gallery: A Community Core for Novel Computing PlatformsCRNCH Rogues Gallery: A Community Core for Novel Computing Platforms
CRNCH Rogues Gallery: A Community Core for Novel Computing Platforms
 
A New Algorithm Model for Massive-Scale Streaming Graph Analysis
A New Algorithm Model for Massive-Scale Streaming Graph AnalysisA New Algorithm Model for Massive-Scale Streaming Graph Analysis
A New Algorithm Model for Massive-Scale Streaming Graph Analysis
 
High-Performance Analysis of Streaming Graphs
High-Performance Analysis of Streaming Graphs High-Performance Analysis of Streaming Graphs
High-Performance Analysis of Streaming Graphs
 
High-Performance Analysis of Streaming Graphs
High-Performance Analysis of Streaming GraphsHigh-Performance Analysis of Streaming Graphs
High-Performance Analysis of Streaming Graphs
 
Updating PageRank for Streaming Graphs
Updating PageRank for Streaming GraphsUpdating PageRank for Streaming Graphs
Updating PageRank for Streaming Graphs
 

Kürzlich hochgeladen

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 

Kürzlich hochgeladen (20)

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 

DIMACS10: Parallel Community Detection for Massive Graphs

  • 1. Parallel Community Detection for Massive Graphs E. Jason Riedy, Henning Meyerhenke, David Ediger, and David A. Bader 14 February 2012
  • 2. Exascale data analysis Health care Finding outbreaks, population epidemiology Social networks Advertising, searching, grouping Intelligence Decisions at scale, regulating algorithms Systems biology Understanding interactions, drug design Power grid Disruptions, conservation Simulation Discrete events, cracking meshes • Graph clustering is common in all application areas. 10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy 2/35
  • 3. These are not easy graphs. Yifan Hu’s (AT&T) visualization of the in-2004 data set http://www2.research.att.com/~yifanhu/gallery.html 10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy 3/35
  • 4. But no shortage of structure... Protein interactions, Giot et al., “A Protein Interaction Map of Drosophila melanogaster”, Jason’s network via LinkedIn Labs Science 302, 1722-1736, 2003. • Locally, there are clusters or communities. • First pass over a massive social graph: • Find smaller communities of interest. • Analyze / visualize top-ranked communities. • Our part: Community detection at massive scale. (Or kinda large, given available data.) 10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy 4/35
  • 5. Outline Motivation Shooting for massive graphs Our parallel method Implementation and platform details Performance Conclusions and plans 10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy 5/35
  • 6. Can we tackle massive graphs now? Parallel, of course... • Massive needs distributed memory, right? • Well... Not really. Can buy a 2 TiB Intel-based Dell server on-line for around $200k USD, a 1.5 TiB from IBM, etc. Image: dell.com. Not an endorsement, just evidence! • Publicly available “real-world” data fits... • Start with shared memory to see what needs done. • Specialized architectures provide larger shared-memory views over distributed implementations (e.g. Cray XMT). 10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy 6/35
  • 7. Designing for parallel algorithms What should we avoid in algorithms? Rules of thumb: • “We order the vertices (or edges) by...” unless followed by bisecting searches. • “We look at a region of size more than two steps...” Many target massive graphs have diameter of ≈ 20. More than two steps swallows much of the graph. ˜ • “Our algorithm requires more than O(|E|/#)...” Massive means you hit asymptotic bounds, and |E| is plenty of work. • “For each vertex, we do something sequential...” The few high-degree vertices will be large bottlenecks. Remember: Rules of thumb can be broken with reason. 10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy 7/35
  • 8. Designing for parallel implementations What should we avoid in implementations? Rules of thumb: • Scattered memory accesses through traditional sparse matrix representations like CSR. Use your cache lines. idx: 32b idx: 32b ... idx1: 32b idx2: 32b val1: 64b val2: 64b ... val: 64b val: 64b ... • Using too much memory, which is a painful trade-off with parallelism. Think Fortran and workspace... • Synchronizing too often. There will be work imbalance; try to use the imbalance to reduce “hot-spotting” on locks or cache lines. Remember: Rules of thumb can be broken with reason. Some of these help when extending to PGAS / message-passing. 10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy 8/35
  • 9. Sequential agglomerative method • A common method (e.g. Clauset, Newman, & Moore) agglomerates A C vertices into communities. • Each vertex begins in its own B community. D • An edge is chosen to contract. E • Merging maximally increases modularity. G • Priority queue. F • Known often to fall into an O(n2 ) performance trap with modularity (Wakita & Tsurumi). 10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy 9/35
  • 10. Sequential agglomerative method • A common method (e.g. Clauset, Newman, & Moore) agglomerates A C vertices into communities. • Each vertex begins in its own B community. D • An edge is chosen to contract. E • Merging maximally increases modularity. G • Priority queue. F • Known often to fall into an O(n2 ) performance trap with modularity (Wakita & Tsurumi). 10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy 10/35
  • 11. Sequential agglomerative method • A common method (e.g. Clauset, Newman, & Moore) agglomerates A C vertices into communities. • Each vertex begins in its own B community. D • An edge is chosen to contract. E • Merging maximally increases modularity. G • Priority queue. F • Known often to fall into an O(n2 ) performance trap with modularity (Wakita & Tsurumi). 10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy 11/35
  • 12. Sequential agglomerative method • A common method (e.g. Clauset, Newman, & Moore) agglomerates A C vertices into communities. • Each vertex begins in its own B community. D • An edge is chosen to contract. E • Merging maximally increases modularity. G • Priority queue. F • Known often to fall into an O(n2 ) performance trap with modularity (Wakita & Tsurumi). 10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy 12/35
  • 13. Parallel agglomerative method • We use a matching to avoid the queue. • Compute a heavy weight, large matching. A C • Simple greedy algorithm. • Maximal matching. • Within factor of 2 in weight. B • Merge all communities at once. D E • Maintains some balance. • Produces different results. G F • Agnostic to weighting, matching... • Can maximize modularity, minimize conductance. • Modifying matching permits easy exploration. 10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy 13/35
  • 14. Parallel agglomerative method • We use a matching to avoid the queue. • Compute a heavy weight, large matching. A C • Simple greedy algorithm. • Maximal matching. • Within factor of 2 in weight. B • Merge all communities at once. D E • Maintains some balance. • Produces different results. G F • Agnostic to weighting, matching... • Can maximize modularity, minimize conductance. • Modifying matching permits easy exploration. 10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy 14/35
  • 15. Parallel agglomerative method • We use a matching to avoid the queue. • Compute a heavy weight, large matching. A C • Simple greedy algorithm. • Maximal matching. • Within factor of 2 in weight. B • Merge all communities at once. D E • Maintains some balance. • Produces different results. G F • Agnostic to weighting, matching... • Can maximize modularity, minimize conductance. • Modifying matching permits easy exploration. 10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy 15/35
  • 16. Platform: Cray XMT2 Tolerates latency by massive multithreading. • Hardware: 128 threads per processor • Context switch on every cycle (500 MHz) • Many outstanding memory requests (180/proc) • “No” caches... • Flexibly supports dynamic load balancing • Globally hashed address space, no data cache • Support for fine-grained, word-level synchronization • Full/empty bit on with every memory word • 64 processor XMT2 at CSCS, the Swiss National Supercomputer Centre. • 500 MHz processors, 8192 threads, 2 TiB of shared memory Image: cray.com 10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy 16/35
  • 17. Platform: Intel R E7-8870-based server Tolerates some latency by hyperthreading. • Hardware: 2 threads / core, 10 cores / socket, four sockets. • Fast cores (2.4 GHz), fast memory (1 066 MHz). • Not so many outstanding memory requests (60/socket), but large caches (30 MiB L3 per socket). • Good system support • Transparent hugepages reduces TLB costs. • Fast, user-level locking. (HLE would be better...) • OpenMP, although I didn’t tune it... • mirasol, #17 on Graph500 (thanks to UCB) • Four processors (80 threads), 256 GiB memory • gcc 4.6.1, Linux kernel Image: Intel R press kit 3.2.0-rc5 10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy 17/35
  • 18. Implementation: Data structures Extremely basic for graph G = (V, E) • An array of (i, j; w) weighted edge pairs, each i, j stored only once and packed, uses 3|E| space • An array to store self-edges, d(i) = w, |V | • A temporary floating-point array for scores, |E| • A additional temporary arrays using 4|V | + 2|E| to store degrees, matching choices, offsets... • Weights count number of agglomerated vertices or edges. • Scoring methods (modularity, conductance) need only vertex-local counts. • Storing an undirected graph in a symmetric manner reduces memory usage drastically and works with our simple matcher. 10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy 18/35
  • 19. Implementation: Data structures Extremely basic for graph G = (V, E) • An array of (i, j; w) weighted edge pairs, each i, j stored only once and packed, uses 3|E| 32-bit space • An array to store self-edges, d(i) = w, |V | • A temporary floating-point array for scores, |E| • A additional temporary arrays using 2|V | + |E| 64-bit, 2|V | 32-bit to store degrees, matching choices, offsets... • Need to fit uk-2007-05 into 256 GiB. • Cheat: Use 32-bit integers for indices. Know we won’t contract so far to need 64-bit weights. • Could cheat further and use 32-bit floats for scores. • (Note: Code didn’t bother optimizing workspace size.) 10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy 19/35
  • 20. Implementation: Data structures Extremely basic for graph G = (V, E) • An array of (i, j; w) weighted edge pairs, each i, j stored only once and packed, uses 3|E| space • An array to store self-edges, d(i) = w, |V | • A temporary floating-point array for scores, |E| • A additional temporary arrays using 2|V | + |E| 64-bit, 2|V | 32-bit to store degrees, matching choices, offsets... • Original ignored order in edge array, killed OpenMP. • New: Roughly bucket edge array by first stored index. Non-adjacent CSR-like structure. • New: Hash i, j to determine order. Scatter among buckets. • (New = MTAAP 2012) 10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy 20/35
  • 21. Implementation: Routines Three primitives: Scoring, matching, contracting Scoring Trivial. Matching Repeat until no ready, unmatched vertex: 1 For each unmatched vertex in parallel, find the best unmatched neighbor in its bucket. 2 Try to point remote match at that edge (lock, check if best, unlock). 3 If pointing succeeded, try to point self-match at that edge. 4 If both succeeded, yeah! If not and there was some eligible neighbor, re-add self to ready, unmatched list. (Possibly too simple, but...) 10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy 21/35
  • 22. Implementation: Routines Contracting 1 Map each i, j to new vertices, re-order by hashing. 2 Accumulate counts for new i bins, prefix-sum for offset. 3 Copy into new bins. • Only synchronizing in the prefix-sum. That could be removed if I don’t re-order the i , j pair; haven’t timed the difference. • Actually, the current code copies twice... On short list for fixing. • Binning as opposed to original list-chasing enabled Intel/OpenMP support with reasonable performance. 10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy 22/35
  • 23. 23/35 Intel E7−8870 Cray XMT2 uk−2007−05 er−fact1.5−scale25 uk−2002 cage15 kron_g500−simple−logn20 audikw1 ldoor eu−2005 other coPapersDBLP in−2004 333SP kron_g500−simple−logn16 contract 10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy belgium.osm Graph name citationCiteseer Primitive coAuthorsCiteseer rgg_n_2_17_s0 match caidaRouterLevel G_n_pin_pout smallworld Implementation: Routines preferentialAttachment cond−mat−2005 score astro−ph luxembourg.osm memplus as−22july06 PGPgiantcompo polblogs power email celegans_metabolic 100% 80% 60% 40% 20% 0% 100% 80% 60% 40% 20% 0% Time (s)
  • 24. Performance: Time by platform 103 qqq Intel E7−8870 102 q qq q q q 101 qq qq q q q q q q qqq qqq q q q q q 100 q q qq q qq q q q qqq qq q q qq q qq q qq q q q q 10−1 q qq q q qq q q q q q q q qq q q qq q q qq 10−2 q q q q 103 q qq q q Time (s) Cray XMT2 102 qq q qq q q q qq qq q qq q 101 qq q q q q q qq q q qq q qq qq q q qq q q q q q q q qq q q 100 qq q q qq q q qq q q qq q q q q q qq q q q qq 10−1 10−2 celegans_metabolic email power polblogs PGPgiantcompo as−22july06 memplus luxembourg.osm astro−ph cond−mat−2005 preferentialAttachment smallworld G_n_pin_pout caidaRouterLevel rgg_n_2_17_s0 coAuthorsCiteseer citationCiteseer belgium.osm kron_g500−simple−logn16 333SP in−2004 coPapersDBLP eu−2005 ldoor audikw1 kron_g500−simple−logn20 cage15 uk−2002 er−fact1.5−scale25 uk−2007−05 Graph name Number of communities q 100 q 101 q 102 q 103 q 104 q 105 q 106 10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy 24/35
  • 25. 25/35 Intel E7−8870 Cray XMT2 qq qq q uk−2007−05 qq er−fact1.5−scale25 q qq qqq qq qqq uk−2002 q cage15 q q q q q kron_g500−simple−logn20 q 106 qq qq q q audikw1 q qq qq q ldoor q qq q qq eu−2005 105 q q q q qq coPapersDBLP q q qq q qq qq q q in−2004 q 333SP q q qq Number of communities 104 q kron_g500−simple−logn16 10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy q q qq qq q belgium.osm q Graph name q qq q q citationCiteseer q q 103 coAuthorsCiteseer q Performance: Rate by platform q q qq rgg_n_2_17_s0 q q q qq q q q q q caidaRouterLevel q q q q q 102 G_n_pin_pout q q smallworld q q qq qq q q preferentialAttachment q q qqq q q qq q q qq q 101 cond−mat−2005 q q astro−ph q q q q luxembourg.osm q qq qq q memplus 100 qq q q as−22july06 q q q q q q q q q qq PGPgiantcompo q q qq polblogs q q qq power q q q qq q email q q q celegans_metabolic q q q 107 6 105 104 107 106 5 104 10 10 Edges per second
  • 26. Performance: Rate by metric (on Intel) q qq q q qq q 107 q qq qq q qq q q qqq qq q qq q qq q qq q qq qq q q 106.5 qq qqq q qq q q q q q q q cnm qq q q q q q q q 106 q q qq q q q qq q q 105.5 qq q qq q q 105 qq Edges per second q q q q qq 107 qq q q q qq q qq q q q q q q qq q qq 106.5 qq qq q q q q qq q q q qq q cond q q q q q qq q qq q qq qq q qq 106 q q q qqq 105.5 qq q qq q qq qq q qq q 105 qq q celegans_metabolic email power polblogs PGPgiantcompo as−22july06 memplus luxembourg.osm astro−ph cond−mat−2005 preferentialAttachment smallworld G_n_pin_pout caidaRouterLevel rgg_n_2_17_s0 coAuthorsCiteseer citationCiteseer belgium.osm kron_g500−simple−logn16 333SP in−2004 coPapersDBLP eu−2005 ldoor audikw1 kron_g500−simple−logn20 cage15 uk−2002 er−fact1.5−scale25 uk−2007−05 Graph name Number of communities q 100 q 101 q 102 q 103 q 104 q 105 q 106 10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy 26/35
  • 27. Performance: Scaling Intel E7−8870 Cray XMT2 1188.9 s q 103 q 368.0 s 349.6 s q 102.5 q q q q q q 285.4 s qq q q Time (s) q q 102 84.9 s q q q q q q qq q q q q q q 72.1 s q qq 101.5 q q 33.4 s q 1 10 q q q qq qq 6.6 s 0.5 10 20 21 22 23 24 25 26 20 21 22 23 24 25 26 Number of threads / processors Graph q uk−2002 q kron_g500−simple−logn20 10th DIMACS Impl. Challenge—Parallel Community Detection—Jason Riedy 27/35