64Bit versus 32Bit

I was looking forward to volunteer some raspiBOINC CPU time to the Asteroids@Home project. When the BOINC-client requested tasks response from server was:

Message from server: This project doesn't support computers of type aarch64-unknown-linux-gnu

The Asteroids@Home application is only build for 32Bit Raspberry Pi OS. Thats why I could not get any task from project server. Within the BOINC-clients cc_config.xml file you are able to define alternative platforms. So I tried to register the cluster with a modified cc_config.xml as a volunteer with 32Bit OS:

<cc_config>
<options>
<alt_platform>arm-unknown-linux-gnueabihf</alt_platform>
<alt_platform>armv7l-unknown-linux-gnueabihf</alt_platform>
</options>
</cc_config>

Now the BOINC-client received tasks from the Asteroids@Home server. Sorely these tasks ran immediately into an „Computation error“. Somehow the they could not be processed. Actually this issue was caused because the image for BOINC-client was build without 32Bit support. For Asteroids@home (and also Universe@home) you need to add the armhf architecture and also the libstdc++6:armhf library to your BOINC-client image.

I used the original Boinc/client build code from github to create the image. After modification with the missing architecture / library the buildfile looks like this:

FROM arm64v8/ubuntu:rolling

LABEL maintainer="BOINC" \
description="A lightweight BOINC client on ARMv8 64-bit architecture."

# Global environment settings
ENV BOINC_GUI_RPC_PASSWORD="123" \
BOINC_REMOTE_HOST="" \
BOINC_CMD_LINE_OPTIONS="" \
DEBIAN_FRONTEND=noninteractive

# Copy files
COPY bin/ /usr/bin/

# Configure
WORKDIR /var/lib/boinc

# BOINC RPC port
EXPOSE 12345

# Install (also 32Bit architecture and libraries)
RUN dpkg --add-architecture armhf && apt-get update && apt-get -y upgrade -qq && apt-get install libstdc++6:armhf -y && apt-get install -y --no-install-recommends \

# Install Time Zone Database
tzdata \

# Install BOINC Client and some tools
boinc-client tar sed wget && \

# Cleaning up
apt-get autoremove -y && \
rm -rf /var/lib/apt/lists/*

CMD ["start-boinc.sh"]

Now Asteroids@Home tasks are fetched and processed. Yet without any „Computation errors“. Looks like each task needs about 15h to finish.

jan
jan

Hey, I am Jan. I am an IT Project and Technical Application Manager specialized on Output Management und CCM Solutions.

I have always been that hands on guy. Since it has not been possible in my business to get in touch with kubernetes I decided to do something on my own. Crunching with BOINC looks reasonable for me here.

I first registred for SETI@Home on 07. July in 1999. Happy crunching!

Artikel: 25

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.