mirror of
https://github.com/profullstack/logicsrc.git
synced 2026-10-02 12:54:03 +00:00
Four resource specifications under OpenServer, one per thing that is negotiable when a server is bought. Each is the block of an OpenServer offer (compute, memory, gpu, network) written down on its own, with the units OpenServer 0.1 already uses (vcpu, cores, ram_mb, vram_mb, bandwidth_mbps, transfer_gb, ipv4, ipv6) and one new shape shared by all four: `range`, the field a buyer can dial at checkout, its bounds, the step and what a step costs on top of the base price. - OpenCPU: threads against cores, the processor by its vendor name, dedicated, shared or burstable allocation. - OpenMemory: mebibytes, DDR generation, ECC as three states, reserved, balloonable or shared; wins over compute.ram_mb when both are present. - OpenGPU: the card by its vendor name, count and VRAM per device, interconnect, passthrough, MIG, vGPU or shared access. - OpenBandwidth: port, four meters (transfer, unmetered, percentile, flat), overage, IPv4 and IPv6 addresses as a priced resource. A provider that sells only one resource lists it as an OpenServer offer and may serve the same document at /.well-known/<slug>.json. Landing pages share one component (resource-spec-page.tsx). Registered in DOC_SLUGS, NAV, STATIC_ROUTES and llms.txt. OpenServer, OpenFile and OpenDisk arrive in sibling PRs. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014cmNRtR2vL1p89dbVQ7FZJ
61 lines
3.3 KiB
TypeScript
61 lines
3.3 KiB
TypeScript
import type { ReactNode } from "react";
|
|
import type { Metadata } from "next";
|
|
import { ResourceSpecPage, type ResourceSpec } from "@/components/resource-spec-page";
|
|
|
|
export const metadata: Metadata = {
|
|
title: "OpenCPU · LogicSRC",
|
|
description:
|
|
"OpenCPU is the compute block of an OpenServer offer: threads against cores, the processor by its vendor name, dedicated, shared or burstable allocation, and a range that says how many more a buyer can add at checkout and for how much.",
|
|
alternates: { canonical: "/opencpu" }
|
|
};
|
|
|
|
const SPEC: ResourceSpec = {
|
|
name: "OpenCPU",
|
|
slug: "opencpu",
|
|
block: "compute",
|
|
tagline:
|
|
"The processor line of a server purchase, with the words fixed: threads or cores, whose they are, and what one more costs.",
|
|
problem:
|
|
"Four vCPU on one pricing page is four hyperthreads of a shared socket, throttled at a fifth of sustained load. On the next it is four dedicated cores with the boost clock quoted. A comparison site sorts both on the number four, and the buyer who wanted the second pays for the first. A configurator that offers three processors at three prices keeps that choice in a form where no reader can see it.",
|
|
sample: `{
|
|
"compute": {
|
|
"vcpu": 4,
|
|
"cores": 2,
|
|
"threads_per_core": 2,
|
|
"arch": "x86_64",
|
|
"model": "AMD EPYC 9354",
|
|
"vendor": "AMD",
|
|
"base_ghz": 3.25,
|
|
"boost_ghz": 3.75,
|
|
"allocation": "dedicated",
|
|
"range": {
|
|
"key": "vcpu", "min": 2, "max": 32, "step": 2,
|
|
"price": { "amount": 4, "currency": "USD", "interval": "month", "per": 1 }
|
|
}
|
|
}
|
|
}`,
|
|
smallest: `{ "compute": { "vcpu": 4 } }`,
|
|
fields: [
|
|
["vcpu / cores", "integer, one required", "Threads sold to the guest, or physical cores. threads_per_core relates them; a reader never derives one from the other without it."],
|
|
["arch", "x86_64, arm64, riscv64, or the provider's word", "Absent means unstated, not x86."],
|
|
["model, vendor", "the vendor's own name", "AMD EPYC 9354, Ampere Altra Max. Kept verbatim so a buyer can look it up."],
|
|
["base_ghz, boost_ghz, sockets", "decimal GHz, integer", "The vendor's figures, not a measurement."],
|
|
["allocation", "dedicated, shared, burstable", "Reserved for the buyer, oversubscribed, or shared with a credit balance (credits_per_hour, baseline_pct)."],
|
|
["range", "key, min, max, step, price", "What the buyer can dial at checkout and what each step costs on top of the base price."]
|
|
],
|
|
directory: [
|
|
["Two columns", "vcpu and cores are sorted separately; a row with neither is listed and marked unstated."],
|
|
["Allocation beside the count", "Four dedicated threads and four shared ones are different products at the same number."],
|
|
["Price the range", "Base price plus the per-step price, so 8 vCPU reads as base plus four steps."],
|
|
["Keep the model string", "Normalise for search, display the vendor's spelling."]
|
|
],
|
|
absent: [
|
|
["No benchmarks", "Clock figures are the vendor's. A measured score is another document's business."],
|
|
["No instruction-set flags", "AVX-512, SVE and the rest: look up model. A provider that wants them states them under its own key."],
|
|
["No scheduling guarantees", "Pinning, NUMA and latency are the provider's terms, linked from the offer's url."]
|
|
]
|
|
};
|
|
|
|
export default function OpenCpuPage(): ReactNode {
|
|
return <ResourceSpecPage spec={SPEC} />;
|
|
}
|