Giter Club home page Giter Club logo

sandbox-cluster-guide's Introduction

SDSC Sandbox Raspberry Pi Cluster Guide

This is a guide to building Linux clusters for Raspberry Pis. In the workshop directory you'll find some background information on Linux clusters and parallel computing along with the step-by-step instructions on how to create a Raspberry Pi cluster. The config directory has a script and configuration files that to help set up the cluster. And the examples directory contains a growing number of parallel applications for trying out and hacking.

This guide comes out of our experience with Meteor, a Raspberry Pi cluster driving a display wall with 15 Raspberry Pi. We've used that to create video games for fun at several SC Conferences and teach high school and college students how to do parallel and distributed computing. Coupling the LCD panels to the Raspberry Pis makes a huge difference in helping people new to parallel computing get a handle on "what's running where". It also makes for a very engaging environment. You don't need to do this for your cluster but if you want to this will help you start.

Please contribute via issues or a pull request!

Concept & Motivation

Right now, there are few courses on parallel programming even at the undergraduate level, but the basic concepts aren't difficult. We want to get those concepts out to students in an accessible way by helping people build and use small supercomputers. This guide shows you how to put together a Linux cluster using 2-4 Raspberry Pis, including hardware assembly, networking, and running parallel applications. The cluster will be a working model of a supercomputer and able to run the same parallel applications (at a smaller scale).

For the last few years, we have worked with undergraduates at the University of California, San Diego introducing them to parallel and distributed computing using Raspberry Pis . This experience is easily adaptable to the high school setting, so long as the students have some help getting over the technical hurdles, like network configuration and setting up an environment to run libraries such as the Message Passing Interface. From there, students can learn to build networked applications like chat clients, model a 3-tier client-logic-storage web architecture, or run fluid dynamics simulations. The purpose of the workshop content is to show the teachers or independent students how to set up the cluster, and then spend some time running parallel applications.

Topics

  • The importance of parallel programming and high performance computing (e.g., the National Strategic Computing Initiative)
  • Introduction to parallel programming in research: models and tools
  • What is a Linux cluster?
  • An overview of the Raspberry Pi, the project, the hardware, and the community
  • Basic network configuration
  • Using SSH
  • Running parallel applications using MPI
  • How to architect a simple distributed graphics application

Relevance

On their own, Raspberry Pis are a great resource for many types of classes. They can be used for programming, robotics, or electronics. The Pis low cost and small size also make them more accessible for many students. Beyond this, creating a cluster of Raspberry Pis opens up a new area, one where students begin to think about how to take advantage of multiple threads of execution on separate processors, or to break up the workload onto several computers. This is what professionals at the technology giants (Google, Microsoft, Amazon, etc.) are doing all the time, along with scientists modeling earthquakes or stars.

Licence

Unless otherwise specified, everything in this repository is covered by the following licence:

Creative Commons License

SDSC Sandbox Raspberry Pi Cluster Guide by the San Diego Supercomputer Center is licenced under a Creative Commons Attribution 4.0 International License.

Based on a work at https://github.com/sdsc/sandbox-cluster-guide

sandbox-cluster-guide's People

Contributors

amitnijjar avatar cjy008 avatar crosean avatar melissaly avatar sonpeppers avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sandbox-cluster-guide's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.