Imported from registry/profiles/resource-definition/compute/cpu.md at commit 76a4a0c89924.

IRI CPU Resource Definition Profile

Profile URI: https://iri.science/profiles/resource-definition/compute/cpu
Base Profile: https://iri.science/profiles/status/resource
Resource Type: urn:doe-iri:resource:compute:cpu
Status: Draft
Version: 1.0.0

1. Profile Applicability

This profile applies to an IRI Resource representation whose resource_type is urn:doe-iri:resource:compute:cpu. It specializes the IRI Status Resource Profile; a conforming representation MUST also satisfy that base profile. The authoritative registration record for this Resource Type URN is in Resource Type URNs.

2. Introduction

The purpose of this document is to define a common, implementation-independent representation of CPU resources within the DOE Integrated Research Infrastructure (IRI).

A CPU resource represents a central processing unit or processor package associated with a compute node and used for general-purpose instruction execution. The profile describes processor characteristics that are relatively stable for the lifetime of the resource.

Compute Node
urn:doe-iri:resource:compute:node
        │
        │ iri:has-cpu
        ▼
CPU
urn:doe-iri:resource:compute:cpu

This version of the profile does not define current utilization, active frequency, temperature, power consumption, health, workload assignment, or availability. If represented, the semantics and update behavior of those time-varying values are governed by the applicable IRI API contract and Resource Definition Profile.

3. Taxonomy

The taxonomy defined in this section identifies the controlled CPU architecture vocabulary used by this profile.

urn:doe-iri
│
├── resource
│   └── compute
│       └── cpu
│
└── compute
    └── cpu-architecture
        ├── x86-64
        ├── arm64
        ├── ppc64le
        └── riscv64

4. CPU Attributes

This Resource Definition Profile defines attributes that MAY be used to describe resources of type urn:doe-iri:resource:compute:cpu.

Except for schema_version, attributes are optional.

Attribute Version Type Description Mandatory
schema_version 1.0.0 string Version of the profile definition. yes
cpu_architecture 1.0.0 IRI URN string Identifies the processor instruction-set architecture family. no
core_count 1.0.0 integer Number of physical processor cores represented by the CPU resource. no
thread_count 1.0.0 integer Number of hardware execution threads represented by the CPU resource. no
base_clock_mhz 1.0.0 integer Nominal or base processor clock frequency in MHz when meaningful for the processor. no
max_clock_mhz 1.0.0 integer Maximum advertised processor clock frequency in MHz when meaningful for the processor. no
vendor 1.0.0 string Identifies the CPU vendor when relevant. no
model 1.0.0 string Identifies the CPU model or processor designation when relevant. no

4.1 CPU Architecture

The cpu_architecture attribute identifies the processor instruction-set architecture family represented by the CPU resource. The value MUST be a registered DOE-IRI URN from the urn:doe-iri:compute:cpu-architecture namespace.

URN Short name Description Status
urn:doe-iri:compute:cpu-architecture:x86-64 x86-64 A 64-bit processor architecture compatible with the x86-64 instruction-set architecture. provisional
urn:doe-iri:compute:cpu-architecture:arm64 Arm64 A 64-bit processor architecture compatible with the AArch64 execution state of the Arm architecture. provisional
urn:doe-iri:compute:cpu-architecture:ppc64le ppc64le A 64-bit little-endian Power Architecture processor environment. provisional
urn:doe-iri:compute:cpu-architecture:riscv64 RISC-V 64 A 64-bit processor architecture based on the RISC-V instruction-set architecture. provisional

Example:

{
  "cpu_architecture": "urn:doe-iri:compute:cpu-architecture:x86-64"
}

Architecture identifies the broad execution architecture and SHOULD NOT be used as a substitute for vendor, model, supported instruction extensions, or software environment information.

4.2 CPU Core and Thread Counts

The core_count attribute identifies the number of physical processor cores represented by the CPU resource. The thread_count attribute identifies the number of hardware execution threads exposed by those cores.

For example:

{
  "core_count": 64,
  "thread_count": 128
}

These values describe configured processor topology and SHOULD NOT be interpreted as the number of cores or threads currently available to a user or workload.

4.3 CPU Clock Frequency

base_clock_mhz and max_clock_mhz describe advertised processor frequency characteristics when those concepts are meaningful for the CPU architecture and implementation.

They do not represent current operating frequency. If current frequency is exposed, its semantics and update behavior are governed by the applicable IRI API contract and Resource Definition Profile.

4.4 Vendor and Model

The optional vendor and model attributes provide descriptive implementation information and are represented as strings.

5 CPU JSON Schema

components:
  schemas:

    IriUrn:
      type: string
      pattern: '^urn:doe-iri:[A-Za-z0-9][A-Za-z0-9:._~-]*$'

    CpuAttributes:
      type: object
      description: >
        Attributes describing a CPU resource with resource type
        urn:doe-iri:resource:compute:cpu.
      required:
        - schema_version

      properties:

        schema_version:
          type: string
          enum:
            - "1.0.0"
          example: "1.0.0"

        cpu_architecture:
          $ref: '#/components/schemas/IriUrn'

        core_count:
          type: integer
          minimum: 0

        thread_count:
          type: integer
          minimum: 0

        base_clock_mhz:
          type: integer
          minimum: 0

        max_clock_mhz:
          type: integer
          minimum: 0

        vendor:
          type: string

        model:
          type: string

6 Example CPU JSON Instance

{
  "schema_version": "1.0.0",
  "cpu_architecture": "urn:doe-iri:compute:cpu-architecture:x86-64",
  "core_count": 64,
  "thread_count": 128,
  "base_clock_mhz": 2000,
  "max_clock_mhz": 3500,
  "vendor": "Example CPU Vendor",
  "model": "Example Processor"
}

DOE Integrated Research Infrastructure — URN Registry: CPU