❗The content presented here is sourced directly from Udemy platform. For comprehensive course details, including enrollment information, simply click on the 'Go to class' link on our website.
Updated in [March 06th, 2023]
This course provides an introduction to building a supercomputer with Raspberry Pis. Participants will learn how to make a working Raspberry Pi from a basic Raspbian installation and customise it to their specifications. They will also learn how to create and spool up slave Raspberry Pi nodes in a fraction of the time it takes to set them up individually. Additionally, participants will learn how to manage the Raspberry Pi computer cluster entirely through the Linux command line interface. They will also learn how to install OpenMPI, compile and run multi-processor programmes from scratch, and discover the fundamentals of writing a multi-threaded C programme. Finally, participants will learn how to create a computer network with their home router, or use a managed switch to expand to a production-level network, as well as export and mount drives, and communicate between Raspberry Pis, all done via the command line.
[Applications]
Those who have completed this course will be able to apply their knowledge to build their own supercomputer with Raspberry Pis. They will be able to customize their Raspberry Pi to their specifications, create and spool up slave Raspberry Pi nodes, manage the Raspberry Pi computer cluster through the Linux command line interface, install OpenMPI, compile and run multi-processor programmes from scratch, write a multi-threaded C programme, create a computer network with their home router or a managed switch, export and mount drives, and communicate between Raspberry Pis.
[Career Paths]
1. Raspberry Pi Developer: Raspberry Pi developers are responsible for designing, developing, and testing software applications for the Raspberry Pi platform. They must have a strong understanding of the Raspberry Pi hardware and software, as well as the ability to write code in multiple languages. As the Raspberry Pi platform continues to grow in popularity, the demand for experienced Raspberry Pi developers is expected to increase.
2. Raspberry Pi System Administrator: Raspberry Pi system administrators are responsible for managing and maintaining the Raspberry Pi platform. They must have a strong understanding of the Raspberry Pi hardware and software, as well as the ability to troubleshoot and resolve any issues that may arise. As the Raspberry Pi platform continues to grow in popularity, the demand for experienced Raspberry Pi system administrators is expected to increase.
3. Raspberry Pi Network Engineer: Raspberry Pi network engineers are responsible for designing, implementing, and maintaining networks for the Raspberry Pi platform. They must have a strong understanding of the Raspberry Pi hardware and software, as well as the ability to configure and troubleshoot networks. As the Raspberry Pi platform continues to grow in popularity, the demand for experienced Raspberry Pi network engineers is expected to increase.
4. Raspberry Pi Security Engineer: Raspberry Pi security engineers are responsible for designing, implementing, and maintaining security systems for the Raspberry Pi platform. They must have a strong understanding of the Raspberry Pi hardware and software, as well as the ability to configure and troubleshoot security systems. As the Raspberry Pi platform continues to grow in popularity, the demand for experienced Raspberry Pi security engineers is expected to increase.
[Education Paths]
1. Computer Science Degree: A computer science degree is a great way to learn the fundamentals of programming, networking, and computer architecture. With a computer science degree, you can develop the skills necessary to build and manage a Raspberry Pi supercomputer. You will learn how to write code, design networks, and understand the architecture of a computer system. Additionally, you will gain an understanding of the latest trends in computer science, such as artificial intelligence, machine learning, and cloud computing.
2. Electrical Engineering Degree: An electrical engineering degree is a great way to learn the fundamentals of electronics and electrical systems. With an electrical engineering degree, you can develop the skills necessary to build and manage a Raspberry Pi supercomputer. You will learn how to design circuits, understand the principles of electricity, and understand the architecture of a computer system. Additionally, you will gain an understanding of the latest trends in electrical engineering, such as robotics, automation, and renewable energy.
3. Data Science Degree: A data science degree is a great way to learn the fundamentals of data analysis and machine learning. With a data science degree, you can develop the skills necessary to build and manage a Raspberry Pi supercomputer. You will learn how to analyze data, understand the principles of machine learning, and understand the architecture of a computer system. Additionally, you will gain an understanding of the latest trends in data science, such as artificial intelligence, natural language processing, and deep learning.
4. Cybersecurity Degree: A cybersecurity degree is a great way to learn the fundamentals of computer security and network security. With a cybersecurity degree, you can develop the skills necessary to build and manage a Raspberry Pi supercomputer. You will learn how to secure networks, understand the principles of cryptography, and understand the architecture of a computer system. Additionally, you will gain an understanding of the latest trends in cybersecurity, such as malware analysis, digital forensics, and cloud security.
Course Syllabus
An Introduction to the Course
Materials for 2-Pi Cluster
An Overview of the Materials to Build a 2-Pi Cluster
Mac OS X - Downloading the NOOBS Package
Mac OS X - Download and Run SD Formatter 4.0 to Format New SD Cards
Windows - Download and Run SD Formatter to Format SD Cards
Mac OS X - Install NOOBS to the Newly Formatted SD Card
Windows - Download and Install NOOBS to SD Card
Plugging in a Raspberry Pi for the First Time
Installing Raspbian with NOOBS
First Boot after Raspbian OS Installation
Raspi-Config - Raspberry Pi Starting Configuration
Mac OS X - Using the Terminal to SSH into your Raspberry Pi
Windows - SSH Into Your Raspberry Pi with Putty Terminal
Updating & Upgrading Raspbian, and Installing the Necessary Packages
Linux Command Sheet 1
C Program: Call Processes
C Program: Calculate Pi
First OpenMPI Test - Call Process Names
Second OpenMPI Test - Calculate the value of Pi
Linux Command Sheet 2
Plugging in the Second Raspberry Pi to the Cluster
Setting up the Configuration on the Second Pi (raspi-config)
Setting Up and Testing the Packages on the Second Pi
Setting Static IP Address on Raspberry Pi
Setting Static IP Addresses with a Router
SSH Between Raspberry Pi Nodes
Set Up Hostnames
Linux Command Sheet 3
Creating a Common User for All Nodes
Generating SSH Keys for the Common User
Linux Command Sheet 4
Creating and Mounting Drives
Running a Multithreaded Program Across Multiple Pis
Automatically Mounting Drives on Boot-Up
Linux Command Sheet 5
Materials for 8-Pi Cluster
An Overview of the 8-Pi Cluster Materials
Set Up Hosts for All Nodes
Backup Raspberry Pi SD Card Image to Computer - Mac
Create New Nodes: Write Raspberry Pi Image to New SD Card
Create New Nodes: Update Hostname
Setting Static IP Address on Additional Raspberry Pi Nodes
Linux Command Sheet 6
Overview of the Raspberry Pi Cluster Setup
Testing Each Raspberry Pi in the Cluster
Before Installing the Switch
Plugging in the Switch for Installation
Plugging in Raspberry Pis to the Switch
Full Raspberry Pi Cluster Review
Run OpenMPI Calculation for Pi on Full Cluster