Skip to content

Slice based reservation #1602

@xmonader

Description

@xmonader

to avoid node fragamentation and stranded capacity -e.g a user reserves all CPUs but leaves RAM/disk unused, making the node unusable- we should implement a slice-based resource reservation model for VM deployment

  • Slice is a bundle of CPU, RAM, and Disk. They can be defined by the farmer (node owner) or fallback to a
  • Global slice definition is the fallback in case there were no slice definition on the node by the famer e.g 1cpu 2gb ram, 20gb ssd
  • Farmer-defined slices: are defined by the farmer fitting their hardware (allowing defining compute, storage speciaility of the node)
  • The user can only reserve Slices (X number of them)
  • The user specifies the raw number of resources and we suggest the X slices that fit the request

Raw to slices

  • Users request raw resources (CPU, RAM, Disk).
  • Gridproxy? translates requests into slice per node.
  • Example: Request = 4 CPU + 8 GB RAM + 200 GB Disk, the results will be -based on each node slices definition-
    • Node A: 2 slices.
    • Node B: 10 slices.

User Journey

  1. User specifies requirements: “4 CPUs, 8 GB RAM, 200 GB Disk.”
  2. System translates into slices per node
  3. The system selects node with clear statement of the slices that will get reserved

Open Questions

  • Should slices include disks? e.g 2 nodes on the grid (16cpu 16ram, 2TB ssd) and (4cpu, 8ram, 16TB ssd)
  • Where the farmers should define the slices? in tfchain or outside e.g in an explorer?
  • Most of the farmers won't probably configure slices on their nodes, is their a global slice definition? or if not should we leave the beahvior as is?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions