<?xml version="1.0" encoding="utf-8" standalone="yes"?><?xml-stylesheet href="/feed_style.xsl" type="text/xsl"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="https://www.rssboard.org/media-rss">
  <channel>
    <title>OpenSource on Eva Winterschon</title>
    <link>https://winterschon.gitlab.io/tags/opensource/</link>
    <description>Recent content in OpenSource on Eva Winterschon</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <copyright>Some copyright notice - [my license](https://example.com/license)</copyright>
    <lastBuildDate>Thu, 28 May 2026 20:14:00 +0000</lastBuildDate><atom:link href="https://winterschon.gitlab.io/tags/opensource/index.xml" rel="self" type="application/rss+xml" /><icon>https://winterschon.gitlab.io/logo.svg</icon>
    
    
    <item>
      <title>Validating E2ET via LTR</title>
      <link>https://winterschon.gitlab.io/en/posts/validating-e2et-flows/</link>
      <pubDate>Thu, 28 May 2026 20:14:00 +0000</pubDate>
      
      <guid>https://winterschon.gitlab.io/en/posts/validating-e2et-flows/</guid>
      <description><![CDATA[<p>Lot of chatter on the interwebs lately about <em>&ldquo;state surveillance&rdquo;</em>, where <em>&ldquo;both sides&rdquo;</em> are relentlessly attempting to remove all <strong>E</strong>nd-to-<strong>E</strong>nd-<strong>E</strong>ncyption <em>(aka <strong>E2EE</strong>)</em>, but that is not what this post is about, and this post is not about politics.</p>
<p>Also a lot of talk about Github being compromised and having 3,000+ internal repos exfiltrated. Surely GitHub has 100% Code Coverage Testing and End-to-End Test (Work)Flows, right? No, they do not.</p>
<p>This post is focused on <strong>E2ET</strong> <em>(<strong>E</strong>nd-to-<strong>E</strong>nd-<strong>T</strong>esting)</em> of application service roles and machine provisioning automation. So, let&rsquo;s start by seeing just exactly WTF I&rsquo;m referring to with this type of testing in the first place.</p>
<hr>
<h2 id="ci-systems-as-a-failure-mode-example">CI Systems as a &ldquo;Failure Mode&rdquo; Example</h2>
<p>In the reporting system here we use a host type definition of <code>K10</code> which is mostly arbitrary, but the root story is an irrelevant tangent, used in this infrastructure as an example of a standdalone system which requires specific attention to failure state definitions, stateful analysis of gated operations, and is used for iterative looped-based resolution testing.</p>
<p>The <strong>K10</strong> host is assigned to a role which features CPU-native <code>cpuid2cpuflags</code> <a href="https://github.com/gentoo/cpuid2cpuflags/">architecture optimized compiler flags</a>. We never use generic kernels, or generic machines, because <a href="https://www.forbes.com/councils/forbestechcouncil/2023/03/27/cloud-versus-on-premises-advantages-and-disadvantages-of-both-models/">efficiency and optimization in the industry is basically a broken afterthought</a> and it gets old after a while - dealing with non-optimized non-attentitive systems engineering approaches featuring inefficient broken theories based the shrug-method, <em>&ldquo;just make it auto-scaling and put more kubes or something?&rdquo;</em></p>
<hr>
<h3 id="network-booting-the-baseline-os">Network Booting the Baseline OS</h3>
<p>The <strong>K10</strong> baseline system boots over the network using <code>iPXE/HTTPv4,</code> while other devices require <code>chainload PXE/TFTP -&gt; iPXE/HTTPv4</code> boot images. This facilitate a system of host-based discovery and domain authentication via <code>initrd</code> embedded kernel modules + connection parameters for <code>FreeIPA/SSSD for RBAC + AAA</code> using MAC and PKE enrollment. We also do this for FreeBSD hosts, with some minor differences.</p>
<p>The <strong>K10</strong> is also connected to local-rack PDUs with remote power cycling via either <code>ACPI signal</code> for <em>&ldquo;soft shutdown&rdquo;</em> or via its switched-outlet port. The PDUs are controlled by the Command-&amp;-Control Server using <code>SNMPv3 user + group authentication</code> via its infrastrcture management LAN connection with an auth-hook to <a href="https://freeipa.readthedocs.io/en/latest/api/radiusproxy_show.html">FreeIPA via RADIUS</a>.</p>
<h3 id="lets-see-some-reports">Let&rsquo;s See Some Reports!</h3>
<p>Having covered some blathering about provisioning systems, we can move on to agent-based querying for <code>SITREP</code> , which is executed on our in-house LLM structured query execution tooling. That whole chain of events required writing a new <em>&ldquo;Agentic Forge Control Plane&rdquo;</em>, which was enjoyable most of the time&hellip; and it has become a baseline distributed comms system for &ldquo;<a href="https://github.com/yukon-systems/StorOps__Project_Coherent_Storage">Project Coherent Storage</a>&rdquo; which is currently managing a bit over 1PB of data on OpenZFS.</p>
<p>Earlier this year I paused for some PTO and rewrote all of my formerly Ansible driven and automated <code>Infrastructure as Code</code> workflows to support an upcoming revision to our dual-continent presence at six datacenter locations. It&rsquo;s occasionally and very tentatively being referred to as <code>&quot;minimalist-maxxing&quot;</code> which is mostly pure nonsense where grammatical excellence is concerned, but ultimately accomplishes the following:</p>
<ul>
<li>Gentoo w/ Optimized Stage4, LLVM/Clang, OpenRC</li>
<li>Minimalist service containers using our Stage4 baseline, with service roles layered on top. Try it out:</li>
</ul>
<p>No, these were not Kubernetes, not Helm, not Cloudslop. Sometimes translates into <code>Infrastructure as a Service</code>, for enablement of <code>event-driven architecture</code> with a hybrid-local service enablement for LLM predictive action controls.</p>
<p>That&rsquo;s a lot of words to say, <em>&ldquo;I make the code do the things with the signals processing and patterns and stuff.&rdquo;</em> Wait wait.. no, this is not going to cover anything about <em>&ldquo;N~less Computing&rdquo;.</em></p>
<h2 id="stop-blathering-about-serverless-computing">Stop Blathering About <em>&ldquo;Serverless Computing&rdquo;</em></h2>
<p>This term&hellip; it is bull-sheet top to bottom front to back.</p>
<ul>
<li><strong>Serverless does not mean &ldquo;no servers.&rdquo;</strong> Cloud providers rely on physical infrastructure to run your code and your applications.</li>
<li><strong>The term is marketing shorthand, not architectural reality.</strong> Serverless means server management is abstracted away from developers, not eliminated, nor emancipated.</li>
<li><strong>It does not mean &ldquo;no infrastructure.&rdquo;</strong> Provisioning, patching, security, scaling, and runtime management are simply shifted to the provider, just like the &lsquo;ol days where users had websites on shared hosting systems (and they still do) without having to handle, manage, or maintain the infrastructure.</li>
<li><strong>It is not always cheaper.</strong> Serverless can be cost-effective for sporadic or bursty workloads, but long-running or compute-heavy jobs may cost more than VMs or dedicated servers.</li>
<li><strong>It is not a universal replacement.</strong> Serverless differs from IaaS and PaaS by emphasizing event-driven execution, automatic scaling, and scale-to-zero behavior when idle; lies, all marketing lies. Follow the money.</li>
</ul>
<p><img src="/content/images/2026/05/princess-bride-serverless-meme.960px-1.webp" alt=""></p>
<blockquote>
<p>[host K<strong>10</strong>]: currently has transient AAA validation, not E2ET PASS</p>
<ul>
<li>APC PDU AP7901 initiated hard-reboot proved the current netboot rootfs does not persist SSSD/IPA state.</li>
</ul>
<p>Under this definition, <strong>K10</strong> must rebuild rootfs or disk-install with aaa-domain-client, reboot, then pass the full post-boot E2ET suite before it can unblock <code>xen-sun99-x12spl-099108.rfc1918.host</code> reimage confidence.</p>
</blockquote>
<h3 id="standard-example-k10-automation-report">Standard Example &lsquo;K10 Automation Report&rsquo;</h3>
<pre tabindex="0"><code># E2ET Definition
End to End Testing / E2ET should mean: a reproducible host acceptance pipeline that proves a machine can move from inventory intent to installed, rebooted, validated, scored, documented, and release-eligible state.

For RFC99, a host is not E2ET-passed just because we fixed it live. It passes only after the fix is represented in source-of-truth and survives the full lifecycle.

## Policy Definition
For validation hosts like `K10`:

1. Fix live only to recover evidence or confirm root cause.
2. Backport the fix into repo-owned profile, role, manifest, package list, NetBox/DNS/IPAM metadata, and docs.
3. Reinstall or rebuild/reboot through the intended provisioning path.
4. Run post-boot validation.
5. Generate a conformance report.
6. Only then mark the host RC/GA-capable.

&gt; A one-off live fix can be marked transient validated, but never E2ET passed.

## E2ET Stages

### Host Pipeline

1. **Inventory Gate**: NetBox/IPAM/DNS/Ansible host metadata matches expected MACs, interfaces, service IPs, PDU mapping, console path, boot protocol.
2.** Provisioning Gate**: iPXE or PXE-chainload path works, installer runs, ZFSBootMenu/bootfs/rootfs pools validate, OS install completes.
3. **First Boot Gate**: kernel cmdline, serial console, hostname/FQDN, SSH, time sync, logging, package profile, OpenRC services.
4. **Platform Gate**: CPU model, RAM, disks, NVDIMM/Optane if present, sysfs, kernel modules, firmware, CVE mitigation status.
5. **Network Gate**: management interface, service interfaces, VLANs, routes, DNS forward/reverse, NetBox consistency, nmap readiness.
6. **Storage Gate**: ZFS pools, NFSv3/v4, NFS-RDMA, Ceph, iSER, iSCSI, sshfs as applicable.
7. **Identity Gate**: FreeIPA/SSSD/PAM/SSH keys, UID/GID consistency, sudo policy, offline cache, break-glass account.
8. **Service Gate**: required services running, no unexpected failed services, role-specific smoke/functional checks.
9. **Performance Gate**: CPU, memory, disk, network, build/distributed compile benchmarks against baseline.
10. **Conformance Report**: JSON + Markdown + optional JUnit output with hard-gate pass/fail and weighted score.

### Scoring Model
Use hard gates plus weighted scoring.

### Hard Fails
  - Cannot boot.
  - Cannot SSH via management path.
  - IPAM/DNS mismatch for primary identity.
  - Root pool invalid.
  - SSSD missing on an AAA-required profile.
  - Required service failed.

### Score Zones
  - p60: minimally usable, not release candidate.
  - p80: acceptable lab host.
  - p90: RC candidate.
  - p95: GA for normal infra.
  - p99: production-critical or rebuild-template quality.

## Policyinctions
While there is overlap with &#34;conformance tiers&#34;, this functionally is separate from &#34;statistical confidence&#34; until we have sufficient historical run-data to compute &#34;Real-Number Percentiles&#34; and data-driven pattern-based repeatably-provable &#34;Statistically Significant&#34; probability assessments.

### K10 Applied Meaning
The host definition for `K10` currently has transient AAA (not AAA DNS: `&#34;ACK &amp; AGREE &amp; APPROVE&#34;`) validation, not E2ET pass.

#### **Actioned Event**
Its connected PDU port *(SKU: APC AP7901)* reboot proved the current `netboot rootfs` does not persist `SSSD/IPA` state. 

#### **Action Rephase**
Host definition `K10` requires a rebuild of rootfs or disk-install with `aaa-domain-client`, another reboot, then pass the full `Post-Boot E2ET` test suite before it can unblock dependency-trees. 

Otherwise K10 risks being labeled a permanent `reimage-processing confidence blocker`, which leads to hardware decomission.

## K10 Dead-Reckoning
Previously we defined the `RFC99` &amp; `SUN99` workflow as `K10 Host E2ET Acceptance Pipeline v0.1`, for this we&#39;ll re-implement the process using block-notation in Ansible + Python with the new report tooling, and enable `cicd-rfc99-jenkins-099199` for orchestrating it once the checks are stable.
</code></pre>]]></description>
      
    </item>
    
    
    
    <item>
      <title>Why Do We Need Her Anyway?</title>
      <link>https://winterschon.gitlab.io/en/posts/why-do-we-need-her-anyway/</link>
      <pubDate>Sat, 16 May 2026 23:41:50 +0000</pubDate>
      
      <guid>https://winterschon.gitlab.io/en/posts/why-do-we-need-her-anyway/</guid>
      <description><![CDATA[<p>Indeed. <strong>Do it yourself and ignore all knowledge, all advice.</strong> Build every wheel as new. Design everything from ground zero, always. Exist only in <em>The Now.</em> Push everyone away who advises otherwise - at your own peril. <strong>You are</strong> <strong>The Only Expert</strong>.</p>
<blockquote>
<p><strong>Choose your failure mode and you will find it quickly.</strong></p>
</blockquote>
<h2 id="please-skip-the-philosophy">Please Skip the Philosophy</h2>
<p>A valid request. Perhaps you don&rsquo;t care about this verbosity of thought, or considerations therein, or maybe you&rsquo;re aware of the reprisals and follies and want to move on to the engineering discussion? If so, simply scroll down to the section titled, <em><strong>&ldquo;How Does This Relate to Memory&rdquo;</strong></em>. Note that in doing so you will miss a blurb from <a href="https://en.wikipedia.org/wiki/Office_Space">Office Space</a>.</p>
<hr>
<h2 id="endeavor-to-endure-the-philosophy">Endeavor to Endure the Philosophy</h2>
<p>A fair degree of the human experience involves a process by which those of &ldquo;early-phase cognition&rdquo; attempt to self-obfuscate their <em>&ldquo;desire for desire&rdquo;</em>, attempting to live a life of nebulous and fleeting happiness, non-blissfully and unaware that it is this desire to feel and experience desire itself which has cornered their experience into a lifetime of endless searching, yearning, wanting, never satiated, eventually growing old and stale and losing their imaginative or creative or physical edge.</p>
<blockquote>
<p>This cycle of The Great Chase is one basis of Sisiphean frustration; one which - until it is surpassed - which requires being acknowledged, accepted, and integrated into their forward movement</p>
</blockquote>
<p>Some understand that to exist with desire, that all-controlling force, seemingly inescapable force which presses down upon the rock, forever trapping your perspective into the wheel of the unknown yet forever traveled, repeating mistakes which others warned against, refusing awareness of one&rsquo;s own misfortunate mentality and guiding-line towards an inevitable failure; experiences from which all lessons are never to be learned.</p>
<p>Go ahead. <strong>Do it</strong>. Don&rsquo;t learn from others. <strong>Do everything yourself,</strong> do it with the veracity by which you have become convinced is correct - do everything as though this is the first time anyone has ever tried to achieve the new shiny thing. Surely, this must be the path towards truth, self-realization, self-actualization, self-assurance, and that desperation of desire for freedom from desire to desire everything&hellip; and then&hellip; surely success is ensured?</p>
<p>No, <em>that modality of mentality would achieve its opposite effect</em>, and it would be a waste of everyone&rsquo;s time; because despite the ego-driven main-character syndrome which has become so performatively boring in the past two decades of social media, <strong>it&rsquo;s not all about You, or Me, it&rsquo;s about Everyone</strong> alive and even those who we have loved who died.</p>
<h4 id="mr-gibbons">Mr. Gibbons</h4>
<p>Peter Gibbons:<br>
It&rsquo;s not just about me and my dream of doing nothing. It&rsquo;s about all of us&hellip; Michael, we don&rsquo;t have a lot of time on this earth!</p>
<p>We weren&rsquo;t meant to spend it this way. Human beings were not meant to sit in little cubicles staring at computer screens all day, filling out useless forms and listening to eight different bosses drone on about about mission statements.</p>
<p>Michael Bolton:<br>
I told those fudge-packers I liked Michael Bolton&rsquo;s music.</p>
<p>Peter Gibbons:<br>
Oh, That is not right, Michael.</p>
<p>Purposeless self-serving inefficiency which is predicated on assured failure wastes time that humanity does not have - <strong>we do not have time for oppositional defiance induced mediocrity</strong>. Stop the gamification.</p>
<h2 id="the-mindset-of-being-simply-wrong">The Mindset of Being Simply Wrong</h2>
<p>Instead of repeating the pattern described above, grow the fuck up and learn how to effectively learn from others, to learn from the past, to learn using a reinforcement framework of concept-action-processing. <em>&ldquo;Thems may be big words&rdquo;</em>, but this is not a complicated concept. One does not have to choose the path of stupidity; ignorance - we&rsquo;re all ignorant in all manner of ways and that&rsquo;s inescapable; however when one ignores the data, ignores the lesson, and chooses the path before them via oppositional defiance, that&rsquo;s called <em>&ldquo;being stupid&rdquo;</em>. It&rsquo;s stupid not to learn from others.</p>
<hr>
<h2 id="how-does-this-relate-to-memory">How Does This Relate to Memory</h2>
<p>Memory is everything. The conscious experience, the neural network running inside our brains, the execution of &ldquo;<a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC12025022/">The Default Mode Network</a>&rdquo;, requires effective memory - <a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC4526749/">short term a well as consolidation to long-term memory</a>.</p>
<p>So, when the industry was informed of the untimely discontinuation of Intel&rsquo;s Optane NVDIMMs&hellip; we were all screwed. Until Q2 2026. Now it&rsquo;s Q2 and finally CXL non-volatile memory is available in sufficiently equivalent density, performance, and lifespan to exceed Optane&rsquo;s role, and it is available in PCIe Gen-4 and Gen-5 and soon&hellip; Gen-6.</p>
<h2 id="an-introduction-to-cxl">An Introduction to CXL</h2>
<ul>
<li>It&rsquo;s not HBM, it&rsquo;s not 3D-Xpoint, it&rsquo;s not SRAM, nor vRAM</li>
<li>CXL is packaged in PCIe, U.3, and EDSFF formats</li>
<li>CXL offers dense capacity, low-latency, and exceptional I/O</li>
<li>CXL is made for Ai/HPC/OLTP memory acceleration</li>
<li>CXL is the new hotness, it is the new standard, it is performance</li>
</ul>
<h2 id="hpc-cluster-storage-acceleration">HPC Cluster Storage Acceleration</h2>
<p>CXL is being built into (not next-gen, now-gen) storage appliances and network protocol accelerator systems used in High Performance Computing, Ai/ML which leverages HPC tech, and Supercomputers.</p>
<h2 id="cxl-in-telco-dsp-as-protocol-caches">CXL in Telco DSP as Protocol Caches</h2>
<p>CXL is perfectly suited for digital signals processing on a range of network protocols and their intra-chassis and inter-chassis RDMA driven networks. There&rsquo;s one person who I know that hates it when I bring up RDMA - truly an example of being willfully ignorant. Moving on&hellip;</p>
<h3 id="cxl-memory-in-telco-atac-chassis">CXL Memory in Telco ATAC Chassis</h3>
<ul>
<li>14 slots in 19-inch rack ≈→ ∆ {$N total trays per 42U ≈ μ19}</li>
<li>16 slots in 23-inch ETSI rack ≈→ ∆ {$N total trays per 42U ≈ μ23}</li>
<li>Chassis heights from 4U to 15U ≈↑ ∆ [[ μ4, μ19, μ23 ]]</li>
<li>Telco grade Power &amp; Cooling Efficiency &amp; Redundancy ++</li>
<li>Mil-DoD Compliant Physical &amp; Operational Security ++</li>
<li>Industrial NEBS Environmental Operating Ranges ++</li>
<li>Zero-Downtime Serviceability &amp; Upgrade/Maint ++</li>
<li>Intra+Inter-Chassis Redundancy (Modular Scale) ++</li>
<li>Geo-Deploy Designed for regional XOR continental mesh ++</li>
</ul>
<hr>
<h2 id="so-why-should-we-listen-to-her">So, Why Should We Listen to Her?</h2>
<p>Becausee I&rsquo;ve been building and iterating these types of storage architectures for nearly twenty years of my career. If you want to do it all from scratch or buy this type of storage performance for 10x the cost, go ahead; the market exists and you can be the big winner.</p>
<p>However, if you don&rsquo;t want to pay a premium for non-OpenSource storage clusters which are capable of serving and scaling from 10s to 100s of Petabytes, then this is the direction by which engineering solutions arrive at the datacenter. My storage designs range from <a href="https://blogs.oracle.com/exadata/advantages-of-exadata-exascale">Oracle&rsquo;s Exadata &amp; Exascale</a> clusters which have been adapted to run non-standard protocols, to fully purpose-built data-acceleration clusters which use COTS building blocks to provide similar performance and scale at a fraction of the cost <em>(not including consulting, engineering scope, and top-to-bottom fully-automated storage architecture deployments)</em>.</p>
<p>As networking has improved, NAND designs have advanced, and costs have reduced on $/TB and $/Watt&hellip; yet always&hellip; always the storage sizes grow in density and capabilities. This is natural and expected.</p>
<hr>
<h2 id="project-coherent-storage-an-evolution">Project Coherent Storage, an Evolution</h2>
<p>Six primary iterations, tracking the advancement of NAND acceleration, Network Acceleration, Protocol Offloading, Non-Volarile RAM, and now we see CXL capable of being deploying into reference architectures by which all others may be measured.</p>
<ul>
<li><strong>Project Coherent Storage v1</strong>, (2010-2012)</li>
<li><strong>Project Coherent Storage v2,</strong> (2011-2015)</li>
<li><strong>Project Coherent NAND,</strong> (CMPLX.io) (2015-2017)</li>
<li><strong>Project Coherent IO-Max v1</strong>, w/ Optane PMem (2020-2024)</li>
<li><strong>Project Coherent IO-Max v2</strong>, w/ Optane PMem (2024-2025)</li>
<li><strong>Project Coherent Storage v3</strong>, w/ CXL AIC/U3 (2026)</li>
</ul>
<h3 id="development-details---concise-timeline">Development Details - Concise Timeline</h3>
<p>A little bit of engineering nerdery for those who care&hellip; and btw, the community myth that ZFS cannot fulfill a role as a multi-node clustered filesystem are wrong.</p>
<h4 id="what-about-the-zfs-cant-cluster-myth">What About the &ldquo;ZFS Can&rsquo;t Cluster&rdquo; Myth?</h4>
<p>The &ldquo;Clustered ZFS&rdquo; operating modality for multi-controller interactions (<em>not limited to A/B active/passive or even active/active with modified pool-async hooks</em>) requires advanced network hardware and engineering experience which most are not aware of, and so the myth perpetuates; but it is wrong and it has been wrong for as long as SAS drives have had dual-heads and shelves have had 4+ SFF connectors ready for multi-multipath-chaining - and enterprise NVMe drives are also available in this arrangement for the same purpose.</p>
<h4 id="project-coherent-storage-v1-2010-2012"><strong>Project Coherent Storage v1</strong> (2010-2012)</h4>
<ol>
<li>Coherence Grid (DDR3 (Tier1)) + Custom Relational-Vector DBMS</li>
<li>Sunfire ZFS controllers w. Multi-Protocol-Net Interlinks (IB, IPoIB, mNFS+, FC, FCoE)</li>
<li>Geo-Dist-Nodes w. DDR3-PCIe SuperCap &ldquo;Hot Cache Layer&rdquo; (Tier2), w. <a href="https://dogemicrosystems.ca/pub/Sun/System_Handbook/Sun_syshbk_V3.4/Systems/SunFireX4600_M2/spec.html">Sunfire X4600/M2</a> @ 64 DIMMs Hotswap</li>
<li>Geo-Dist-Nodes w. SAS SSDs (Tier3) + SAS Spinner (Tier4)</li>
<li>Controller A/B+ nodes w. SAS-HBA to LTO-N (Tier5)</li>
</ol>
<h4 id="project-coherent-storage-v2-2011-2015"><strong>Project Coherent Storage v2</strong> (2011-2015)</h4>
<ol>
<li>Coherence Grid (DDR3 (Tier1)) + Relational-Vector DBMS</li>
<li>Sunfire ZFS controllers w. Multi-Protocol-Net Interlinks (IB, IP Native L2/L3, mNFS+, FCoE)</li>
<li>Geo-Dist-Nodes w. FusionIO Stacked &ldquo;Hot Cache Layer&rdquo; (Tier2)</li>
<li>Geo-Dist-Nodes w. SAS SSDs (Tier3) + SAS Spinner (Tier4)</li>
<li>Optional A/B nodes w. SAS-HBA to LTO-N (Tier5)</li>
</ol>
<h4 id="project-coherent-nand---cmplxio-2015-2017"><strong>Project Coherent NAND - CMPLX.io</strong> (2015-2017)</h4>
<ol>
<li>Coherence Grid DDR4 (Tier1) + Relational-Vector DBMS</li>
<li>Native ZFS controllers w. Multi-Protocol-Net Interlinks (IB, IP Native L2/L3, mNFS+, iSER)</li>
<li>Geo-Dist-Nodes w. NAND Stacked &ldquo;Hot Cache Layer&rdquo; (Tier2)</li>
<li>Geo-Dist-Nodes w. SAS3 SSDs (Tier3) + SAS3 Spinner (Tier4) [+ optional SAS3 HBA to LTO for Iron Mountain (Tier5)]</li>
<li>This architecture was a basis for one of my former startups, which was sold to private equity and built-upon for their HFT clusters under very tight NDA + Confidentiality Contract</li>
</ol>
<h4 id="project-coherent-io-max-storage-architectures-v1-2-3">Project Coherent IO-Max Storage Architectures v1, 2, 3</h4>
<p>These storage architectures share core foundations, with iterations upward as Non-Volatile Memory was introduced on a wider scale into my designs. The initial design for v1 featured the first generation of Intel Optane 3D-XPoint (Series 100), v2 with Series-200, and now CXL taking the place of Optane PMem SKUs.</p>
<p>The details of each design from v1 and v2 may be expanded upon later, simply for historical purposes, and I have other things to do right now&hellip; but if you&rsquo;ve made it this far into the post and want to see the specification ADRs and related research, which is RAG-pipelined and iteratively deployed on real hardware for revisions and regression testing to validate LLM Inference usage &amp; advancements with the now-opensource Coherence-CE version&hellip; scroll down for a link to v3&rsquo;s repo.</p>
<ul>
<li><strong>Project Coherent IO-Max v1,</strong> (2020-2023)</li>
<li><strong>Project Coherent IO-Max v2,</strong> (2023-2025)</li>
<li><a href="https://github.com/yukon-systems/StorOps__Project_Coherent_Storage"><strong>Project Coherent IO-Max v3</strong>,CXL (2026)</a></li>
</ul>
]]></description>
      
    </item>
    
    
    
    <item>
      <title>LLM Variants - Purpose Tuned Models</title>
      <link>https://winterschon.gitlab.io/en/posts/llm-variants-purpose-tuned-models/</link>
      <pubDate>Fri, 15 Aug 2025 20:19:05 +0000</pubDate>
      
      <guid>https://winterschon.gitlab.io/en/posts/llm-variants-purpose-tuned-models/</guid>
      <description><![CDATA[<p>When deploying local models or when accessing remote API based LLMs with one&rsquo;s tools of choice, there comes a time <em>(and that time is now)</em>, when the options presented are vast and various. One may consider, just give me <em>&ldquo;the default&rdquo;</em>, but there is no default model. These days we have variants, where one LLM has been quantized or re-trained or post-trained or adapted in various ways to fine tune its abilities and focus.</p>
<p>Let&rsquo;s inspect one of my favorites lately, <a href="https://huggingface.co/collections/Qwen/qwen3-67dd247413f0e2e4f653967f">Qwen3-235B</a>. This is not a model that one commonly sees running outside of large compute clusters and supercomputers, because the 235 billion parameters require substantially more resources than most infrastructures have available. Often when we see Qwen3 in-use on not-supercomputers, it&rsquo;s the 32B variant, which can run well enough on a 16GB+ vRAM capable GPU. <a href="https://huggingface.co/Qwen/collections">Querying the models on Huggingface and one will see there are 32B on the low-side all the way to 480B</a> for the supercomputers and research clusters, and many customized ones built from the originals.</p>
<p>Parameter quantity aside, as we&rsquo;re not focused on that at the moment, let&rsquo;s look at the primary high-level differences, as well as low-level technical differences, between LLM variants like &ldquo;Coder&rdquo;, &ldquo;Thinking&rdquo;, &ldquo;Instruct&rdquo;. Over at the <a href="https://cloud.cerebras.ai/">Cerebras Inference Cloud</a> we can use the following types.</p>
<table>
  <thead>
      <tr>
          <th>Qwen3-32B</th>
          <th>Qwen3-235B-Coder</th>
          <th>Qwen3-235B-Instruct</th>
          <th>Qwen3-235B-Thinking</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Base LLM</td>
          <td>Code Generation</td>
          <td>Sequence Executions</td>
          <td>Complex Reasoning</td>
      </tr>
  </tbody>
</table>
<p><img src="/content/images/2025/08/Cerebras-Inference-2025-08-15-124030.png" alt=""></p>
<hr>
<h3 id="high-level-differences">High Level Differences</h3>
<ul>
<li><strong>Base Model</strong>: Generalist, no task specialization.</li>
<li><strong>Coder</strong>: Focuses on <strong>programming efficiency</strong> (e.g., auto-completion, error fixing).</li>
<li><strong>Instruct</strong>: Prioritizes <strong>user safety and conversational alignment</strong> (e.g., chatbots).</li>
<li><strong>Thinking</strong>: Targets <strong>structured reasoning</strong> (e.g., math proofs, logical puzzles).</li>
</ul>
<table>
  <thead>
      <tr>
          <th><strong>Variant</strong></th>
          <th><strong>Purpose</strong></th>
          <th><strong>Users</strong></th>
          <th><strong>Features</strong></th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><strong>Base</strong></td>
          <td>General-purpose language modeling</td>
          <td>Researchers, Developers</td>
          <td>Broad knowledge coverage, foundational capabilities for text generation</td>
      </tr>
      <tr>
          <td><strong>Coder</strong></td>
          <td>Code generation &amp; understanding</td>
          <td>Software Developers</td>
          <td>Optimized for programming tasks (code completion, debugging, multi-language support)</td>
      </tr>
      <tr>
          <td><strong>Instruct</strong></td>
          <td>Instruction-following for conversational tasks</td>
          <td>End-users, Chatbots</td>
          <td>Aligned with human preferences, safety filters, chat template adherence</td>
      </tr>
      <tr>
          <td><strong>Thinking</strong></td>
          <td>Complex reasoning &amp; step-by-step problem-solving</td>
          <td>Analysts, Researchers</td>
          <td>Enhanced logical reasoning, chain-of- thought generation, multi-step inference</td>
      </tr>
  </tbody>
</table>
<h3 id="low-level-differences">Low Level Differences</h3>
<ul>
<li><strong>Tokenizer</strong>: Coder extends vocabulary for code symbols (e.g., <code>def</code>, <code>-&gt;</code>), while others reuse the base tokenizer.</li>
<li><strong>Fine-Tuning</strong>: Instruct uses RLHF for alignment; Thinking uses process-based rewards for intermediate steps.</li>
<li><strong>Decoding</strong>: Thinking enforces iterative step generation via modified KV-cache management, unlike autoregressive defaults.</li>
<li><strong>Loss Functions</strong>: Coder weights syntax validity; Thinking penalizes incorrect reasoning paths early.</li>
</ul>
<table>
  <thead>
      <tr>
          <th><strong>Variant</strong></th>
          <th><strong>Data</strong></th>
          <th><strong>Arch</strong></th>
          <th><strong>Loss</strong></th>
          <th><strong>Infer</strong></th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><strong>Base</strong></td>
          <td>General web text, CommonCrawl, books, articles, balanced domain coverage</td>
          <td>Standard Transformer architecture, no task-specific changes</td>
          <td>Standard cross- entropy loss over next-token prediction</td>
          <td>Autoregressive generation; neutral tone, no task- specific formatting</td>
      </tr>
      <tr>
          <td><strong>Coder</strong></td>
          <td>Code repositories, 30%+ code data</td>
          <td>Extended tokenizer with code-specific tokens; syntax-aware positional embeddings</td>
          <td>Weighted cross- entropy loss favoring syntactically valid code constructs</td>
          <td>Generates code with proper indentation, supports infilling</td>
      </tr>
      <tr>
          <td><strong>Instruct</strong></td>
          <td>Instruction-response pairs (self-instructed data, human- annotated dialogues)</td>
          <td>No structural changes; fine-tuned attention layers for instruction parsing</td>
          <td>SFT + RLHF, Proximal Policy Optimization with safety rewards</td>
          <td>Outputs structured responses</td>
      </tr>
      <tr>
          <td><strong>Thinking</strong></td>
          <td>Reasoning datasets (GSM8K, MATH, HotpotQA), iterative problem-solving examples</td>
          <td>Added &ldquo;reasoning head&rdquo; for intermediate step prediction; modified KV-cache for iterative decoding</td>
          <td>Process-based supervision loss (rewarding correct intermediate steps)</td>
          <td>Explicitly outputs reasoning steps (eg, &ldquo;Step 1: &hellip; Step 2: &hellip;&rdquo;) before final answer</td>
      </tr>
  </tbody>
</table>
<h3 id="use-case-mapping">Use Case Mapping</h3>
<ul>
<li>Need <strong>code generation</strong>? → <strong>Coder</strong></li>
<li>Building a <strong>chatbot</strong>? → <strong>Instruct</strong></li>
<li>Solving <strong>multi-step problems</strong>? → <strong>Thinking</strong></li>
<li>Researching <strong>foundational capabilities</strong>? → <strong>Base</strong></li>
</ul>
<h3 id="visualizing-decisions-via-flowchart"><strong>Visualizing Decisions via Flowchart</strong></h3>
<p>Visualizes the evolution from base model to specialized variants, emphasizing technical divergence points, which you can see in the live rendering panel over at <a href="https://mermaid.live/edit#pako:eNpdk1tv2jAUgP_KkSvtZQkjQAhk0qRCqDZpnbSWpzV9MMkxWE3syHbaUuC_7zhQxspL8OX7fC72jhW6RJayteHNBpZZroB-1w-_X1ANw8EwnsGMW4Rb2lY9Qhh-2y8NlwpL0ArWqNDwCl5wBQ5f3R5mF-TjSdZRn2FOCii0aVoLn8DpJ1TyDQ0Qh8pKrfYwv6BDv998cNzfLL_c_fx-4w-XyjrTFo5Iu4fsEv1xWvpA3yG3Wkm1hpI7ysr5QKSjFJx8RiiRikGre1hcypYbqZ5ommRH3czrYBY95OzecVVyU0JhtLUhKmd0s4WKBnmufmHrfHmkEmhQFZizU0TzTjH3Cp9maBsspJDFsSyevd8qx19D_sINAtYrLH1o9mzIOkPmDV1BeCXXqqYAPMsFui0IWVFu_5BFhyw65FyJDfLSIw6bcLUNLX2pU0vQrWta17FHuqi4tRkKWPn7QO4qvcKxSIQIqNgUdnoVTaZ9Ib5-2P_MjeTKnRAxFgLLMxIPilHELxG4DmbdGf9NzoMsWLyraIUFdGVlyVLqMwasRlNzP2Q7T-XMbbCmcqf0l_rzlLNcHYhpuPqjdf2OGd2uNywVvLI0ahu6FphJTo-hPs9S4-geznWrHEunnYKlO_bK0jjpjSfJKOkPJoP-YBonAduyNJoOe3HSHw2jQTKMptF4dAjYW3dovzdJ4oBhKZ02t8eH172_w1_u1yG-">Mermaid.Live</a></p>
<p><img src="/content/images/2025/08/qwen-models-mermaid.png" alt=""></p>
<pre tabindex="0"><code>graph TD
    A[Qwen3-235B Base Model] --&gt;|Trained on general web text| B[Qwen3-235B]
    A --&gt;|+ Code corpus &amp; tokenizer extension| C[Qwen3-235B-Coder]
    A --&gt;|+ SFT/RLHF on instructions| D[Qwen3-235B-Instruct]
    A --&gt;|+ Reasoning datasets &amp; iterative decoding| E[Qwen3-235B-Thinking]

    B --&gt; B1[&#34;Standard cross-entropy loss\nNeutral inference&#34;]
    C --&gt; C1[&#34;Code-specific tokens\nSyntax-aware embeddings&#34;]
    D --&gt; D1[&#34;RLHF alignment\nSafety filters&#34;]
    E --&gt; E1[&#34;Reasoning head\nStep-by-step CoT output&#34;]

    classDef base fill:#e6f7ff,stroke:#1890ff;
    classDef variant fill:#f6ffed,stroke:#52c41a;
    class A,B base;
    class C,D,E variant;
</code></pre><hr>
]]></description>
      
    </item>
    
    
  </channel>
</rss>
