Skip to content

Commit a9404e4

Browse files
committed
Improve content
1 parent 8d3f194 commit a9404e4

File tree

2 files changed

+199
-2
lines changed

2 files changed

+199
-2
lines changed
Lines changed: 94 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,100 @@
11
---
22
title: Manage Coretime
3-
description: TODO
3+
description: Learn to manage bulk coretime regions through transfer, partition, interlace, assign, and pool operations for optimal resource allocation.
44
---
55

66
# Manage Coretime
77

8-
## Introduction
8+
## Introduction
9+
10+
Coretime management involves manipulating bulk coretime regions to optimize resource allocation and usage. Regions represent allocated computational resources on cores and can be modified through various operations to meet different project requirements. This guide covers the essential operations for managing your coretime regions effectively.
11+
12+
## Transfer
13+
14+
Transfer ownership of a bulk coretime region to a new owner. This operation allows you to change who controls and manages a specific region.
15+
16+
Use this operation when you need to delegate control of computational resources to another account or when selling regions to other parties.
17+
18+
```rust
19+
pub fn transfer<T: Config>(region_id: RegionId, new_owner: T::AccountId)
20+
```
21+
22+
**Parameters:**
23+
24+
- **`origin`**: Must be a signed origin of the account which owns the region `region_id`
25+
- **`region_id`**: The region whose ownership should change
26+
- **`new_owner`**: The new owner for the region
27+
28+
## Partition
29+
30+
Split a bulk coretime region into two non-overlapping regions at a specific time point. This operation divides a region temporally, creating two shorter regions that together span the same duration as the original.
31+
32+
The partition operation removes the original region and creates two new regions with the same owner and core mask. The first new region spans from the original start time to the pivot point, while the second spans from the pivot point to the original end time.
33+
34+
This is useful when you want to use part of your allocated time immediately and reserve the remainder for later use, or when you want to sell or transfer only a portion of your time allocation.
35+
36+
```rust
37+
pub fn partition<T: Config>(region_id: RegionId, pivot: Timeslice)
38+
```
39+
40+
**Parameters:**
41+
42+
- **`origin`**: Must be a signed origin of the account which owns the Region region_id
43+
- **`region_id`**: The Region which should be partitioned into two non-overlapping Regions
44+
- **`pivot`**: The offset in time into the Region at which to make the split
45+
46+
## Interlace
47+
48+
Split a bulk coretime region into two wholly-overlapping Regions with complementary interlace masks. This operation allows core sharing by dividing computational resources between two projects that run simultaneously.
49+
50+
The interlace operation removes the original region and creates two new regions with the same time span and owner. One Region receives the specified core mask, while the other receives the XOR of the specified mask and the original region's core mask.
51+
52+
Use interlacing when you want to share core resources between multiple tasks or when you need to optimize resource utilization by running complementary workloads simultaneously.
53+
54+
```rust
55+
pub fn interlace<T: Config>(region_id: RegionId, pivot: CoreMask)
56+
```
57+
58+
Parameters:
59+
60+
- **`origin`**: Must be a signed origin of the account which owns the Region region_id
61+
- **`region_id`**: The Region which should become two interlaced Regions of incomplete regularity
62+
- **`pivot`**: The interlace mask of one of the two new regions (the other is its partial complement)
63+
64+
## Assign
65+
66+
Assign a Bulk Coretime Region to a specific task for execution.
67+
68+
This operation places an item in the workplan corresponding to the region's properties and assigns it to the target task. If the region's end time has already passed, the operation becomes a no-op. If the region's beginning has passed, it effectively starts from the next schedulable timeslice.
69+
70+
Use this operation to execute your tasks on the allocated cores. Choose final assignment when you're certain about the task allocation, or provisional when you might need flexibility for later changes.
71+
72+
```rust
73+
pub fn assign<T: Config>(region_id: RegionId, task: TaskId, finality: Finality)
74+
```
75+
76+
**Parameters:**
77+
78+
- **`origin`**: Must be a signed origin of the account which owns the Region `region_id`
79+
- **`region_id`**: The region which should be assigned to the task
80+
- **`task`**: The task to assign
81+
- **`finality`**: Indication of whether this assignment is final or provisional
82+
83+
## Pool
84+
85+
Place a bulk coretime region into the instantaneous coretime pool to earn revenue from unused computational resources.
86+
87+
This operation places the region in the workplan and assigns it to the instantaneous coretime pool. The region details are recorded to calculate a pro rata share of the instantaneous coretime sales revenue relative to other pool providers.
88+
89+
Use pooling when you have unused coretime that you want to monetize, or when you want to contribute to the network's available computational resources while earning passive income.
90+
91+
```rust
92+
pub fn pool<T: Config>(region_id: RegionId, payee: T::AccountId, finality: Finality)
93+
```
94+
95+
**Parameters:**
96+
97+
- **`origin`**: Must be a signed origin of the account which owns the region `region_id`
98+
- **`region_id`**: The region which should be assigned to the pool
99+
- **`payee`**: The account which can collect revenue from the usage of this region
100+
- **`finality`**: Indication of whether this pool assignment is final or provisional

llms.txt

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ Doc-Page: https://docs.polkadot.com/develop/parachains/deployment/build-determin
2323
Doc-Page: https://docs.polkadot.com/develop/parachains/deployment/coretime-renewal/
2424
Doc-Page: https://docs.polkadot.com/develop/parachains/deployment/generate-chain-specs/
2525
Doc-Page: https://docs.polkadot.com/develop/parachains/deployment/
26+
Doc-Page: https://docs.polkadot.com/develop/parachains/deployment/manage-coretime/
2627
Doc-Page: https://docs.polkadot.com/develop/parachains/deployment/obtain-coretime/
2728
Doc-Page: https://docs.polkadot.com/develop/parachains/
2829
Doc-Page: https://docs.polkadot.com/develop/parachains/install-polkadot-sdk/
@@ -4553,6 +4554,110 @@ If you’re building a standalone blockchain (solochain) that won’t connect to
45534554
</div>
45544555
--- END CONTENT ---
45554556

4557+
Doc-Content: https://docs.polkadot.com/develop/parachains/deployment/manage-coretime/
4558+
--- BEGIN CONTENT ---
4559+
---
4560+
title: Manage Coretime
4561+
description: Learn to manage bulk coretime regions through transfer, partition, interlace, assign, and pool operations for optimal resource allocation.
4562+
---
4563+
4564+
# Manage Coretime
4565+
4566+
## Introduction
4567+
4568+
Coretime management involves manipulating bulk coretime regions to optimize resource allocation and usage. Regions represent allocated computational resources on cores and can be modified through various operations to meet different project requirements. This guide covers the essential operations for managing your coretime regions effectively.
4569+
4570+
## Transfer
4571+
4572+
Transfer ownership of a bulk coretime region to a new owner. This operation allows you to change who controls and manages a specific region.
4573+
4574+
Use this operation when you need to delegate control of computational resources to another account or when selling regions to other parties.
4575+
4576+
```rust
4577+
pub fn transfer<T: Config>(region_id: RegionId, new_owner: T::AccountId)
4578+
```
4579+
4580+
**Parameters:**
4581+
4582+
- **`origin`**: Must be a signed origin of the account which owns the region `region_id`
4583+
- **`region_id`**: The region whose ownership should change
4584+
- **`new_owner`**: The new owner for the region
4585+
4586+
## Partition
4587+
4588+
Split a bulk coretime region into two non-overlapping regions at a specific time point. This operation divides a region temporally, creating two shorter regions that together span the same duration as the original.
4589+
4590+
The partition operation removes the original region and creates two new regions with the same owner and core mask. The first new region spans from the original start time to the pivot point, while the second spans from the pivot point to the original end time.
4591+
4592+
This is useful when you want to use part of your allocated time immediately and reserve the remainder for later use, or when you want to sell or transfer only a portion of your time allocation.
4593+
4594+
```rust
4595+
pub fn partition<T: Config>(region_id: RegionId, pivot: Timeslice)
4596+
```
4597+
4598+
**Parameters:**
4599+
4600+
- **`origin`**: Must be a signed origin of the account which owns the Region region_id
4601+
- **`region_id`**: The Region which should be partitioned into two non-overlapping Regions
4602+
- **`pivot`**: The offset in time into the Region at which to make the split
4603+
4604+
## Interlace
4605+
4606+
Split a bulk coretime region into two wholly-overlapping Regions with complementary interlace masks. This operation allows core sharing by dividing computational resources between two projects that run simultaneously.
4607+
4608+
The interlace operation removes the original region and creates two new regions with the same time span and owner. One Region receives the specified core mask, while the other receives the XOR of the specified mask and the original region's core mask.
4609+
4610+
Use interlacing when you want to share core resources between multiple tasks or when you need to optimize resource utilization by running complementary workloads simultaneously.
4611+
4612+
```rust
4613+
pub fn interlace<T: Config>(region_id: RegionId, pivot: CoreMask)
4614+
```
4615+
4616+
Parameters:
4617+
4618+
- **`origin`**: Must be a signed origin of the account which owns the Region region_id
4619+
- **`region_id`**: The Region which should become two interlaced Regions of incomplete regularity
4620+
- **`pivot`**: The interlace mask of one of the two new regions (the other is its partial complement)
4621+
4622+
## Assign
4623+
4624+
Assign a Bulk Coretime Region to a specific task for execution.
4625+
4626+
This operation places an item in the workplan corresponding to the region's properties and assigns it to the target task. If the region's end time has already passed, the operation becomes a no-op. If the region's beginning has passed, it effectively starts from the next schedulable timeslice.
4627+
4628+
Use this operation to execute your tasks on the allocated cores. Choose final assignment when you're certain about the task allocation, or provisional when you might need flexibility for later changes.
4629+
4630+
```rust
4631+
pub fn assign<T: Config>(region_id: RegionId, task: TaskId, finality: Finality)
4632+
```
4633+
4634+
**Parameters:**
4635+
4636+
- **`origin`**: Must be a signed origin of the account which owns the Region `region_id`
4637+
- **`region_id`**: The region which should be assigned to the task
4638+
- **`task`**: The task to assign
4639+
- **`finality`**: Indication of whether this assignment is final or provisional
4640+
4641+
## Pool
4642+
4643+
Place a bulk coretime region into the instantaneous coretime pool to earn revenue from unused computational resources.
4644+
4645+
This operation places the region in the workplan and assigns it to the instantaneous coretime pool. The region details are recorded to calculate a pro rata share of the instantaneous coretime sales revenue relative to other pool providers.
4646+
4647+
Use pooling when you have unused coretime that you want to monetize, or when you want to contribute to the network's available computational resources while earning passive income.
4648+
4649+
```rust
4650+
pub fn pool<T: Config>(region_id: RegionId, payee: T::AccountId, finality: Finality)
4651+
```
4652+
4653+
**Parameters:**
4654+
4655+
- **`origin`**: Must be a signed origin of the account which owns the region `region_id`
4656+
- **`region_id`**: The region which should be assigned to the pool
4657+
- **`payee`**: The account which can collect revenue from the usage of this region
4658+
- **`finality`**: Indication of whether this pool assignment is final or provisional
4659+
--- END CONTENT ---
4660+
45564661
Doc-Content: https://docs.polkadot.com/develop/parachains/deployment/obtain-coretime/
45574662
--- BEGIN CONTENT ---
45584663
---

0 commit comments

Comments
 (0)