Version 27 (modified by Sam Hocevar, 17 years ago) (diff)

qemu

Help libcaca 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 is deactivated on official Debian kernels (you can voice your opinion on bug report #474648 if you want to use CPUShare). Without this option, it is not possible to run untrusted bytecode securely and CPUShare will refuse to start.

If you are using Debian unstable, install CPUShare directly:

% aptitude install cpushare

If you are using Ubuntu or another version of Debian, just download one of the following packages:

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 http://libcaca.zoy.org/raw/CPUShare/libcaca-sell.cpu -o libcaca-cpu0.cpu
% cp libcaca-cpu0 libcaca-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 libcaca-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 libcaca projects, but if you use our .cpu file, the CPUCoins earned by running other software will be credited to the libcaca project's 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 libcaca project, you can create your own .cpu file by creating an account on cpushare.com 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.

Attachments (2)