SummaryDetecting an accurate community structure is a crucial task in network analysis. With the increasing popularity of social networking sites, it is essential to have a community detection algorithm that is not only efficien but also cost‐effective for running in data centers. There are several metrics for estimating the accuracy of community detection. However, previous research has shown that permanence, a vertex‐centric metric, provides the most precise estimate of a community structure compared to other approaches. Despite this, no study has been conducted on parallelizing a permanence‐based community detection algorithm and analyzing its energy efficiency. This article introduces Amoeba, a task parallel implementation of a permanence‐based community detection algorithm designed for multicore processors. It uses dynamic tasking to schedule the inherent irregular computation, and it can dynamically adapt the total number of parallel threads, which results in improved energy efficiency. We evaluated Amoeba using several real‐world and artificial graphs on a multicore server processor. Our experimental results show that Amoeba achieves a geometric mean speedup of 15.3 over its sequential implementation, and due to thread adaptability, it achieves energy savings of 12.4% and a speedup of 6% over its nonadaptive implementation.
Read full abstract