Skip to content

Commit 29227ca

Browse files
authored
Merge branch 'main' into feat/rework-introduction-&-getting-started-page
2 parents 9021a35 + e980d9e commit 29227ca

File tree

1 file changed

+40
-22
lines changed

1 file changed

+40
-22
lines changed

src/protocol/pay-per-task.md

Lines changed: 40 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,52 @@
11
---
22
title: Pay Per Task Model
3-
description:
4-
Pricing model and task categories for iExec protocol, including computing and
5-
deal time limits.
3+
description: Pay-per-task categories, time limits, and claim rules..
64
---
75

8-
# Pay per task model
6+
# Task size: pay-per-task
97

10-
We are introducing a new method for pricing and we have defined several task
11-
categories that describe the execution boundaries. We'll setup a test
12-
infrastructure so that application developers can evaluate the category of their
13-
submissions. Conversely, worker pools will be able to benchmark their
14-
infrastructures against the reference machine.
8+
Pay-per-task categories, time limits, and claim rules.
159

16-
In the future, we'll redefine the categories, and provide more advanced tools
17-
for helping developers to maximize the usage of the infrastructure
10+
## Pay-per-task model
11+
12+
We base the pay-per-task model on task size categories. Each category defines
13+
two limits:
14+
15+
- Maximum Computing Time (C): per-task execution time on the worker. If the task
16+
exceeds C, the worker stops the task and marks it as failed.
17+
- Maximum Deal Time (D): overall time window for a task in the deal. If the task
18+
isn’t completed within D, the requester can claim the task. On claim, the
19+
requester can recover the RLC engaged for this task.
1820

1921
**Categories Description:**
2022

2123
| **Category** | **Maximum Computing Time (C)** | **Maximum Deal Time (D)** |
2224
| ------------ | ------------------------------ | ------------------------- |
2325
| 0 – XS | 5 min | 50 min |
24-
| 1 – S | 20 min | 200 min (3h20m) |
25-
| 2 – M | 1 hour | 10h |
26-
| 3 – L | 3 hour | 30h (1d6h) |
27-
| 4 – XL | 10 hour | 100h (4d4h) |
28-
29-
- Each worker will allocate **C** minutes to compute the application. If the
30-
computation is not completed within this **Maximum Computing Time**, the
31-
running application will be stopped.
32-
- From a buyer perspective, a requester will be able to claim a task of a deal
33-
after **D** minutes if the task is not completed within the **Maximum Deal
34-
Time**.
26+
| 1 – S | 20 min | 200 min |
27+
| 2 – M | 1 hour | 10 hours |
28+
| 3 – L | 3 hours | 30 hours |
29+
| 4 – XL | 10 hours | 100 hours |
30+
31+
- Worker allocates up to C per task. Beyond C, the worker stops the task.
32+
- Requesters can claim the task after D if the task isn’t completed.
33+
34+
## How to pick a category: quick guide
35+
36+
Use this decision table to choose a safe category for your workload.
37+
38+
| **Typical workload** | **Suggested category** |
39+
| ------------------------------------- | ---------------------- |
40+
| Short scripts / small data processing | Cat 0–1 |
41+
| Medium data processing / 10-15min | Cat 2 |
42+
| Heavy ML inference / long simulations | Cat 3–4 |
43+
44+
Use the iExec SDK to **set the category** in app, request, or workerpool
45+
orders.
46+
For commands and examples, see the
47+
[iExec SDK Github repository](https://github.com/iExecBlockchainComputing/iexec-sdk/blob/master/docs/README.md).
48+
49+
::: info Need help Can’t find an order that fits your needs or unsure which
50+
category to choose?
51+
[Contact us on Discord](https://discord.com/invite/pbt9m98wnU) and we will help
52+
you pick the right setup. :::

0 commit comments

Comments
 (0)