|Version 27 (modified by sam, 5 years ago) (diff)|
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.
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:
- cpushare_0.47-3_i386.deb (32-bit platforms)
- cpushare_0.47-3_amd64.deb (64-bit platforms)
- cpushare_0.47-3.dsc (source package)
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):
- libcaca-cpushare-livecd.iso Live CD image (5.8 MB)
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.
Note: we cannot use your data, only your CPU. CPUShare is secure and prevents malicious code from using any other resource.