Patterns and Practices for Future Architectures

Abstract

Graph algorithms are widely used in Department of Defense applications including intelligence analysis, autonomous systems, cyber intelligence and security, and logistics optimization. These analytics must execute at larger scales and higher rates to accommodate the growing velocity, volume, and variety of data sources. The implementations of these algorithms that achieve the highest levels of performance are complex and intimately tied to the underlying architecture. New and emerging computing architectures require new and different implementations of these well-known graph algorithms, yet it is increasingly expensive and difficult for developers to implement algorithms that fully leverage their capabilities. This project investigates approaches that will make high-performance graph analytics on new and emerging architectures more accessible to users. The project is researching the best practices, patterns, and abstractions that will enable the development of a software graph library that separates the concerns of expressing graph algorithms from the details of the underlying computing architectures. The approach started with a fundamental graph analytics function: the breadth-first search (BFS). This technical note compares different BFS algorithms for central and graphics processing units, examining the abstractions used and comparing the complexity of the implementations against the performance achieved.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Aug 01, 2014
Accession Number
ADA610099

Entities

People

  • Eric Werner
  • Jonathan Chu
  • Scott McMillan

Organizations

  • Carnegie Mellon University

Tags

Communities of Interest

  • Advanced Electronics
  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Algebra
  • Algorithms
  • Applied Mathematics
  • Best Practices
  • Central Processing Units
  • Computer Architecture
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Graphics
  • Graphics Processing Unit
  • High Performance Computing
  • Linear Algebra
  • Multithreading
  • Software Development
  • Three Dimensional

Fields of Study

  • Computer science
  • Engineering

Readers

  • Database Systems and Applications
  • Neural Network Machine Learning.
  • Parallel and Distributed Computing.

Technology Areas

  • Autonomy
  • Autonomy - Autonomous System Control
  • Cyber
  • Cyber - Cryptography