Description of the algorithms: 1. Sequential MCE algorithms: a. TTT (Algorithm.MCE.TTT) : Algorithm due to Tomita et al. for maximal clique Enumeration b. BronKerboschDegeneracy (Algorithm.MCE.ELS) : ALgorithm due to Eppstein et al. title: "Listing All Maximal Cliques in Sparse Graphs in Near-optimal Time" 2. Parallel: a. ParTTT (Algorithm.parMCE.ParTTT): Theoretically work-efficient parallel MCE algorithm b. ParMCE: Practical efficient parallel algorithm for MCE. b1. ParMCEDegree (Algorithm.parMCE.ParMCEDegree): Degree based vertex ranking. b2. ParMCEDegeneracy (Algorithm.parMCE.ParMCEDegeneracy): Degeneracy score based vertex ranking. b3. ParMCETriangle (Algorithm.parMCE.ParMCETriangles): Triangle count (for each vertex) based vertex ranking. c. PECO: Distributed algorithm for MCE. Paper: Mining maximal cliques from a large graph using mapreduce: Tackling highly uneven subproblem sizes. by Svendsen et al. However, in executing PECO in our shared memory setting, a new thread is created for each subproblem and they run in parallel. c1. PECODegree (Algorithm.parMCE.PECODegree): Degree based vertex ranking. c2. PECODegeneracy (Algorithm.parMCE.PECODegeneracy): Degeneracy based vertex ranking. c3. PECOTriangle (Algorithm.parMCE.PECOTriangle): Triangle count based vertex ranking. d. pecoShared: Modificationof PECO where we do not explicitly create subgraph for each subproblem. pecoSharedDegree, pecoSharedDegeneracy, pecoSharedTriangle. e. perVertexTTT : For generating the time taken by each subproblem when using TTT (degree based vertex ranking used). f. perVertexParTTT_Total : For generating the time taken by each subproblem when using ParTTT (degree based vertex ranking used). Executing jar: For all codes inside Algorithm.parMCE package: java -Xmx100g -XX:+UseParallelGC -cp v1-0.0.1-SNAPSHOT.jar <module-to-run> <input-graph> <number of threads> For example: For executing ParMCEDegree on orkut_edges with 8 threads: java -Xmx100g -XX:+UseParallelGC -cp v1-0.0.1-SNAPSHOT.jar Algorithm.parMCE.ParMCEDegree orkut_edges 8
Name | Last commit | Last update |
---|---|---|
.idea | ||
.settings | ||
src/main/java | ||
target | ||
.classpath | ||
.project | ||
README | ||
pom.xml | ||
shared-memory-maximal-clique.iml | ||
test |