首页 > 解决方案 > 提供商发送的报价从哪里收集他们的 CPU 型号和其他数据?

问题描述

我想看看这些优惠从哪里收集他们的数据,例如:

    "golem.inf.cpu.model": "Stepping 1 Family 6 Model 69",
    "golem.inf.cpu.vendor": "GenuineIntel",
    "golem.inf.cpu.threads": 3,

看看是否有任何更有意义的数据可以收集,而不是Stepping 1 Family 6 Model 69模型,因为这不是一个独特的价值,也不能告诉我们更多关于正在使用的处理器的信息。

标签: yagna

解决方案


这来自ya-runtime-vmoffer-template参数调用。在引擎盖下它使用https://docs.rs/crate/raw-cpuid/8.1.2

https://github.com/golemfactory/ya-runtime-vm/blob/e5617ef8adc75ab69081dbc06c5c0d6fa9238e98/runtime/src/main.rs#L433-L448

要找出 ExeUnit 运行时的位置:

$ ya-provider exe-unit list 2>/dev/null | grep runtime-vm
Runtime:       /home/tworec/.local/lib/yagna/plugins/ya-runtime-vm/ya-runtime-vm

然后您可以手动检查输出。您可以在那里看到所有详细的 CPU 功能(标志)。

$ /home/tworec/.local/lib/yagna/plugins/ya-runtime-vm/ya-runtime-vm offer-template | jq .properties
{
  "golem.inf.cpu.capabilities": [
    "sse3",
    "pclmulqdq",
    "dtes64",
    "monitor",
    "dscpl",
    "vmx",
    "smx",
    "eist",
    "tm2",
    "ssse3",
    "fma",
    "cmpxchg16b",
    "pdcm",
    "pcid",
    "sse41",
    "sse42",
    "x2apic",
    "movbe",
    "popcnt",
    "tsc_deadline",
    "aesni",
    "xsave",
    "osxsave",
    "avx",
    "f16c",
    "rdrand",
    "fpu",
    "vme",
    "de",
    "pse",
    "tsc",
    "msr",
    "pae",
    "mce",
    "cx8",
    "apic",
    "sep",
    "mtrr",
    "pge",
    "mca",
    "cmov",
    "pat",
    "pse36",
    "clfsh",
    "ds",
    "acpi",
    "mmx",
    "fxsr",
    "sse",
    "sse2",
    "ss",
    "htt",
    "tm",
    "pbe",
    "fsgsbase",
    "adjust_msr",
    "smep",
    "rep_movsb_stosb",
    "invpcid",
    "deprecate_fpu_cs_ds"
  ],
  "golem.inf.cpu.model": "Stepping 3 Family 6 Model 60",
  "golem.inf.cpu.vendor": "GenuineIntel"
}

当涉及到golem.inf.cpu.threads它时,它是由 单独设置的ya-provider。默认情况下,它是主机系统上可用的逻辑核心数 - 1. 用户可以通过ya-providerCLI 手动更改它。要查看当前设置,您可以调用:

$ ya-provider profile list
{
  "default": {
    "cpu_threads": 7,
    "mem_gib": 10.597366839647291,
    "storage_gib": 138.55942993164064
  }
}

推荐阅读