You can click on the image for a bigger version.
In the picture, the top left panel is a terminal window with a “make” of the Pi Linux Kernel being run on my Pi Model 3. The bottom left tiny window is where I ran “scrot” to make the SCreen shOT. The three panels on the right are running “top”. It shows what processes are running and some other operational aspects like memory used and swap and such.
In order, top to bottom, are the “top” reports for the Pi-M3 workstation showing one C compile running (CC1), under it the panel for “Headless 1” showing several CC1 instances running, then under that “Headless2” showing none running.
Now I’m not sure why none are running on “Headless 2”. It ought to have an even share of the load with Headless 1, but I might have a tuning parameter wrong or it might not be participating in the pool. That debugging is for tonight (now that I have a working test case).
The “biggie” for me is that I’m posting this on the Pi Model 3, with little notice of the build happening, since it is only running the occasional one compile in one cpu, while most of the work is farmed out to that other Pi Model 2 board. Nice, that.
So time to celebrate a tiny bit! Yay!!!
I “lost” about 3 hours today trying to find something to compile as a test case. I found free and open source compiles for a fancy BASIC, that was written in itself… Sigh. For a nice C, that wasn’t willing to try compiling on ARM. For g95 Fortran that I’ve compiled before, that ceased development in about 2008 so doesn’t know what an ARMv7 target is… and more junk.
Finally I had a bit of clue that maybe, just maybe I ought to simply build the Pi kernel itself since by definition it will have no such issues. Ta Da! How To here:
Don’t expect to see any such thing for FORTRAN compiles. It doesn’t use distcc. OTOH, compiling Model II on the Pi Model 3 takes about 3 minutes, so who cares… the models are NOT big chunks of code. (Especially not compared with Linux Kernels, tools, compilers, and most large commercial codes. Heck, even a browser is much much larger.)
So what good is it?
Well, for one, it is a demonstration case that the cluster works. It also will really help with things like “rolling my own” distribution and building one from sources. (so that week to build BSD can become a day, or less…)
It is also a ‘shake down’ for the cluster. If it can compile a working linux, it can run a compute intensive model without heat or other modes of failure.
So, with those steps out of the way, I’m on to the next bits.
1) Get “Headless 2” to participate in the compile party.
2) Build Model E and test the MPI distributed execution.
3) Run Model II and see how long it takes. Maybe try adding some MPI bits to it.
4) Add the Banana Pi 3rd headless node to the cluster and see if it “plays well with others”.
5) Finally get around to building that UPS I wanted…
Power failed today for about 1/2 hour in the storm. The Pi’s did a great job of rebooting on their own, but I’d rather not have that happen in the middle of a Linux build. I’ve got a kW UPS with a dead gel battery in it, and I’ve got a BIG Mercedes sized battery that could stand to live on a trickle charger… soo… Battery to box. Clean up UPS and remove battery. Add jumpers. Viola!… (Pronounce Vi-Ola for effect ;-) NOT an error in Voilà)
With that, I’m taking a dinner break and a movie break and a just sit and glow a bit break ;-)