What this book covers
Chapter 1, Getting Started with Supercomputing, provides an overall perspective on the concept of supercomputing. The chapter discusses Von Neumann’s architecture, Flynn’s classical taxonomy, a historical perspective on supercomputing, serial and parallel computing techniques, and justifications – including an analytical perspective – for greater processing speeds.
Chapter 2, One Node Supercomputing, discusses how to do supercomputing on one node, in this instance, your PC. You will be instructed how to install Linux/Ubuntu on your PC, which you will then use to run a serial and MPI π code. Next, you will learn about the critical for
loop construct that is used to assign tasks among the cores/processes. Finally, you will write/copy, and run/generate π from the MPI Euler, Leibniz, and Nilakantha infinite series.
Chapter 3, Preparing the Initial Two Nodes, discusses how to build a two-node Pi supercomputer. Initially, you will be presented with a list of parts. You will then learn about the origin of the Pi microcomputer, and its technical specs. Next, you will be shown how to configure the master node in preparation for transferring the requisite MPI test codes from your PC to the master node. Finally, you will configure the first slave node in preparation for the creation a two-node (master and slave1) supercomputer.
Chapter 4, Static IP Address and Hosts File Setup, discusses how to configure the static IP address of the master, slave1, and network switch. Next, you will learn how to set up the hosts
file.
Chapter 5, Creating a Common User for All Nodes, discusses how to create a new user for the master node, how to create a password for the new user on the master node, how to create a new user for the slave1 node, and how to create a password for the new user on the slave1 node. In addition, you will learn how to generate a special key on the master node, which is required for seamless transitioning between the nodes without using a password. You will then learn how to copy the special key from the master node to the slave1 node. Next, you will edit the .bashrc
file on the master node to facilitate seamless special key access to all the nodes. Finally, you will learn how to use the which
command.
Chapter 6, Creating a Mountable Drive on the Master Node, discusses how to use the mkdir
command to make a directory/folder, the chown
command for changing ownership of the export
drive from the root user to a new user, and the rpcbind
command, which allows the master Pi to export the export
 drive on the master to slave nodes. You will learn how to edit the exports file, which at facilitates exporting the export
drive on the master node to the slave nodes, use the nfs-kernel-server
command; edit the bootup script rc.local
, which will make the export
drive on the master node mountable for use by the slave nodes; use the mount
command to manually mount the export
drive containing the MPI codes; use the cat
command to display the content of a file; use the cp -a
command to copy files/codes to the export
drive; and use the -H
command to task any or all nodes; and cores to work on a given problem.
Chapter 7, Configuring the Eight Nodes, discusses how to configure the eight or 16-node Pi supercomputer. You will be shown how to edit the fstab
file on the slave1 node to set up an automatic mount
command, the rc.local
file on the slave1 node to automatically mount the export
drive containing the MPI test code
folder, the hosts
files on the master and slave1 nodes to reflect the temporary IP address, and host names on the remaining six or fourteen slave nodes. You will then be shown how to use the SD formatter for Windows to format the remaining slave SD cards, and win32 Disk Imager to copy the slave1 SD card image to the remaining slave nodes in the cluster. You will then edit/update, once again, the hosts
file on the master and slaves to reflect their actual IP addresses, edit the interfaces
file on the super cluster nodes, and finally, update the MAC and IP address on the network switch for the remaining slave nodes.
Chapter 8, Testing the Super Cluster, discusses how to use the shutdown -h now
command to shut down your Pi computer, the -H
command to solve the MPI π
function in record time, and create convenience bash
files to enhance the user experience while operating the supercomputer.
Chapter 9, Real-World Math Application, discusses how to write and run serial and MPI Taylor series, sine
, cosine
, tangent
, and the natural log
functions.
Chapter 10, Real-World Physics Application, discusses how to write and run the MPI code for a vibrating string.
Chapter 11, Real-World Engineering Application, discusses how to write and run a serial and MPI sawtooth Fourier series code.