Skip to content

Commit 3e7f4a1

Browse files
congwang-mkclaude
andcommitted
Fix double dashes, add section padding, and tighten copy on technology page
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 3229671 commit 3e7f4a1

1 file changed

Lines changed: 8 additions & 8 deletions

File tree

technology.html

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ <h1>Split-Kernel Architecture</h1>
4040
<span>Background</span>
4141
</div>
4242
<h2 class="section-title">Why Split-Kernel</h2>
43-
<p class="section-subtitle">A traditional Linux kernel runs application code, device drivers, and interrupt handlers on the same cores. Under load, interrupt processing steals CPU cycles from applications. Years of kernel workarounds -- isolcpus, irqaffinity, NAPI threaded mode, RPS/RFS -- reduce the problem but cannot eliminate it. Within a single kernel, bottom-half work can always reach application cores.</p>
44-
<p class="section-subtitle">The split-kernel architecture removes this contention at the design level. Device processing is offloaded to a dedicated kernel on dedicated cores. Applications run in their own kernels where interrupts are structurally absent. And because Multikernel runs directly on hardware with no hypervisor, it works inside any standard cloud VM -- providing kernel-level isolation without the performance penalty of nested virtualization.</p>
43+
<p class="section-subtitle">A traditional Linux kernel runs application code, device drivers, and interrupt handlers on the same cores. Under load, interrupt processing steals CPU cycles from applications. Kernel workarounds like isolcpus, irqaffinity, NAPI threaded mode, and RPS/RFS reduce the problem but cannot eliminate it. Within a single kernel, bottom-half work can always reach application cores.</p>
44+
<p class="section-subtitle">The split-kernel architecture removes this contention at the design level. Device processing is offloaded to a dedicated kernel on dedicated cores. Applications run in their own kernels where interrupts are structurally absent. Because Multikernel runs directly on hardware with no hypervisor, it works inside any standard cloud VM, providing kernel-level isolation without the performance penalty of nested virtualization.</p>
4545
</div>
4646

4747
<div class="value-visual">
@@ -71,15 +71,15 @@ <h2 class="section-title">Why Split-Kernel</h2>
7171
</section>
7272

7373
<!-- Key Components -->
74-
<section id="solution">
74+
<section id="solution" class="value-section">
7575
<div class="section-container">
7676
<div class="section-header">
7777
<div class="section-badge">
7878
<i data-lucide="cpu"></i>
7979
<span>Key Components</span>
8080
</div>
8181
<h2 class="section-title">The Multikernel System</h2>
82-
<p class="section-subtitle">The split-kernel architecture is composed of three components: isolated app-kernels for applications, a shared device-kernel for all I/O, and a lock-free shared memory layer that connects them.</p>
82+
<p class="section-subtitle">Three components working together: isolated app-kernels for applications, a shared device-kernel for all I/O, and a lock-free shared memory layer connecting them.</p>
8383
</div>
8484

8585
<div class="technologies-grid">
@@ -88,15 +88,15 @@ <h2 class="section-title">The Multikernel System</h2>
8888
<i data-lucide="monitor"></i>
8989
</div>
9090
<h3 class="tech-title">App-Kernels</h3>
91-
<p class="tech-description">Each application runs in its own Linux kernel on dedicated cores. These kernels contain no device drivers, no interrupt handlers, and no network stack. Practically all compute and memory resources are delivered to the application.</p>
91+
<p class="tech-description">Each application runs in its own Linux kernel on dedicated cores. These kernels contain no device drivers, no interrupt handlers, and no network stack. Practically all compute and memory resources go directly to the application.</p>
9292
</div>
9393

9494
<div class="technology-card primary">
9595
<div class="tech-icon">
9696
<i data-lucide="hard-drive"></i>
9797
</div>
9898
<h3 class="tech-title">Device-Kernel</h3>
99-
<p class="tech-description">All device drivers, interrupt handlers, TCP/IP stack, and I/O processing are offloaded to a dedicated device-kernel on its own cores. This kernel serves every app-kernel and has its own independent update and failure domain.</p>
99+
<p class="tech-description">All device drivers, interrupt handlers, TCP/IP stack, and I/O processing run in a dedicated device-kernel on its own cores. This kernel serves every app-kernel and has its own independent update and failure domain.</p>
100100
</div>
101101

102102
<div class="technology-card primary">
@@ -128,7 +128,7 @@ <h2 class="section-title">How It Works</h2>
128128
<i data-lucide="play-circle"></i>
129129
</div>
130130
<h3 class="tech-title">Kernel Spawning via Kexec</h3>
131-
<p class="tech-description">New kernel instances are launched using Linux's kexec mechanism, extended to boot alongside the running kernel rather than replacing it. Each spawned kernel starts on its assigned CPUs and memory, fully independent.</p>
131+
<p class="tech-description">New kernel instances launch using Linux's kexec mechanism, extended to boot alongside the running kernel rather than replacing it. Each spawned kernel starts on its assigned CPUs and memory, fully independent.</p>
132132
</div>
133133

134134
<div class="technology-card">
@@ -159,7 +159,7 @@ <h3 class="tech-title">Docker Integration</h3>
159159
</section>
160160

161161
<!-- Comparison -->
162-
<section id="comparison">
162+
<section id="comparison" class="value-section">
163163
<div class="section-container">
164164
<div class="section-header">
165165
<h2 class="section-title">Split-Kernel vs. Existing Approaches</h2>

0 commit comments

Comments
 (0)