ASK plan

ASK plan is Supplier's data set that includes settings for Worker how to sell its specific computing resources.

Supplier configures ASK plans using SONM CLI. Worker places ASK orders on the Marketplace automatically based on the ASK plan.

Notice. Configuring ASK plan manually is not the only way to sell Worker's resources. There is SONM Optimus component for Supplier, that monitors Market and automatically places ASK orders to sell resources most effectively!

ASK plan parameters

ASK plan is characterized by the following parameters:

  • duration - duratation of the rent in format of XhYmZs, for example: 12h23h45s. If the duration is 0, the deal will be spot, else forward.
  • price - resource rent price in USD/h or USD/s, for example: 4.23 USD/h.
  • order type - order type: ASK. The value appears automatically after ASK order creation.
  • creator - creator's Ethereum address. The value appears automatically after creation.
  • counterparty - counterparty's Ethereum address. Is optional, restricts selling resources only to specified address. Allways use copy-paste to set this value.
  • blacklist - additional blacklist to be used; set Etehreum address of blacklist owner.
  • identity - minimal identity level of counterparty: anonymous, registered, identified, professional.
  • resources:
    • cpu cores - the number of CPU threads, can be fractional, for example: 1.5.
    • ram size - the value of RAM in GB, for example: 2GB.
    • storage size - the value of storage in GB, for example: 10GB.
    • gpu indexes - indexes of the GPU devices on the worker to sell (to find them out use SONM CLI worker_devices command), for example: [3, 5].
    • network:
      • throughputin - maximum download speed in Mbit/s, for example: 25 Mbit/s. Only for ASK order.
      • throughputout - maximum upload speed in Mbit/s, for example: 40 Mbit/s. Only for ASK order.
      • overlay - flag if overlay is allowed: true or false.
      • outbound - flag if outbound connections are allowed (internet access): true or false.
      • incoming - flag if inbound connections are enabled and public IP is presented on worker: true or false.

For identifying resource parameters Worker executes resource benchmarking after the first start. To see the values of benchmarks use SONM CLI worker_devices command.

ASK plan example (on github):

duration: 8h
price: 23.73 USD/h

blacklist: 0x8125721c2413d99a33e351e1f6bb4e56b6b633fd

# optional - restricts selling resources only to specified address
# counterparty: 0x8125721c2413d99a33e351e1f6bb4e56b6b61567
identity: anonymous

resources:
  cpu:
    # Number of cores to assign for this plan, can be fractional
    cores: 1.5
  ram:
    size: 2GB
  storage:
    size: 10GB
  gpu:
    indexes: [3, 5]
  network:
    throughputin: 25 Mbit/s
    throughputout: 40 Mbit/s
    overlay: true
    outbound: true
    incoming: true

SONM performs decentralized orders matching according to the orders properties.

ASK plan and ASK order lifecycle

  1. Supplier view Worker benchmarks and create ASK plan using SONM CLI.
  2. ASK orders are automatically created and placed on the Market by Worker for available resources. Supplier can view these ASK orders on Market using SONM GUI.
  3. After the order is placed Worker monitors the Market searching appropriate BID orders to match. If the match is found Worker initiates deal creation.
  4. When the deal is settled ASK order is automatically cancelled by Market smartcontract. Read about the deal and billing on the Deal page.
  5. When deal has finished, Worker node automatically place ASK order on the Market again.

ASK order example after the deal is created:

ID:              34576
Deal ID:         2260
Type:            ASK
Status:          ORDER_INACTIVE
Tag:             optimus/v0.4.5-71b24cd3
Duration:        0s
Total price:     0 USD (0.000001111111111111 USD/sec)
Author ID:       0xc364C71bAFAA85671C4d45E5Cf61bf19E0225AEb
Counterparty ID: 0x0000000000000000000000000000000000000000
Net:
  Overlay:  false
  Outbound: true
  Incoming: true
Benchmarks:
  CPU Sysbench Multi:  1008
  CPU Sysbench Single: 842
  CPU Cores:           2
  RAM Size             2000000000
  Storage Size         67108864
  Net Download         9800000
  Net Upload           5000000
  GPU Count            0
  GPU Mem              0
  GPU Ethash           0
  GPU Equihash         0
  GPU Redshift         0