Cluster Computing using Intel Concurrent Collections

Author/Creator

Author/Creator ORCID

Date

2012

Department

Program

Citation of Original Publication

Rights

This item is likely protected under Title 17 of the U.S. Copyright Law. Unless on a Creative Commons license, for uses protected by Copyright Law, contact the copyright holder or the author.

Abstract

The Intel Corporation is developing a new parallel software and compiler called Concurrent Collections (CnC) to make programming in parallel easier for the user. CnC provides a system of collections comprised of steps, items, and tags. A CnC user specifies their algorithm in a graph representation using these constructs. Using this graph of dependencies, CnC automatically identifies parallelizable code segments and executes code in parallel. The present work focuses on the distributed version of CnC, where parallel code is run across multiple compute nodes. Specific accomplishments included getting distributed CnC working on the cluster tara in the UMBC High Performance Computing Facility, running timing tests, analyzing the data, and creating a generalized portable version of the distributed CnC code. This work allows a user in the distributed mode to have independent control over the number of threads, cores, and nodes to be used by a program. Several performance studies were ran in order to analyze the efficiency of the parallelism. Results for a parameter study show that Distributed CnC achieves a near-ideal speed-up for an increasing number of nodes.