What is SpareCycles.org?
SpareCycles.org is an experiment.
SpareCycles.org is a market for spare computing cycles.
SpareCycles.org is an advertising board. Computers advertise their spare cycles. Taskers advertise their tasks. Escrows advertise their dispute resolution services.
SpareCycles.org is not a business. It holds no customer money. It charges no fees. It is done for the love of empowering people with computational cycles on-demand at a price near that of electricity.
What are the economics?
From oil exploration to media processing to scientific simulations, there is always need for more computing power. Even the top exascale supercomputers are not enough. Attending conferences at my employer Argonne National Laboratory, my office across the parking lot from the third largest supercomputer in the world, illustrated the monumental effort to meet this unending demand.
Supercomputers and cloud computing companies must cover infrastructure, operating costs, and salaries. Our infrastructure is personal computers which are already paid for. Our costs are electricity and optional escrow fees. Our salaries are zero. Furthermore, our market is worldwide and has zero barriers to entry -- perhaps a perfect market.
Fees are whatever the computer and tasker agree upon, along with the optional escrow. To promote market-depth, we ask market makers to deduct a 0.5% fee from market takers.
What should taskers consider?
- SpareCycles.org is for anyone who needs computational power. Possible uses include media production, CAD, scientific computing, stateless webapps, compiling and testing, machine learning and decision science, etc.
- Tasks can offer a higher bid for immediate computation, or an economical bid for eventual processing.
- Taskers provide a Webassembly .wasm or .wast file.
WebAssembly is fast, approaching native speed. But does not yet natively support parallelization (threads) or vectorization (SIMD/GPGPU).
- Parallelism is possible by breaking tasks into subtasks which can be advertised as individual tasks concurrently.
- SIMD is planned for the next version of WebAssembly.
- GPGPU support is planned through WebGL shaders. Although this has many challenges.
- There are ways to protect yourself from misbahaving computers, see dispute resolution below.
- It is your responsibility to test your code on different computers and browsers to confirm deterministic execution.
What should computers consider?
- You can use any idle CPUs including phones, laptops, desktops, even servers.
- To begin, enter your crypto-currency address into
computer_config.json and click "Start/Stop computing.".
- Lower the "CPU utilization" slider to make your computer more responsive.
- Security was a top priority from day one. Web browsers are battle-tested to execute untrusted code in a sandbox, enforcing memory safety and same-origin policy. But it is still wise to backup your computer before using SpareCycles.org.
- Earning higher rates per cycle often requires a security deposit, which can be confiscated upon proof of your bad behavior. See below.
- Even if your behavior is good, you may be victim to cosmic rays, bad memory chip, failing network, or cpu giving wrong output (should disable intel hyperthreading).
- Stop computing by clicking "Start/Stop computing.", which will finish all existing tasks. If you close your browser before finishing a task, your security deposit may be confiscated.
- It may be wise to set your fees such that your earnings are greater than cost of electricity, unless you benefit from electric heat.
- You can use multiple tabs. Usually browsers create a new thread for each tab, but check your specific browser.
- The following form must be filled out:
cryptocurrency: eth, //three or four letter currency symbol
address: sparecycles.eth} //used for signing administrative requests, released to escrow
escrow_agents: [jackson, jefferson, eskrow] //list of agents
What should escrows consider?
- Escrow is a third party which resolves disputes between taskers and computers.
- You log in to SpareCycles.org/escrow and set your policies.
- Escrow accepts deposits, holds balances, and allows withdrawals.
- All account administration is done with signed crypto-currency messages.
- You advertise which dispute resolution policies.
How are disputes handled?
- Disputes can only be resolved by an escrow agent.
- Dispute resolution mechanisms
- Security deposit is confiscated by escrow, given "proof" of misbehavior.
- How to avoid errors.
- Only use small amounts, because anything can happen.
- Taskers can test their code for deterministic execution on many architectures and execution environments.
- Computers can check whether their hardware supports deterministic execution of Webassambly instructions, in particular, floating point operations compliant with IEEE 754-2008.
How do I perform account administration?
Site administration is performed by signing a request. Similar for communicating with escrow agents. The format of these requests is being developed.
What about decentralization?
We are still centralized running on SpareCycles.org servers. We plan to build a concurrent decentralized version if we meet our funding goals.
What crypto-currencies do you support?
Whatever the tasker supports.
Why does the website look so outdated?
Please do not send us your private information.
What are the licenses or restrictions of SpareCycles.org?
We will open-source everything if we meet our funding goals.
Computations are performed on Wasm modules in a web browser.