OpenCUDA+MPI A Framework for Heterogeneous GP-GPU Cluster Computing

Kenny Ballou

March 20, 2013

Ballou OpenCUDA+MPI

1 GP-GPU Computing Introduction 2 Problems and Solutions 3 A Little About Methodology 4 What’s Been Done

Ballou OpenCUDA+MPI

1 GP-GPU Computing Introduction

Parallel versus Distributed Computing Applications of Supercomputing Who Uses Supercomputing? 2 Problems and Solutions 3 A Little About Methodology 4 What’s Been Done

Ballou OpenCUDA+MPI

Introduction Parallel and Distributed Computing

What is GP-GPU Distributed Computing? Parallel: Processing concurrently

Distributed: Processing over many computers, typically in parallel, but not always Local Grid Computing

Ballou OpenCUDA+MPI

Applications of Supercomputing What can we do with Parallel and Distributed Computing?

Solving (Large) Linear Systems LINPACK Benchmarks

Fluid Dynamic Simulations N-Body Simulations Brute-Force Password/Hash Cracking Prime Number Searching Protein Folding Image Analysis / Manipulation ...

Ballou OpenCUDA+MPI

Who Uses Supercomputing?

ALL The People

Ballou OpenCUDA+MPI

Who Uses Supercomputing? No Really. . .

Google – Page Indexing Created Map-Reduce

Facebook – Data Mining Universities Many Others

Ballou OpenCUDA+MPI

1 GP-GPU Computing Introduction 2 Problems and Solutions

Problems with Current Solutions Solutions Plans and Goals 3 A Little About Methodology 4 What’s Been Done

Ballou OpenCUDA+MPI

Problems

”Distributed Programming” is expensive Specificity of Hardware Data Distribution Volume NFS

Fault Tolerance Optimizing Resources and Utilization

Ballou OpenCUDA+MPI

A Framework Solutions

Ease Programming Interface for Highly Parallel Distributed Computing Allow for Diversity in Computing Environment Bring together ideas from both types of distributed computing ”Jungle Computing”

Ballou OpenCUDA+MPI

Plan and Goals

Develop a framework for distributed computing over a heterogeneous cluster Develop several different solutions for vascular extraction from CT angiography scans Profile the different solutions Add Cluster/ Node Configuration and Scheduling Options Release as FOSS to the world

Ballou OpenCUDA+MPI

1 GP-GPU Computing Introduction 2 Problems and Solutions 3 A Little About Methodology

Implementation Details 4 What’s Been Done

Ballou OpenCUDA+MPI

Implementation Details

Arch Linux Salt Python CUDA (Open)MPI

Ballou OpenCUDA+MPI

Arch Linux

Core Tenet: Minimalism Small Lightweight Familiarity

Ballou OpenCUDA+MPI

Salt More than just NaCl

Provisioning tool for managing infrastructure Allows for ”Push” based state changes Remote Execution Simplicity Fast

Ballou OpenCUDA+MPI

Python

Development Speed: Expressive and Readable Fast Enough Written in C/C++

Great and Many Profiling Tools time.time() timeit cProfile ...

Where slow, allows use of C/C++ code

Ballou OpenCUDA+MPI

CUDA Compute Unified Device Architecture

Established interface with (nVidia) GPU’s pyCUDA Deferred CUDA kernel compilation

Familiarity

Ballou OpenCUDA+MPI

(Open)MPI

Established interface for inter-process communication mpi4py One of the most complete MPI implementations

Ballou OpenCUDA+MPI

1 GP-GPU Computing Introduction 2 Problems and Solutions 3 A Little About Methodology 4 What’s Been Done

What I have been doing Moving Forward Problems Encountered Potential Solutions

Ballou OpenCUDA+MPI

Tasks

Learning MPI, mpi4py, and pyCUDA Node/ Cluster Administration Node Build Scripts Salt Configuration Special Thanks to Danny

Lots of thinking

Ballou OpenCUDA+MPI

Moving Forward

Finish Creating Salt States and Configuration Continue Learning MPI and pyCUDA Develop Framework

Ballou OpenCUDA+MPI

Problems / Roadblocks

Power Requirements NFS Share /home performance Time?

Ballou OpenCUDA+MPI

Potential Solutions

Request(ing) more suitable and stable power Researching Distributed Filesystems / File storage

Ballou OpenCUDA+MPI

OpenCUDA+MPI A Framework for Heterogeneous GP-GPU Cluster Computing

Kenny Ballou

March 20, 2013

Ballou OpenCUDA+MPI

OpenCUDA+MPI - A Framework for Heterogeneous GP ... - GitHub

CUDA. Compute Unified Device Architecture. Established interface with (nVidia) GPU's. pyCUDA. Deferred CUDA kernel compilation. Familiarity. Ballou. OpenCUDA+MPI ...

175KB Sizes 0 Downloads 97 Views

Recommend Documents

OpenCUDA+MPI - A Framework for Heterogeneous GP-GPU ... - GitHub
Kenny Ballou, Boise State University Department of Computer Science ... computing limit scientists and researchers in various ways. The goal of.

Generic Load Regulation Framework for Erlang - GitHub
Erlang'10, September 30, 2010, Baltimore, Maryland, USA. Copyright c 2010 ACM ...... rate on a budget dual-core laptop was 500 requests/s. Using parallel.

Open Modeling Framework - GitHub
Prepared for the U.S. Department of Energy, Office of Electricity Delivery and Energy Reliability, under Contract ... (ORNL), and the National Renewable Energy.

The Coco Framework - GitHub
Aug 10, 2017 - failure. In a consortium of banks, members could be large, global, systemically important financial institutions (GSIFIs). ... End users, such as a bank's customers, do not have an identity in the Coco network and cannot transact .....

'''. ' "gp : '
rr'lqoaleolcmd ors'l o9to,[email protected]{,agpca;qr. , edloi rrucqq-ndsr",. , l. '''. ' "gp i /dr6tneDJcotarocnoffiqer.g . ' : '. or5Ocrun'Oorciirorl odc6rnJo. cruJ^. *rfor$*.-.

'''. ' "gp : '
rr'lqoaleolcmd ors'l o9to,[email protected]{,agpca;qr. , edloi rrucqq-ndsr",. , l. '''. ' "gp i /dr6tneDJcotarocnoffiqer.g . ' : '. or5Ocrun'Oorciirorl odc6rnJo. cruJ^. *rfor$*.-.

IBPM: An Open-Source-Based Framework for InfiniBand ... - GitHub
Evaluation of Computer and Communication Systems (MMB) and. Dependability and ... 2 These authors are with science+computing ag, Tuebingen, Germany.

Open Data publishing method framework - GitHub
Attribution 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/. Build. Assess. Iterate. Certification. Publish!