Help Caca Labs research projects with CPUShare

Image processing research sometimes requires expensive computations, for instance analysing the quality of an algorithm on thousands of different images. You can help the project by selling or donating your idle CPU cycles. We use CPUShare for this purpose: it provides all the infrastructure for reliable, secure and anonymous distributed computing.

What computations are currently running?

No computation is running at the moment.

Our first massive computation was a study of an interesting property of the Floyd-Steinberg error diffusion algorithm on a pool of 10,000 images. We will present the results at the International Conference on Image and Signal Processing 2008.

Getting started

First of all, you need to make sure your kernel was built with CONFIG_SECCOMP=y. This option is activated by default on the upstream kernel. Unfortunately, it used to be deactivated on official Debian kernels, so you may wish to upgrade or build your own kernel. Without this option, it is not possible to run untrusted bytecode securely and CPUShare will refuse to start.

If you are using Debian unstable or Ubuntu, install CPUShare directly:

% aptitude install cpushare

Then download our sell order and put it in /etc/cpushare/. If your machine has several CPUs, you can place several copies of the same file in /etc/cpushare/, just make sure their names end in .cpu. Finally, start the CPUShare daemons:

% cd /etc/cpushare
% curl -o caca-cpu0.cpu
% cp caca-cpu0 caca-cpu1.cpu # optional, if you have two CPUs or two cores
% /etc/init.d/cpushare start

If you are not using Debian or Ubuntu, you can either try to install and run CPUShare from source (good luck!) or run this Live CD, either by burning and booting it, or by running it in an emulator (see more information on the CPUShare wiki):

The qemu emulator gives near native performance if you use the kqemu kernel module. Just run:

% qemu -cdrom caca-cpushare-livecd.iso

How does it work?

Your machine's idle CPU cycles will be available to CPUShare users. There is no way to know whether your CPU will only be used for Caca Labs projects, but if you use our .cpu file, the CPUCoins earned by running other software will be credited to the Caca Labs account. We will in turn use these CPUCoins to buy CPU cycles on other machines; maybe yours, maybe not.

The CPUShare daemons run at a very low priority (nice -19 by default) but you can stop them at any time if the impact on your system is too important.

If you do not like giving CPUCoins directly to the Caca Labs project, you can create your own .cpu file by creating an account on and creating a new sell order.

Note: we cannot use your data, only your CPU. CPUShare is secure and prevents malicious code from using any other resource.

Last modified 10 years ago Last modified on Sep 28, 2008, 12:36:58 AM

Attachments (2)