|
1 | 1 | --- |
2 | 2 | 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.. |
6 | 4 | --- |
7 | 5 |
|
8 | | -# Pay per task model |
| 6 | +# Task size: pay-per-task |
9 | 7 |
|
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. |
15 | 9 |
|
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. |
18 | 20 |
|
19 | 21 | **Categories Description:** |
20 | 22 |
|
21 | 23 | | **Category** | **Maximum Computing Time (C)** | **Maximum Deal Time (D)** | |
22 | 24 | | ------------ | ------------------------------ | ------------------------- | |
23 | 25 | | 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