LittleFe Manual
From LittleFe
Contents |
Unpacking and Setting up your LittleFe Computer
Materials
The Following items have been included with your LittleFe computer.
- A Mouse (USB or PSP)*
- a Keyboard*
- BCCD ISO**
- Packaging Towel***
In addition to these things, you will need the following items
- Working Power Outlet
- A Monitor or Projector (or a computer that has one of these and can connect to LittleFe)
If something has not been included or does not function, please email users@littlefe.net with your address, phone number, and the missing or non-functional item and we will send a replacement
* This is just an ordinary computer accessory that can be found at any hardware store if you can't wait for the replacement. ** On a CD or USB. The latest can be downloaded from www.littlefe.net *** This is just an ordinary towel. It helps LittleFe not to bump around so much when it's transported, so bubble wrap or sufficient packing peanuts will also suffice.
Unpacking
- Carefully lift the hinges of the box and remove the LittleFe terminal. Do not plug in the LittleFe terminal yet.
- Plug the Ethernet cables labeled lf0, lf1, lf2, lf3, lf4, and lf5 into their respective Ethernet ports starting from the side with the switch and plug
- Plug in the AC cords under the fan; the order doesn't matter. These will spread power from the first processor to all of the processors. You may now plug in the computer.
- Plug the socket end of the power cord into the plug on the LittleFe terminal. It's near one of the LittleFe labels and next to a power switch.
- On lf0 Plug the monitor into the monitor socket, the Ethernet cable into the wall and the Ethernet socket and the mouse and keyboard into their sockets.
- Now you should be ready to turn on your LittleFe computer.
Repacking
- Unplug all the ethernet cables, the power cables, and the mouse, keyboard, and monitor cables.
- Carefully place LittleFe back into its storage container, making sure to put the feet in the little
holders at the bottom.
- Wrap LittleFe in the safety towel (if you don't have the safety towel, any towel will do)
- place all the extra components that came with your LittleFe (see materials) in the box as well.
- Carefully latch the box, making sure that the box will not open without being unlatched again.
- Your LittleFe is now ready to go wherever you need it!
Liberating the BCCD onto Your LittleFe Computer
“Liberation” is essentially the same as installation. The Bootable Cluster Compact Disk, or BCCD should come preliberated on your computer, so you will probably be able to skip this section. If you should for some reason want or need to reliberate, we have provided with the terminal a BCCD for that purpose. If you want the latest version of the BCCD, download it from http://bccd.cs.uni.edu/BCCD-Images/ and, using an image-burning software (comes with macs, free 30-day trial downloads available online for windows) burn it to a CD. That CD is now the BCCD.
Liberating from the BCCD*
- Insert the BCCD into the CD drive of your LittleFe computer
- Turn on your computer; make sure that the blue light on your first processor (the one with the lf0 ethernet cord sticking out of it) is on.
- Follow the on-screen instructions until you get to a login screen, selecting yes for everything. At the PCI module screen, if you do not know your networking card, pick auto. For more information, go to http://bccd.cs.uni.edu/mediawiki/index.php/Booting_up_the_CD
- Login as root. The password should be letmein. Linux computers do not show asterisks when one is typing a password, so do not be surprised when nothing appears.
- Run list-packages. You may have to wait for a bit, but eventually a screen should appear listing several different packages.
- Install Liberation
- Type these five commands exactly and in order. Be sure to press enter after each one. If you make a mistake, type cd ~root/ and start over.
- cd /usr/local/
- wget http://cluster.earlham.edu/~lemanal/lib-packs/tftp.tar.gz
- tar -zxvf ./tftp.tar.gz
- wget http://cluster.earlham.edu/~lemanal/lib-packs/nfs-utils.tar.gz
- tar -zxvf ./nfs-utils.tar.gz
- Begin the liberation process. Everything on the hard drive will be erased except the files you just installed in the previous steps. This process may take a while.
- liberate hda
- type 'y'. You want to erase the hard drive.
- AFTER THE PROCESS HAS COMPLETED remove the BCCD
- type shutdown -r now
- include the 'now'. It is very important.
- This will reboot your computer
- after rebooting without the BCCD, LittleFe may ask you to declare a password again. You may reenter the same password or a different one, whatever you like.
- After your computer finishes rebooting, return the BCCD to the drive, and log in as root
- Type /usr/local/sbin/prepareserver and push enter
- Type discoverhosts.sh and push enter
- Follow the on screen instructions.
- Progress from the node closest to the CD drive
- Push the button on top of a node to turn it on and off.
- Repeat this until you've gotten to lf5, at which point there should be no more nodes to recognize.
- Type fbsetup.sh and push enter.
- Pick a resolution.
- If you don't know what they mean, pick 800 X 600
- Pick a resolution.
- type lilo and push enter
- Remove the BCCD again, type shutdown -r now and push enter.
- This should reset your computer.
- The BCCD should now be liberated onto your computer!
*this process will require a functioning internet connection. If you have a functioning internet, but still cannot connect to the list-packages, try plugging the Ethernet cord that connects to the wall into lf1's internal port (as opposed to the external port that it will be already plugged into) and resetting. If it still does not work, your network firewall may be interfering. Check with your network administrator.
BCCD's Programs
Basic Linux
It is important to log in as BCCD, or you will not be able to see any of these programs to change directories type cd and the directory to which you wish to go.
cd Life
- cd .. leaves your current directory and goes to the parent directory.
- ls lists the contents of a directory
X-Windows
In order to see the windows many of these programs use, you're going to need a Graphical User Interface. BCCD has one built in called X-Windows. To start this, simply type startx and push enter
Compiling
To compile a program, go into its folder and type make all. To run a program, type ./ and the program name (for example, to run life, type ./life)
Cpi, Pip, and Pi3
These programs use different methods to find pi. Pi3 will ask you how many iterations you would like it to use, and its result will be more accurate with more iterations.
The Game of Life (located in Life)
This starts a randomly generated game of Life. The game of Life is a cellular automata model.
While there is no way of directly editing the cells, one can vary the size of the window using the parameters.
The parameters of Life :
./life rows columns iterations do_display
- rows: the height, in cells, of the application
- columns: the width, in cells, of the application
- iterations: the number of turns the game will go through before exiting automatically
- do_display: This parameter takes the values 1 and 0.
- 1: Life will display a window showing the automata
- 0: Life will not display a window.
More information and class activity ideas can be found at http://bccd.cs.uni.edu/mediawiki/index.php/Game_of_Life
GalaxSee (Located in Gal)
This program simulates a galaxy using Newtonian laws of physics.
GalaxSee's parameters:
./GalaxSee stars mass final_time do_display
- stars: the number of stars
- mass: the mass of each star
- final_time: the number of millions of years (turns) the game will go through before exiting automatically
- do_display: This parameter takes the values 1 and 0.
- 1: GalaxSee will display a window showing separate models of the stars from two different angles
- 0: GalaxSee will not display a window.
More information and class activity ideas can be found at http://bccd.cs.uni.edu/mediawiki/index.php/GalaxSee
Parameter_Space (Located in Param_Space)
This is a Monte-Carlo model of the dart game “301”
Parameters:
./Param_Space radial+1 angular+1 averages do_display
- radial & angular: The number of different radial and different angular coordinates that
- Parameter_Space will take.*
- averages: The number of different averages the game will calculate
- do_display: This parameter takes the values 1 and 0.
- 1: Parameter_Space will display a dart board.
- 0: Parameter_Space will not display a window.
NOTE: You must enter one more than you actually want for radial and angular. *Being that a Monte-Carlo model averages the results of many games with many different strategies, the program needs to know how many different places it should aim. The locations are given in polar coordinates, so there's a random number of radii, and a random number of angular values for each radius.
More information and class activity ideas can be found at http://bccd.cs.uni.edu/mediawiki/index.php/Parameter_Space
LittleFe in the Classroom
Parallel Processing with LittleFe
Given that LittleFe is designed to teach parallel processing, it will be important to know how to instruct it to use more than one processor to run a given process. For LittleFe, you may simply type “mpirun -np (#processors you want to use) -machinefile ~/machines” in front of the program call. If the machines file does not yet exist in your home directory, go to the home directory and type
cp /etc/lfhostfile ./machines mpirun -np 2 -machinefile ~/machines ./Life 100 50 1000 1
- mpirun this is the base command. Start with this every time
- -np 2 #processors. LittleFe has six processors, so you can use anywhere between one and six.
- -machinefile ~/machines which processors? You should not need to change this. If it doesn't work try remaking the machinefile.
Everything after the ./ is just the program you're running in parallel and its parameters. For these, see the BCCD's Programs section.
Note: For some programs (such as the game of life) you will want to reduce one of the parameters to give each processor only its share of the work load. For example, with two processors, you may reduce the Life program's width to 50 (50 width for each processor). For GalaxSee and Param_space, don't worry about changing the parameters, these programs will take care of that automatically.
Timing operations with LittleFe
To determine the effectiveness of having multiple processors collaborate on a task, you may want to time your programs. Fortunately you do not need a stopwatch for this. The BCCD has a built-in function to do it for you!
Simply put “time” in front of everything else in your command line, like so:
time mpirun -np 2 ./Life 100 50 1000 1
The console will return three values. Don't worry about any of them except for real, which is the total time the computer spent running the program.
Teaching Parallel Processing
This manual is primarily concerned with the technical aspects of LittleFe. For classroom suggestions, go to the online documentation pages of the individual programs, or go to http://bccd.cs.uni.edu/mediawiki/index.php/Main_Page Thank you for using LittleFe!
