Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GPU support #1392

Closed
11 of 13 tasks
Tracked by #1437
xmonader opened this issue Feb 13, 2023 · 19 comments
Closed
11 of 13 tasks
Tracked by #1437

GPU support #1392

xmonader opened this issue Feb 13, 2023 · 19 comments
Assignees
Milestone

Comments

@xmonader
Copy link
Contributor

xmonader commented Feb 13, 2023

from a very highlevel view, to reduce complexity around GPU support the current proposal is we only support GPU for dedicated nodes, and we don't allow the the farmers to get farming rewards for it, but they can define the billing rate on the chain by defining pairs of GPU/Price

The suggested distribution should be (can still be fine-tuned)

  • 80% to the farmer
  • 10% Threefold
  • 10% Burnt

Tasks

Some research has been done about GPU support before here

@xmonader xmonader self-assigned this Feb 13, 2023
@delandtj
Copy link
Contributor

where is the 'proposal' ?

@rkhamis rkhamis added this to the later milestone Mar 13, 2023
@xmonader xmonader modified the milestones: later, 3.11 May 23, 2023
@muhamadazmy
Copy link
Member

Story on circles

@DylanVerstraete
Copy link
Contributor

DylanVerstraete commented Jun 1, 2023

Some very important remarks before we can implement this:

  1. Pricing policies can be extended to also include pricing for GPU resources, this needs to be defined how much such resources cost per hour.

  2. Changing distribution rules for this specific feature is technically impossible, the distribution scheme is defined on the pricing policy and since we will not implement custom pricing policies that a farmer can set we should avoid creating a workaround in the code (will result in more error prone code in general).

Before we implement custom pricing policies that farmers can set we need to first define new tokenomics. The general idea is that farmers can set their own pricing but should also be rewarded for utilisation. Setting a custom price without distrubting rewards for utilisation back to farmer can lead to:

  • A farmer setting a very high price and thus not wanting to attract workload (to keep energy consumption low)
  • A farmer setting a very low price so Threefold gets less revenue from this farmer hosting workloads
  • Generally no interest in setting a price at all since the farmer is not rewarded for doing that

@muhamadazmy
Copy link
Member

muhamadazmy commented Jun 1, 2023

@DylanVerstraete

  • For the GPU price, this can be set to 0 until we decide how much it is.
  • For the custom pricing policy don't worry about it now, this is for later, and I already started a discussion on the tfchain repo. I understand the part where techonomics need to be changed, feel free to put all your thoughts on the discussion

@DylanVerstraete
Copy link
Contributor

Well, the story also indicates a different distribution scheme @muhamadazmy

@DylanVerstraete
Copy link
Contributor

It's either we use default pricing for GPU and default distribution scheme or we redefine tokenomics, allow custom pricing and allow custom distribution schemes.

@muhamadazmy
Copy link
Member

muhamadazmy commented Jun 1, 2023

IMHO re-defining tokenomics (although I am not against it) is out of scope of this story for the following reasons, and I am sorry but I am looking into this from a 100% technical point of view to unlock the issue:

  • We are not allowing farmers to set their own prices yet (or may be never)
  • What we need to have is the same pricing policy changed a little bit to support
    • default distribution
    • custom distribution if dedicated + gpu . IMHO this should not be a problem even with some type change migration should not be a problem because we have only one pricing policy.

We can then discuss in the other issues the tokenmoics

@DylanVerstraete
Copy link
Contributor

I know that without custom pricing it's fairly easy to do but the story mentions:

but they can define the billing rate on the chain by defining pairs of GPU/Price

Which requires changes which can only be implemented if we allow the farmer to set custom pricing for their farm.

I can also read in the story that it mentions that custom pricing will not be supported for now but then the story description needs to change and approved by stakeholders.

@DylanVerstraete
Copy link
Contributor

I was also just pointing out that allowing farmers to set custom pricing also would require changes in the tokenomics, I never suggested that it would be part of this issue.

@despiegk
Copy link
Contributor

despiegk commented Jun 1, 2023

not custom pricing for farm, just a price per node, how much work is this

@DylanVerstraete
Copy link
Contributor

@despiegk Currently pricing is linked to a farm and all farms have the default threefold pricing policy. Having pricing linked to node a node still can cause following issues:

  • A farmer setting a very high price and thus not wanting to attract workload (to keep energy consumption low)
  • A farmer setting a very low price so Threefold gets less revenue from this farmer hosting workloads
  • Generally no interest in setting a price at all since the farmer is not rewarded for doing that

@despiegk
Copy link
Contributor

despiegk commented Jun 1, 2023 via email

@renauter
Copy link
Contributor

renauter commented Jun 6, 2023

Hi all
Here is a first draft of specs for GPU support on TFChain:

Feel free to review and comment

@despiegk
Copy link
Contributor

despiegk commented Jun 6, 2023

i commented there, we keep on going a too complicated route, please let simplify a lot and execute

we don't need pricing policy, we don't need to even specify that its for a GPU

@DylanVerstraete
Copy link
Contributor

Updated the story to reflect latest state, all work regarding tfchain is tracked in threefoldtech/tfchain#725

@muhamadazmy
Copy link
Member

Blocked on this threefoldtech/tfchain#737

@xmonader
Copy link
Contributor Author

xmonader commented Jun 13, 2023

It's unblocked now
quoting Azmy

We agreed to add flags to the node but just boolean gpu: true which means the Client can build a short list with nodes that has GPus and free for rent but still need to query the nodes over rmb with the details of the hardware they have/provide.
May be a UI in the dashboard can have a find nodes for rent for example that has a wizard to spot and rent the node that is suitable for needs. Once nodes are rented can be used to deploy workloads

@xmonader
Copy link
Contributor Author

To keep the issue updated, the indexer is already done threefoldtech/tfgrid-sdk-go#209 , remaining to remove the gpu info from tfchain and graphql

@A-Harby
Copy link
Contributor

A-Harby commented Jul 25, 2023

Closing issue as done,
GPU test suite is created, and all the tasks mentioned are verified and closed.

@A-Harby A-Harby closed this as completed Jul 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Status: Done
Development

No branches or pull requests

8 participants