Version 30 (modified by 16 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.
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 http://libcaca.zoy.org/files/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.
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)
- caca-sell.cpu (73 bytes) - added by 16 years ago.
- caca-cpushare-livecd.iso (5.9 MB) - added by 16 years ago.