Artificial Intelligencer

•  A special technology supplement to The Mattopia Times  •

#UserExperience  •  #ProductOwnership  •  #STEM/STEAM  •  #Coding  •  #RaspberryPi4  •  #BOINC  •  #SETI  •  #ArtificialIntelligence  •  #WorldIsNotEnough  •  #LifeUniverseEverything

Using Raspberry Pi for Coronavirus Research

3 May 2020

Little did I know it at the time I ordered a Raspberry Pi 4, but I became part of the wave of surging interest in the tiny computer during this bizarre period of the world sheltering in place.

My Raspberry Pi robotics experiment has been an eye-opening look at all sorts of DIY IoT possibilities. But there’s another aspect that’s taken me on quite a detour through distributed computing, the world of BOINC and right into the thick of protein modeling as part of the fight against COVID-19.

The Fold for Covid project sums it up: it’s an opportunity to join a distributed computing network that provides computing resources to scientists trying to crack the COVID-19 code and — through data crunching on a massive scale — find ways to combat the virus.

Here’s a more detailed description from Rosetta@home: “By running the Rosetta program on your computer while you don't need it you will help us speed up and extend our research in ways we couldn't possibly attempt without your help. You will also be helping our efforts at designing new proteins to fight diseases such as HIV, Malaria, Cancer and Alzheimer’s.”

If you’re interested in joining the fight, here’s all you need to do this on a Raspberry Pi 4:

  1. Raspberry Pi 4 Model B
  2. HDMI-Micro to HDMI cable (using a TV as a monitor)
  3. USB-C cable (for power)
  4. 16 GB MicroSD card
  5. NOOBS (New Out Of the Box Software) install of the Raspbian operating system
  6. BOINC Manager
  7. Keyboard
  8. Mouse

NOOBS and BOINC

It took a while to find the right combination to unlock the power of the Pi 4 for protein folding.

The best route is to first download and install on a MicroSD card the Raspbian operating system (NOOBS). Then, boot upthe Pi and use the Raspbian system tools to install BOINC (Berkeley Open Infrastructure for Network Computing).

Within BOINC, add the Rosetta@home project and create a free account. That way, progress can be tracked for individual credit and certification. Also, multiple computers can be tracked together in a project account dashboard.

At this point, I found Rosetta still getting derailed. When selecting the project in BOINC, a warning message appears that says jobs might not be compatible with the device. Universe@home and some other jobs run without a problem, but Rosetta@home was throwing an error: "This project doesn't support computers of type arm-unknown-linux-gnueabihf." I set aside this MicroSD card and took a scenic journey down the web, through all sorts of misinformation, forums and what-have-yous in search of a workable solution for the Pi, including attempts to install the Ubuntu operating system. Nothing was working.

Finally, after persistent digging (and some long walks in the “real” world), I found this one last — and crucial — step, as documented on Marks Rpi Cluster. Basically, a switch needs to be flipped to make BOINC (designed for 32-bit processing) work on the 64-bit Pi 4 (a requirement for the Rosetta@home jobs).

Phew. What a journey.

The Rosetta jobs are finally running (and completing) on the Raspberry Pi 4. But many of the jobs are resource intensive for this little computer that costs around $65.

With a certain amount of self-satisfaction in having Rosetta jobs running on the Pi, let’s take a look at the long and winding road to success. What follows are the failures.


FAIL 1: The balena x Rosetta Package

The Fold for Covid site makes it sound easy. Everything’s distilled into a single, self-starting download.

I got things set up in no time at all.

The job queue was established quickly:

Problem is, after those jobs started running, they never completed.

While the balena x Rosetta package is great, in theory, as an easy to load start-up concept, it's a failure in overall execution. It essentially locks down the Raspberry Pi to this single use and there’s no way to change system parameters, which have quickly caused the project tasks to go on hold based on resource constraints. Those jobs, therefore, never finished — the balena logo eventually fills the screen, replacing the job queue and the Pi is left unresponsive to the keyboard or mouse. It’s stuck. Leaving it running through the night and following day, there was no way to assess the status and I had to assume it was toast.

Having started out with a 10-year-old 4 GB MicroSD card, I installed a fresh download on a brand-new 16 GB MicroSD card.

Same. Exact. Results.

Even while the jobs were running, management of the project was poor and some important access considerations were lost through this simple “download and run” solution.

With that realization, I started fresh and sought out alternative approaches.


FAIL 2: Raspbian and BOINC

Starting from scratch with an install of Raspbian NOOBS, I was excited to delve into the world of BOINC and gain more control over the job queue. This route finally got jobs running for Universe@home, but Rosetta and World Community Grid were incompatible.

In short, this is the winning solution, but with one missing ingredient. With Rosetta@home still not working, I set this MicroSD card aside and started yet another route on a different MicroSD card.

This is one very cool aspect of the Raspberry Pi, being able to switch entire operating systems and configurations simply by swapping out one MicroSD card for another. Ultimately, this facet will play a role in the robotics experiment, with a whole separate OS and Sphero SDK setup.

The path to success would eventually take me back to this setup for one more go, with a couple minor edits to the configuration files. In the mean time, I kept searching.


FAIL 3: Ubuntu

Back to the drawing board and a new tact: installing Ubuntu for a 64-bit system, with an eye on dowloading BOINC and starting up Rosetta@home jobs.

Even though the Ubuntu site is so nice, clean and easy to follow, making the process dirt simple, it all falls apart when the default “ubuntu” login ID and password isn’t recognized.

I tried hacking configuration files on my MacBook Pro — getting wi-fi configured right within the startup files was cool and extremely helpful. But, again, it all falls apart when logging in as the default ubuntu ID and ubuntu password yields password incorrect errors. Even hacking that login info at the config file level didn’t help.

I found an installation approach specific to Raspberry Pi. That’s essentially the same thing, just a slightly different approach to putting the image on the MicroSD card. And, unfortunately, it yields the same login issue.

That’s a whole new level of troubleshooting I didn’t have time for. Ubuntu — holding so much promise for some cool experiences on the Pi — had to be scrapped. For now.

On the surface, this was an unproductive detour. But, while kicking the tires and snooping around, I stumbled on yet a whole new avenue in which Raspberry Pi and Ubuntu might figure into the day job as a component in a digital system. Budget cuts shut down a system we were never able to launch to its intended companywide scale (long story). This could be a low-cost solution, at least for the immediate needs.

Lesson learned: even failed experiments can unlock doors.


PLAN B: MacBook Pro

As I sanity check, I setup BOINC on my MacBook Pro in order to get a handle on what I should be seeing. The MacBook tore through a dozen or so Rosetta jobs over the course of a weekend. The MacBook also did a good amount of work for the World Community Grid.

Positive affirmation. The stuff works.

But the goal was to get this running on the Pi.


CAPTAIN’S LOG: STARDATE 4 MAY 2020

While getting familiar with BOINC, I stumbled on the SETI (Search for Extraterrestrial Intelligence) Institute project.

I officially joined the search for intelligent life “out there.” After all, when my quest for world domination resumes in full, I could use some help!

Mwahahahah.

Some projects are quiet right now. SETI, disappointingly, is silent. CERN is putting resources to use for protein folding. (I suspect CERN’s computers are more powerful than the Pi.) Nonetheless, I struck processing gold with Universe@home. Supernova explosions, black holes. Maybe a little too tangential for my awesome plans for world domination, but it’s all good. I’ve already earned a Saturn badge.

Which has me thinking. Maybe I’ve set my goals too low. Maybe the world is not enough.

Mwahahahah. [contemplative pause] Hahahah.

Share The Mattopia Times

Follow @MattopiaJones

The World of BOINC

Rosetta Computation Certificate

The workloads have varied, but I’ve volunteered my gear for the following projects:

Sphero's R2-D2: Under the Dome

R2-D2 with Jawa

Explore STEAM education and other fun features with Sphero's R2-D2.

Read on, Padawan learner

The Adventure Continues...

My iPhone in Myanmar

My December 2016 trip to Southeast Asia got me rethinking what it means to go on vacation. It was an adventure. It was a marvel of technology. And I brought back some mighty exciting photos and 4K video.

Read on: Vacation 2017: What's It For?

Contact Address book

Write Matt
Visit the Speakers Corner
Subscribe to Mattopia Times

Support Heart

Help Matt live like a rock star. Support MATTAID.

It's a crazy world and it's only getting crazier. Support human rights.

Search Magnifying glass

The Mattsonian Archives house more than 1,700 pages and 1.5 million words. Start digging.