SWARM: A parallel programming framework for multicore processors

David A. Bader, Varun Kanade, Kamesh Madduri

Research output: Chapter in Book/Report/Conference proceedingConference contribution

27 Citations (Scopus)

Abstract

Due to fundamental physical limitations and power constraints, we are witnessing a radical change in commodity microprocessor architectures to multicore designs. Continued performance on multicore processors now requires the exploitation of concurrency at the algorithmic level. In this paper, we identify key issues in algorithm design for multicore processors and propose a computational, model for these systems. We introduce SWARM (Software and Algorithms for Running on Multi-core), a portable open-source parallel library of basic primitives that fully exploit multicore processors. Using this framework, we have implemented efficient parallel algorithms for important primitive operations such as prefixsums, pointer-jumping, symmetry breaking, and list ranking; for combinatorial problems such as sorting and selection; for parallel graph theoretic algorithms such as spanning tree, minimum spanning tree, graph decomposition, and tree contraction; and for computational genomics applications such as maximum parsimony. The main contributions of this paper are the design of the SWARM multicore framework, the presentation of a multicore algorithmic model, and validation results for this model. SWARM is freely available as open-source from http: //multicore-swarm.sourceforge.net/.

Original languageEnglish (US)
Title of host publicationProceedings - 21st International Parallel and Distributed Processing Symposium, IPDPS 2007; Abstracts and CD-ROM
DOIs
StatePublished - Sep 24 2007
Event21st International Parallel and Distributed Processing Symposium, IPDPS 2007 - Long Beach, CA, United States
Duration: Mar 26 2007Mar 30 2007

Publication series

NameProceedings - 21st International Parallel and Distributed Processing Symposium, IPDPS 2007; Abstracts and CD-ROM

Other

Other21st International Parallel and Distributed Processing Symposium, IPDPS 2007
CountryUnited States
CityLong Beach, CA
Period3/26/073/30/07

Fingerprint

Parallel programming
Multi-core Processor
Parallel Programming
Program processors
Software
Open Source
Maximum Parsimony
Sorting
Graph Decomposition
Parallel algorithms
Microprocessor chips
Algorithm Design
Minimum Spanning Tree
Microprocessor
Combinatorial Problems
Concurrency
Framework
Swarm
Spanning tree
Symmetry Breaking

All Science Journal Classification (ASJC) codes

  • Hardware and Architecture
  • Software
  • Mathematics(all)

Cite this

Bader, D. A., Kanade, V., & Madduri, K. (2007). SWARM: A parallel programming framework for multicore processors. In Proceedings - 21st International Parallel and Distributed Processing Symposium, IPDPS 2007; Abstracts and CD-ROM [4228409] (Proceedings - 21st International Parallel and Distributed Processing Symposium, IPDPS 2007; Abstracts and CD-ROM). https://doi.org/10.1109/IPDPS.2007.370681
Bader, David A. ; Kanade, Varun ; Madduri, Kamesh. / SWARM : A parallel programming framework for multicore processors. Proceedings - 21st International Parallel and Distributed Processing Symposium, IPDPS 2007; Abstracts and CD-ROM. 2007. (Proceedings - 21st International Parallel and Distributed Processing Symposium, IPDPS 2007; Abstracts and CD-ROM).
@inproceedings{42c797a88148455a9b6a85ce1df512b5,
title = "SWARM: A parallel programming framework for multicore processors",
abstract = "Due to fundamental physical limitations and power constraints, we are witnessing a radical change in commodity microprocessor architectures to multicore designs. Continued performance on multicore processors now requires the exploitation of concurrency at the algorithmic level. In this paper, we identify key issues in algorithm design for multicore processors and propose a computational, model for these systems. We introduce SWARM (Software and Algorithms for Running on Multi-core), a portable open-source parallel library of basic primitives that fully exploit multicore processors. Using this framework, we have implemented efficient parallel algorithms for important primitive operations such as prefixsums, pointer-jumping, symmetry breaking, and list ranking; for combinatorial problems such as sorting and selection; for parallel graph theoretic algorithms such as spanning tree, minimum spanning tree, graph decomposition, and tree contraction; and for computational genomics applications such as maximum parsimony. The main contributions of this paper are the design of the SWARM multicore framework, the presentation of a multicore algorithmic model, and validation results for this model. SWARM is freely available as open-source from http: //multicore-swarm.sourceforge.net/.",
author = "Bader, {David A.} and Varun Kanade and Kamesh Madduri",
year = "2007",
month = "9",
day = "24",
doi = "10.1109/IPDPS.2007.370681",
language = "English (US)",
isbn = "1424409101",
series = "Proceedings - 21st International Parallel and Distributed Processing Symposium, IPDPS 2007; Abstracts and CD-ROM",
booktitle = "Proceedings - 21st International Parallel and Distributed Processing Symposium, IPDPS 2007; Abstracts and CD-ROM",

}

Bader, DA, Kanade, V & Madduri, K 2007, SWARM: A parallel programming framework for multicore processors. in Proceedings - 21st International Parallel and Distributed Processing Symposium, IPDPS 2007; Abstracts and CD-ROM., 4228409, Proceedings - 21st International Parallel and Distributed Processing Symposium, IPDPS 2007; Abstracts and CD-ROM, 21st International Parallel and Distributed Processing Symposium, IPDPS 2007, Long Beach, CA, United States, 3/26/07. https://doi.org/10.1109/IPDPS.2007.370681

SWARM : A parallel programming framework for multicore processors. / Bader, David A.; Kanade, Varun; Madduri, Kamesh.

Proceedings - 21st International Parallel and Distributed Processing Symposium, IPDPS 2007; Abstracts and CD-ROM. 2007. 4228409 (Proceedings - 21st International Parallel and Distributed Processing Symposium, IPDPS 2007; Abstracts and CD-ROM).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

TY - GEN

T1 - SWARM

T2 - A parallel programming framework for multicore processors

AU - Bader, David A.

AU - Kanade, Varun

AU - Madduri, Kamesh

PY - 2007/9/24

Y1 - 2007/9/24

N2 - Due to fundamental physical limitations and power constraints, we are witnessing a radical change in commodity microprocessor architectures to multicore designs. Continued performance on multicore processors now requires the exploitation of concurrency at the algorithmic level. In this paper, we identify key issues in algorithm design for multicore processors and propose a computational, model for these systems. We introduce SWARM (Software and Algorithms for Running on Multi-core), a portable open-source parallel library of basic primitives that fully exploit multicore processors. Using this framework, we have implemented efficient parallel algorithms for important primitive operations such as prefixsums, pointer-jumping, symmetry breaking, and list ranking; for combinatorial problems such as sorting and selection; for parallel graph theoretic algorithms such as spanning tree, minimum spanning tree, graph decomposition, and tree contraction; and for computational genomics applications such as maximum parsimony. The main contributions of this paper are the design of the SWARM multicore framework, the presentation of a multicore algorithmic model, and validation results for this model. SWARM is freely available as open-source from http: //multicore-swarm.sourceforge.net/.

AB - Due to fundamental physical limitations and power constraints, we are witnessing a radical change in commodity microprocessor architectures to multicore designs. Continued performance on multicore processors now requires the exploitation of concurrency at the algorithmic level. In this paper, we identify key issues in algorithm design for multicore processors and propose a computational, model for these systems. We introduce SWARM (Software and Algorithms for Running on Multi-core), a portable open-source parallel library of basic primitives that fully exploit multicore processors. Using this framework, we have implemented efficient parallel algorithms for important primitive operations such as prefixsums, pointer-jumping, symmetry breaking, and list ranking; for combinatorial problems such as sorting and selection; for parallel graph theoretic algorithms such as spanning tree, minimum spanning tree, graph decomposition, and tree contraction; and for computational genomics applications such as maximum parsimony. The main contributions of this paper are the design of the SWARM multicore framework, the presentation of a multicore algorithmic model, and validation results for this model. SWARM is freely available as open-source from http: //multicore-swarm.sourceforge.net/.

UR - http://www.scopus.com/inward/record.url?scp=34548738436&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=34548738436&partnerID=8YFLogxK

U2 - 10.1109/IPDPS.2007.370681

DO - 10.1109/IPDPS.2007.370681

M3 - Conference contribution

AN - SCOPUS:34548738436

SN - 1424409101

SN - 9781424409105

T3 - Proceedings - 21st International Parallel and Distributed Processing Symposium, IPDPS 2007; Abstracts and CD-ROM

BT - Proceedings - 21st International Parallel and Distributed Processing Symposium, IPDPS 2007; Abstracts and CD-ROM

ER -

Bader DA, Kanade V, Madduri K. SWARM: A parallel programming framework for multicore processors. In Proceedings - 21st International Parallel and Distributed Processing Symposium, IPDPS 2007; Abstracts and CD-ROM. 2007. 4228409. (Proceedings - 21st International Parallel and Distributed Processing Symposium, IPDPS 2007; Abstracts and CD-ROM). https://doi.org/10.1109/IPDPS.2007.370681