Blog‎ > ‎

Parallelism @ NOESIS

posted Jan 10, 2013, 11:06 AM by Fernando Berzal   [ updated Jan 11, 2013, 3:20 PM ]
Simple performance test using a Wikipedia GML network (available at http://spark-public.s3.amazonaws.com/sna/other/wikipedia.gml):

NETWORK STATISTICS
- Nodes: 27475
- Links: 85729
- 3 node attributes: id wikiid label
- 0 link attributes:
Degree distributions
- Out-degrees: [n=27475 min=0.0 max=565.0 avg=3.1202547770700635 dev=9.038219683086334]
- In-degrees:  [n=27475 min=0.0 max=367.0 avg=3.1202547770700635 dev=8.99990229087909]
Node of maximum out-degree:
- out-degree: 565 out-links
- in-degree: 0 in-links
- id: 8436
- wikiid: 1807178
- label: List of mathematics articles (S)
Node of maximum in-degree:
- out-degree: 44 out-links
- in-degree: 367 in-links
- id: 10807
- wikiid: 7250299
- label: Geometry
Betweenness
[n=27475 min=2.0 max=2.1696583120297994E7 avg=79690.76047315753 dev=404883.4016065179]
Node of maximum betweenness:
- out-degree: 29 out-links
- in-degree: 82 in-links
- id: 12533
- wikiid: 5176
- label: Calculus

Time:  27442 ms

Using a conventional Core i5 laptop (vs. 56 seconds using a sequential implementation). 

Same experiment running igraph... 103 seconds 

Same experiment running NetworkX... 40 minutes !!!


UPDATE: 
Additional tests on a 2.67GHz Intel Core i7 920 desktop PC using different CPU schedulers:
- 71.6-71.9s @ SequentialScheduler
- 19.6-26.7s @ FutureScheduler(8)
- 16.7-20.1s @ WorkStealingScheduler(8)
- 16.7-19.4s @ FutureScheduler(32)
- 16.6-19.3s @ FutureScheduler(16)
- 16.5-17.8s @ ThreadPoolScheduler
- 16.4-17.1s @ WorkStealingScheduler(64)
- 16.4-17.0s @ WorkStealingScheduler(32)
- 16.4-16.6s @ WorkStealingScheduler(16)

ċ
centrality.igraph.py
(4k)
Fernando Berzal,
Jan 10, 2013, 11:06 AM
ċ
centrality.networkx.py
(2k)
Fernando Berzal,
Jan 10, 2013, 11:06 AM
Comments