Skip to content

How to Provide GPU Resources

This guide explains how to become a GPU provider on WorldLand Cloud and earn WL tokens.

Prerequisites

Hardware Requirements

ComponentMinimumRecommended
GPUNVIDIA GTX 1080+RTX 3090/4090 or A100
VRAM8GB24GB+
CPU4 cores8+ cores
RAM16GB32GB+
Storage100GB SSD500GB NVMe
Network100 Mbps1 Gbps
Public IPRequiredStatic IP recommended

Software Requirements

  • Ubuntu 20.04/22.04 LTS
  • NVIDIA Driver 525+
  • Docker with NVIDIA Container Toolkit
  • Kubernetes (kubeadm)

Step 1: Install NVIDIA Drivers

bash
# Add NVIDIA repository
sudo apt-get update
sudo apt-get install -y nvidia-driver-535

# Reboot
sudo reboot

# Verify installation
nvidia-smi

Step 2: Install Docker & NVIDIA Container Toolkit

bash
# Install Docker
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER

# Install NVIDIA Container Toolkit
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/libnvidia-container/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
  sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

# Verify
docker run --rm --gpus all nvidia/cuda:12.0.0-base-ubuntu22.04 nvidia-smi

Step 3: Install WorldLand Provider SDK

bash
# Download Provider SDK
wget https://github.com/worldland/releases/download/v1.0.0/worldland-provider-sdk-linux

# Make executable
chmod +x worldland-provider-sdk-linux

# Run installation
sudo ./worldland-provider-sdk-linux install

Step 4: Configure Provider

Create configuration file:

bash
sudo nano /etc/worldland/provider.yaml
yaml
provider:
  name: "My GPU Server"
  public_ip: "123.45.67.89"

resources:
  gpu_price_per_hour: 0.5 # WL per hour
  cpu_cores: 8
  memory_gb: 32
  storage_gb: 200

wallet:
  address: "0x1234...abcd"

network:
  master_endpoint: "https://api.worldland.cloud"

Step 5: Register Provider

bash
# Start provider agent
sudo systemctl start worldland-provider

# Check status
sudo systemctl status worldland-provider

The agent will:

  1. Register with the WorldLand network
  2. Receive a kubeadm join token
  3. Join the Kubernetes cluster as a worker node

Step 6: Join Kubernetes Cluster

bash
# The agent will automatically execute the join command
# Or manually run:
sudo kubeadm join <master-ip>:6443 \
  --token <token> \
  --discovery-token-ca-cert-hash sha256:<hash>

Provider Status

Status Progression

Pending → Approved → Joined → Available
StatusDescription
PendingRegistration submitted, awaiting approval
ApprovedApproved, join token issued
JoinedSuccessfully joined K8s cluster
AvailableReady to accept GPU jobs

Check Status

bash
# View provider status
curl https://api.worldland.cloud/api/v1/providers/my-provider-id

# View node status in cluster
kubectl get nodes

Resource Management

How Resources Are Allocated

When a customer creates a job on your node:

  1. GPU - Dedicated allocation via NVIDIA device plugin
  2. CPU - Guaranteed QoS (Request = Limit)
  3. Memory - Guaranteed QoS (Request = Limit)
  4. Storage - Ephemeral storage limit

Capacity Tracking

Your Node Capacity:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
GPU:     [████████░░░░] 2/4 used
CPU:     [██████░░░░░░] 12/24 cores used
Memory:  [████████░░░░] 48/64 GB used
Storage: [████░░░░░░░░] 80/200 GB used
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Earnings

How You Earn

  • Per-hour billing - Customers pay WL per hour of GPU usage
  • 90% to provider - You receive 90% of the service fee
  • 10% to protocol - Network maintenance fee

Example Earnings

GPUPrice/HourDaily (100% util)Monthly
RTX 40900.50 WL12 WL360 WL
RTX 30900.35 WL8.4 WL252 WL
A1001.00 WL24 WL720 WL

Monitoring

Provider Dashboard

Access your provider dashboard at:

https://cloud.worldland.io/provider/dashboard

Features:

  • Real-time GPU utilization
  • Active jobs
  • Earnings history
  • Resource availability

Command Line

bash
# View running GPU pods
kubectl get pods -l worldland.io/gpu-rental=true

# View resource usage
kubectl top nodes

# View GPU allocation
kubectl describe node <your-node-name> | grep nvidia.com/gpu

Maintenance

Graceful Maintenance Mode

Before maintenance:

bash
# Cordon node (prevent new jobs)
kubectl cordon <your-node-name>

# Wait for existing jobs to complete
kubectl get pods -l worldland.io/gpu-rental=true --field-selector spec.nodeName=<your-node>

# Perform maintenance
# ...

# Uncordon node
kubectl uncordon <your-node-name>

Updating Drivers

bash
# Cordon node first
kubectl cordon <your-node-name>

# Update NVIDIA driver
sudo apt-get update
sudo apt-get install -y nvidia-driver-545

# Reboot
sudo reboot

# Verify and uncordon
nvidia-smi
kubectl uncordon <your-node-name>

Troubleshooting

Node Not Joining

bash
# Check agent logs
sudo journalctl -u worldland-provider -f

# Check kubelet status
sudo systemctl status kubelet

# Check network connectivity
curl -v https://api.worldland.cloud/health

GPU Not Detected in Cluster

bash
# Check NVIDIA device plugin
kubectl get pods -n kube-system | grep nvidia

# Check node labels
kubectl get node <your-node> -o yaml | grep nvidia

Jobs Not Scheduling

bash
# Check node taints
kubectl describe node <your-node> | grep Taints

# Check node conditions
kubectl describe node <your-node> | grep Conditions -A 10

Best Practices

Maximizing Earnings

  1. High availability - Keep uptime > 99%
  2. Competitive pricing - Research market rates
  3. Quality hardware - Better GPUs attract more customers
  4. Fast network - Low latency improves experience

Security

  1. Keep system updated
  2. Use firewall rules
  3. Monitor for unusual activity
  4. Regular security audits

Next Steps

Decentralized GPU Infrastructure for the AI Era