BOINC is an open-source program that allows for volunteers to participate in grid computing. It is a platform that allows researchers to run projects that they would otherwise not have the resources to complete by tapping into the otherwise unused computing resources of personal computers around the globe. This however leaves open some questions about the computers participating in these volunteer projects.
This survey of participating hosts is an attempt to find out what are the most common types of hardware being used for the projects. This information is important for several reasons, including:
- How wide spread is AVX support, what about AVX 512?
- Does it make sense to create GPU tasks using OpenCL?
- Since there is a diverse range of hardware, what is the average performance per watt like?
- Table of most common CPUs
- Table of most common GPUs
- Chart of BOINC version
The data presented here is based on a snapshot of all host configurations from BOINC projects on the Gridcoin whitelist taken on 29/4/2018. The full dataset includes hardware information, recent average credit (RAC), BOINC version, and virtual box version (more than 90% using version 5.0 or newer).
Project data was separated based on whether the project is CPU or GPU focused to try to reduce the amount of double counting (for example running one CPU project and one GPU project on the same machine). The number of times each component turned up in the database was counted.
Two Bash scripts where used to generate this data. The first script UpdateDatabaseFiles.sh downloads the host data needed from all of the Gridcoin whitelisted projects and decompresses the data. This script was originally written for QuickMag.
The second script is HWsurvey.sh. This script takes the downloaded data files and extracts all the CPU and GPU data. Hosts with less than 25 RAC are ignored, as there is a good chance that they are not actively working on the project. The data is then sorted and the number of times each piece of hardware (or version of software) comes up is recorded. The model of CPU, GPU, VirtualBox, and BOINC and the number of people using them are recorded to a file.
These scripts can be found here: https://github.com/nexus-prime/BOINCsurvey
Table of most common CPUs
This table lists the 35 most common CPU models actively working on CPU focused BOINC projects. The full table can be found HERE. This table demonstrates Intel’s dominance over AMD in market share. The only non-Intel CPUs in this list are the Opteron 6282 SE and two models using ARMv7. Intel CPUs make up 94% of CPUs, AMD 4.5%, and ARM 1.3%.
Additionally we can use this table to see that the top 14 CPU models all support AVX. In total this works out to more than 78% of CPUs. However, only around 373 hosts currently participating in BOINC support AVX512.
We can also use this information to estimate the average efficiency of the CPUs running BOINC calculations if we make some assumptions. Assuming that every CPU is fully utilized, running at stock settings, and that power usage is equal to the TDP of the part, we can estimate that the efficiency of the “average” CPU running BOINC tasks is slightly above that of an i5/i7 SandyBridge part and around the same as a i5 IvyBridge part.
Table of most common GPUs
This table lists the 35 most common GPUs (excluding integrated GPUs) being used on GPU focused BOINC projects. The full table can be found HERE. This table shows one of the reasons that projects tend to favor CUDA over OpenCL, market share. The top 11 GPUs all support some version of CUDA. Going further into market share for discrete GPUs we see that Nvidia GPUs make up 68% of all GPUs actively participating in GPU focused BOINC projects, leaving AMD with 32%.
The approximate performance per watt of the “average” GPU participating in a GPU focused BOINC project is close to that of the GTX TITAN X (Maxwell) or a Radeon R9 M395.
Chart of BOINC version
The most common version of BOINC running on hosts is version 6.10 (32%) which was released in 2009. Tasks using VirtualBox where added in 6.12. OpenCL was not supported by BOINC until version 7.0.25. This means that 32% of hosts cannot run tasks that use VirtualBox or OpenCL. VirtualBox began being bundled with the default BOINC installer at version 7.02.
The question is whether there is a compatibility issue somewhere that prevents people from upgrading past 6.10 or if the users don’t see a reason to upgrade?