<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>DQC Articles</title>
    <link>https://grageragarces.github.io/dqc_articles/</link>
    <atom:link href="https://grageragarces.github.io/dqc_articles/feed.xml" rel="self" type="application/rss+xml" />
    <description>A blog series exploring the motivations, challenges, and emerging patterns in distributed quantum computing. From theoretical abstractions to practical implementations, my goal is to discuss the field as it evolves and shine a light on my work in the wider context.</description>
    <language>en</language>
    <lastBuildDate>Thu, 03 Sep 2026 00:00:00 +0000</lastBuildDate>

    <item>
      <title>DQEC: the big roadblock</title>
      <link>https://grageragarces.github.io/dqc_articles/posts/10-dqec.html</link>
      <guid isPermaLink="true">https://grageragarces.github.io/dqc_articles/posts/10-dqec.html</guid>
      <pubDate>Thu, 03 Sep 2026 00:00:00 +0000</pubDate>
      <description>For the past few months I've been looking at the main theoretical and software bottlenecks for deploying Distributed Quantum Computing. Distributed Quantum Error Correction (or DQEC) is one of the big ones. Let's dive into the state of the art by the end of the summer of 2026.</description>
      <content:encoded><![CDATA[
<p>
    For the past few months I've been looking at the main theoretical and software bottlenecks for deploying Distributed Quantum Computing.
    Distributed Quantum Error Correction (or DQEC) is one of the big ones.
    Let's dive into the state of the art by the end of the summer of 2026.
    </p>

    

<section>
  <h2>Why DQEC is different</h2>

<p>
Error correction is THE problem to solve for quantum computing.
Every other subfield (compilers, cost reduction, algorithms) is downstream of whether we can keep a logical qubit alive long enough to trust its output.
I touched on EC briefly as one of the "cost reduction strategies" in <a href="https://grageragarces.github.io/dqc_articles/posts/09-tune.html">this post</a>, 
but now I want to discuss it in a bit more depth.
</p>

<p>
The main differentiator between plain old (monolithic) EC and DQEC is the presence of communication channels (the network that interconnects the different devices). 
Each time these channels are used, for instance to enable a non-local gate (a gate performed across multiple QPUs, consuming entanglement), 
we introduce new errors that emerge from the network hardware. 
As if dealing with noisy computers wasn't enough we now have to also deal with noisy networks...
</p>

<p>
Monolithic EC is designed to withstand a level of stable noise (think of it as max X% of errors). 
It enables this through error correction codes 
that work by setting out a series of "checks" during the computation that monitor whether things are going according to plan. 
If one of the checks fails, the computation is corrected. 
But if too many fail then the error might fall through the cracks and become a "logical error", meaning it was not error corrected. 
Meaning new large injections of errors codes are not built to deal with are going to be problematic.
</p>

  <div style="background-color:#dce8ff; border-left:4px solid #7caae6; padding:10px 15px; margin:10px 0;">
  There are quite a few different error correction codes one can implement.
  Some popular ones include:
  <br><br>
    <strong>Surface codes:</strong> arrange qubits on a 2D grid and check parity through nearest-neighbour plaquettes. 
    They are very local &amp; tileable, which is why they're the current darling of the field.
  <br><br>
    <strong>Quantum LDPC codes:</strong> give up that strict locality for sparse, longer-range connections between qubits, 
    which leads to better ratios of logical to physical qubits, at the cost of a much harder connectivity in hardware.
  <br><br>
    <strong>Colour codes:</strong> sit on a three-colourable lattice and get transversal Clifford gates for "free" (at the price of higher-weight checks).
  <br><br>
    <strong>Floquet codes:</strong> don't hold a fixed set of stabilizers.
    The logical qubits are generated dynamically, by cycling through a repeating schedule of very small measurements.
    Floquet codes were the most popular ones in DQC for a little while, 
    in no small part due to Nu Quantum's research on them (see <a href="https://arxiv.org/abs/2501.14029" target="_blank">Sutcliffe et al.</a>).
    They were/are popular because they enable small cross-plaquette checks meaning low required communication, 
    and thus reduced load on the distributed architecture, aka less network noise injections.   
  </div>

<p>
There are many questions we can ask ourselves when thinking of DQEC:
<br><br>
<em>Do you spread a single code across your entire network of devices, or does each device carry its own local code?</em>
<br><br>
<em>In the second setup, how do you turn a non-local gate, one that spans two QPUs, into a logical gate on top of a code that was never designed with a network link in mind?</em>
<br><br>
This is basically the global-vs-local question I wrote about <a href="https://grageragarces.github.io/dqc_articles/posts/08-encodings.html">here</a>, applied to error correction instead of circuit optimisation or mitigation.
</p>

<p>
<em>Also <strong>where does the decoder live?</strong></em>
<br><br>
In a monolithic device, syndrome extraction is a tight fast local loop.
You measure your stabilizers, ship the syndrome to a classical decoder sitting right next to the fridge, and get a correction back before the errors compound.
But when you distribute, the syndrome bits for a check may have to physically travel through a larger network before anyone can decode them.
We encounter network latency! 
The classical network stops being free... and suddenly times can start mattering.
</p>

<figure style="max-width:640px; margin:1.5em auto; text-align:center;">
<svg viewBox="0 0 640 225" xmlns="http://www.w3.org/2000/svg" style="width:100%; height:auto; font-family: sans-serif;">
  <g transform="translate(10,10)">
    <text x="150" y="12" text-anchor="middle" font-size="14" font-weight="bold" fill="#333">Global</text>
    <text x="65" y="30" text-anchor="middle" font-size="11" fill="#777">QPU 1</text>
    <text x="150" y="30" text-anchor="middle" font-size="11" fill="#777">QPU 2</text>
    <text x="235" y="30" text-anchor="middle" font-size="11" fill="#777">QPU 3</text>
    <rect x="20" y="40" width="80" height="140" fill="none" stroke="#999" stroke-width="1" stroke-dasharray="4,3"/>
    <rect x="110" y="40" width="80" height="140" fill="none" stroke="#999" stroke-width="1" stroke-dasharray="4,3"/>
    <rect x="200" y="40" width="80" height="140" fill="none" stroke="#999" stroke-width="1" stroke-dasharray="4,3"/>
    <g stroke="#2f6fb3" stroke-width="1.5">
      <line x1="30" y1="70" x2="270" y2="70"/>
      <line x1="30" y1="110" x2="270" y2="110"/>
      <line x1="30" y1="150" x2="270" y2="150"/>
      <line x1="30" y1="70" x2="30" y2="150"/>
      <line x1="70" y1="70" x2="70" y2="150"/>
      <line x1="110" y1="70" x2="110" y2="150"/>
      <line x1="150" y1="70" x2="150" y2="150"/>
      <line x1="190" y1="70" x2="190" y2="150"/>
      <line x1="230" y1="70" x2="230" y2="150"/>
      <line x1="270" y1="70" x2="270" y2="150"/>
    </g>
    <g fill="#2f6fb3">
      <circle cx="30" cy="70" r="4"/><circle cx="70" cy="70" r="4"/><circle cx="110" cy="70" r="4"/><circle cx="150" cy="70" r="4"/><circle cx="190" cy="70" r="4"/><circle cx="230" cy="70" r="4"/><circle cx="270" cy="70" r="4"/>
      <circle cx="30" cy="110" r="4"/><circle cx="70" cy="110" r="4"/><circle cx="110" cy="110" r="4"/><circle cx="150" cy="110" r="4"/><circle cx="190" cy="110" r="4"/><circle cx="230" cy="110" r="4"/><circle cx="270" cy="110" r="4"/>
      <circle cx="30" cy="150" r="4"/><circle cx="70" cy="150" r="4"/><circle cx="110" cy="150" r="4"/><circle cx="150" cy="150" r="4"/><circle cx="190" cy="150" r="4"/><circle cx="230" cy="150" r="4"/><circle cx="270" cy="150" r="4"/>
    </g>
    <text x="150" y="200" text-anchor="middle" font-size="12" fill="#333">one code, indifferent to device lines</text>
  </g>

  <g transform="translate(330,10)">
    <text x="150" y="12" text-anchor="middle" font-size="14" font-weight="bold" fill="#333">Local</text>
    <text x="65" y="30" text-anchor="middle" font-size="11" fill="#777">QPU 1</text>
    <text x="150" y="30" text-anchor="middle" font-size="11" fill="#777">QPU 2</text>
    <text x="235" y="30" text-anchor="middle" font-size="11" fill="#777">QPU 3</text>
    <rect x="20" y="40" width="80" height="140" fill="#fafafa" stroke="#333" stroke-width="1.5"/>
    <rect x="110" y="40" width="80" height="140" fill="#fafafa" stroke="#333" stroke-width="1.5"/>
    <rect x="200" y="40" width="80" height="140" fill="#fafafa" stroke="#333" stroke-width="1.5"/>
    <g stroke="#7caae6" stroke-width="2">
      <line x1="35" y1="70" x2="85" y2="70"/><line x1="35" y1="150" x2="85" y2="150"/><line x1="35" y1="70" x2="35" y2="150"/><line x1="85" y1="70" x2="85" y2="150"/>
    </g>
    <g fill="#7caae6"><circle cx="35" cy="70" r="4"/><circle cx="85" cy="70" r="4"/><circle cx="35" cy="150" r="4"/><circle cx="85" cy="150" r="4"/></g>
    <g stroke="#e0a800" stroke-width="2">
      <line x1="125" y1="70" x2="175" y2="70"/><line x1="125" y1="150" x2="175" y2="150"/><line x1="125" y1="70" x2="125" y2="150"/><line x1="175" y1="70" x2="175" y2="150"/>
    </g>
    <g fill="#e0a800"><circle cx="125" cy="70" r="4"/><circle cx="175" cy="70" r="4"/><circle cx="125" cy="150" r="4"/><circle cx="175" cy="150" r="4"/></g>
    <g stroke="#4caf50" stroke-width="2">
      <line x1="215" y1="70" x2="265" y2="70"/><line x1="215" y1="150" x2="265" y2="150"/><line x1="215" y1="70" x2="215" y2="150"/><line x1="265" y1="70" x2="265" y2="150"/>
    </g>
    <g fill="#4caf50"><circle cx="215" cy="70" r="4"/><circle cx="265" cy="70" r="4"/><circle cx="215" cy="150" r="4"/><circle cx="265" cy="150" r="4"/></g>
    <line x1="100" y1="110" x2="110" y2="110" stroke="#c0392b" stroke-width="1.5" stroke-dasharray="3,2"/>
    <line x1="190" y1="110" x2="200" y2="110" stroke="#c0392b" stroke-width="1.5" stroke-dasharray="3,2"/>
    <text x="105" y="102" text-anchor="middle" font-size="14" fill="#c0392b">?</text>
    <text x="195" y="102" text-anchor="middle" font-size="14" fill="#c0392b">?</text>
    <text x="150" y="200" text-anchor="middle" font-size="12" fill="#333">own code per device &mdash; non-local gates?</text>
  </g>
</svg>
<figcaption style="font-size:0.85em; color:#555; margin-top:0.4em;">Fig. 1 &mdash; the global-vs-local question: one code stretched over the whole network with no regard for QPU boundaries, versus every device running its own code and the open question of what a gate crossing the gap even means.</figcaption>
</figure>
</section>

<section>
  <h2>A narrow literature</h2>

<p>
Interest in DQEC has grown a lot over the past eighteen months, to the point that it feels like something of a race between certain groups (at DQC's modest scale ofc).
Trying to sort what's out there, it falls into roughly three piles.
</p>

<h3>1) Smear an existing code across QPUs and measure the damage</h3>

<p>
The <a href="https://arxiv.org/abs/2505.10693" target="_blank">distributed colour code paper</a> takes the (6.6.6) colour code, splits it into patches living on different QPUs, and models the qubits along the boundary between patches (the "seam") as noisier than the ones in the bulk.
Then it goes looking for the threshold under that asymmetry, with a tensor-network decoder and a concatenated MWPM one.
</p>

<p>
On the qLDPC side, <a href="https://arxiv.org/abs/2605.04663" target="_blank">Chandra, Kaur, Nejabati and Seshadreesan</a> distribute a [[144,12,12]] bivariate bicycle code across 4, 6 and 12 processors wired in a star topology through shared Bell pairs, and report pseudo-threshold behaviour under circuit-level noise with BP+OSD.
Worth noting that two of those authors are at Cisco, which lines up neatly with the <a href="https://grageragarces.github.io/dqc_articles/posts/05-agreement.html">IBM &amp; Cisco announcement</a> I gossiped about last year.
</p>

<h3>2) Cost out the logical operation itself</h3>

<p>
<a href="https://arxiv.org/abs/2504.05611" target="_blank">Stack, Wang and Mueller</a> run circuit-level simulations of two distributed primitives, a transversal non-local CNOT and logical teleportation, on both surface and bivariate bicycle codes.
Their headline is that distributed qLDPC transversal operations can beat surface code lattice surgery.
The non-local CNOT gets up to an order of magnitude lower logical error rate than teleportation at the same code distance and noise level, while burning fewer Bell pairs.
If that holds, it's a fairly big deal for anyone building a compiler: the primitive you pick for your non-local gate is not a wash.
</p>

<h3>3) Design codes that actually want to be distributed</h3>

<p>
<a href="https://arxiv.org/abs/2501.14029" target="_blank">Sutcliffe, Jonnadula, Le Gall, Moylett and Westoby</a> 
presented hyperbolic Floquet codes.
Hyperbolic structure buys you a high logical qubit density, and weight-two measurements mean one Bell state per check.
The non-planar connectivity these codes want, which a monolithic chip hates, is something a quantum network hands you for free.
</p>

<p>
Elsewhere in the same pile, <a href="https://arxiv.org/abs/2509.25093" target="_blank">permutation-invariant approximate codes</a> are being pitched for cutting down interconnect utilisation and handling correlated errors better.
There's also work on <a href="https://arxiv.org/abs/2508.01879" target="_blank">fault-tolerant memories over a 2×L array of modules</a>, which treats the modular layout as the starting assumption rather than the damage.
</p>

<section>
  <h2>My view</h2>

<p>
The good news is that the "one QPU equals one qubit" framing is losing popularity, and more and more code families are being seriously explored for DQC.
</p>

<p>
BUT, like I said: every single one of these results rests on a noise model that somebody <em>chose</em>.
Noisy injections into an unprotected computation are straightforwardly detrimental, and they more often than not are not directly considered.
In the long term we'll need either:
</p>

<ol>
  <li><strong>A)</strong> Confirmation that EC codes built for monolithic devices can stand up to communication noise, or</li>
  <li><strong>B)</strong> If they can't, codes designed to.</li>
</ol>

    <h3>A: EC will work just fine</h3>

<p>
The single most encouraging result I know of here is <a href="https://arxiv.org/abs/2302.01296" target="_blank">Ramette, Sinclair, Breuckmann and Vuletić</a>.
They connected two surface code patches across a deliberately awful interface and find that the system tolerates <strong>14 times higher noise at the interface than in the bulk</strong>, with only a small effect on threshold and sub-threshold behaviour: roughly 1% bulk errors against 10% interface errors.
They concluded that fault-tolerant scaling of modular devices is within reach with existing technology!
Which is awesome! 
<br><br>
But, my dear reader, 
we're still talking about one interface, between two patches, with the surface code, under a chosen noise model.
A real network is many interfaces, heterogeneous ones, with EPR pairs that arrive late and degraded rather than simply "noisy", and with the decoder latency problem I mentioned above sitting on top.
One thing is sending down a photon from an excited state decaying naturally.
Another is translating superconducting qubits into photonic ones through an interconnect.
</p>

    <h3>B: DQEC codes must be purpose built</h3>

<p>
I am no EC expert, but I do think there's real hope in B.
Mainly due to biased codes:
</p>

<div style="background-color:#fff8dc; border-left:4px solid #e6d87c; padding:10px 15px; margin:10px 0;">
    <strong>Bias-tailored codes</strong> are codes restructured to exploit the fact that real hardware doesn't produce X and Z errors in equal measure.
    The XZZX surface code is the famous one: under infinitely biased noise its threshold goes to roughly 50%, against 10.9% for the standard surface code.
    The same trick has been generalised to other codes.
</div>

<p>
<em>Communication noise is structured noise</em>.
A link that loses photons, or a transducer that fails in a characteristic direction, does not hand us a lopsided channel.
Meaning, it hands us a bias-tailoring we can exploit!
Whether the specific asymmetry a network link produces is one that existing bias-tailored families can be pointed at is an open question.
But it's one the community is looking at: <a href="https://arxiv.org/abs/2602.12309" target="_blank">Abouamer, Gundersen, Rasmussen and Popovski</a> punch holes in the code itself, using punctured QEC variants that adapt on the fly to whatever entanglement quality purification actually delivers.
</p>

    <h3>And, as always: testbeds!</h3>

<p>
Both A and B are stuck.
You cannot validate a threshold against a noise model nobody has measured.
I'll spare you my usual cry and inform you of a potentially cool new development:
</p>

<p>
The <a href="https://quantum.epb.com/quantum-computing/" target="_blank">EPB Quantum Center</a> in Chattanooga is putting an IonQ Forte Enterprise inside the footprint of the EPB Quantum Network.
As far as I can tell that makes it the first commercial facility in the US offering access to both a quantum computer and a quantum network in the same place!
One machine on one network is not yet the two-computationally-relevant-nodes setup that would let us calibrate DQEC noise models, and I'd love to be told I'm wrong about that.
But it's a door opening, one that perhaps will lead to experimental DQEC soon!
</p>

<p>
Until then, resource-estimating the alternative, the world where B turns out to be unnecessary and A holds up fine, remains a healthy and growing cottage industry.
</p>
</section>

<section>
  <h2>Ripple effects</h2>

<p>
Now, reality is, these codes are going to reshape instruction sets.
Which can work to our advantage. 
Heuristics love structure, and what is DQC infrastructure today but a set of heuristics bolted onto one another?
</p>

<p>
Right now a partitioner is handed a hypergraph and told to find a cheap cut (see <a href="https://grageragarces.github.io/dqc_articles/posts/06-hypergraph.html">my overview on hypergraph partitioning for DQC</a>).
But if the computation is going to be encoded in, say, a structured code laid out across a known network topology, 
then you may already know which cuts are not worth checking.
The code may dictate which groups of physical qubits must be together, and where the seams are allowed to fall.
A cut that slices through the middle of a code block may be deemed "<em>illegal</em>".

Thus collapsing the partitioner's search space from "all edges".
The objective for partitioning may stop being raw cut size and become something like seam-weight: how much syndrome traffic does this partition force across the link, and can the decoder keep up with it.
Partitioners could then be biased toward a specific code family, trained on the cut patterns that code actually admits.
I think that could cut down partitioning time and improve resource allocation quite substantially.
</p>

<figure style="max-width:640px; margin:1.5em auto; text-align:center;">
<svg viewBox="0 0 640 280" xmlns="http://www.w3.org/2000/svg" style="width:100%; height:auto; font-family: sans-serif;">
  <g transform="translate(10,10)">
    <text x="150" y="12" text-anchor="middle" font-size="14" font-weight="bold" fill="#333">Any edge is fair game</text>
    <g stroke="#888" stroke-width="1.5">
      <line x1="60" y1="80" x2="120" y2="70"/>
      <line x1="60" y1="80" x2="60" y2="160"/>
      <line x1="120" y1="70" x2="120" y2="170"/>
      <line x1="60" y1="160" x2="120" y2="170"/>
      <line x1="200" y1="80" x2="260" y2="70"/>
      <line x1="200" y1="80" x2="200" y2="160"/>
      <line x1="260" y1="70" x2="260" y2="170"/>
      <line x1="200" y1="160" x2="260" y2="170"/>
      <line x1="120" y1="70" x2="200" y2="80"/>
      <line x1="120" y1="170" x2="200" y2="160"/>
    </g>
    <line x1="10" y1="50" x2="290" y2="190" stroke="#c0392b" stroke-width="2" stroke-dasharray="6,4"/>
    <g fill="#333">
      <circle cx="60" cy="80" r="5"/><circle cx="120" cy="70" r="5"/><circle cx="60" cy="160" r="5"/><circle cx="120" cy="170" r="5"/>
      <circle cx="200" cy="80" r="5"/><circle cx="260" cy="70" r="5"/><circle cx="200" cy="160" r="5"/><circle cx="260" cy="170" r="5"/>
    </g>
    <text x="150" y="225" text-anchor="middle" font-size="12" fill="#333">cost = every edge it happens to cross</text>
  </g>

  <g transform="translate(330,10)">
    <text x="150" y="12" text-anchor="middle" font-size="14" font-weight="bold" fill="#333">The code decides the seams</text>
    <rect x="30" y="50" width="110" height="140" rx="16" fill="#dce8ff" fill-opacity="0.5" stroke="#7caae6" stroke-width="2"/>
    <rect x="180" y="50" width="110" height="140" rx="16" fill="#fff8dc" fill-opacity="0.5" stroke="#e6d87c" stroke-width="2"/>
    <g stroke="#888" stroke-width="1.5">
      <line x1="60" y1="80" x2="60" y2="160"/>
      <line x1="120" y1="70" x2="120" y2="170"/>
      <line x1="60" y1="80" x2="120" y2="70"/>
      <line x1="60" y1="160" x2="120" y2="170"/>
      <line x1="200" y1="80" x2="200" y2="160"/>
      <line x1="260" y1="70" x2="260" y2="170"/>
      <line x1="200" y1="80" x2="260" y2="70"/>
      <line x1="200" y1="160" x2="260" y2="170"/>
    </g>
    <g stroke="#2e8b57" stroke-width="2.5">
      <line x1="120" y1="70" x2="200" y2="80"/>
      <line x1="120" y1="170" x2="200" y2="160"/>
    </g>
    <line x1="90" y1="50" x2="90" y2="190" stroke="#c0392b" stroke-width="2" stroke-dasharray="6,4"/>
    <text x="90" y="45" text-anchor="middle" font-size="15" fill="#c0392b">&#10005;</text>
    <g fill="#333">
      <circle cx="60" cy="80" r="5"/><circle cx="120" cy="70" r="5"/><circle cx="60" cy="160" r="5"/><circle cx="120" cy="170" r="5"/>
      <circle cx="200" cy="80" r="5"/><circle cx="260" cy="70" r="5"/><circle cx="200" cy="160" r="5"/><circle cx="260" cy="170" r="5"/>
    </g>
    <text x="160" y="105" text-anchor="middle" font-size="11" fill="#2e8b57">seam</text>
    <text x="150" y="210" text-anchor="middle" font-size="12" fill="#c0392b">illegal &mdash; slices a code block</text>
    <text x="150" y="225" text-anchor="middle" font-size="12" fill="#333">cost = only seam edges count</text>
  </g>
</svg>
<figcaption style="font-size:0.85em; color:#555; margin-top:0.4em;">Fig. 2 &mdash; the partitioner's search space before and after the code has a say. On the left, any edge is a candidate and the cut just slices wherever it lands. On the right, the code has already grouped qubits into blocks: the seam edges (green) are the only legal cut, and a cut through the middle of a block is illegal, not just expensive.</figcaption>
</figure>

<p>
The decoder side has already started moving too.
There's <a href="https://arxiv.org/abs/2607.08386" target="_blank">work on parallel QEC decoding for distributed settings</a>, which is the natural response to the latency problem: if the syndrome has to travel anyway, decode what you can locally and reconcile.
Which, delightfully, is just distributed systems.
We've been here before, we have literature, we know how this goes.
</p>

</section>

<section>
    <h2>References</h2>
    <ul>
        <li>[Ramette et al. 2024] <a href="https://arxiv.org/abs/2302.01296" target="_blank">Fault-Tolerant Connection of Error-Corrected Qubits with Noisy Links</a>, npj Quantum Information</li>
        <li>[Sutcliffe et al. 2025] <a href="https://arxiv.org/abs/2501.14029" target="_blank">Distributed quantum error correction based on hyperbolic Floquet codes</a></li>
        <li>[Stack et al. 2026] <a href="https://arxiv.org/abs/2504.05611" target="_blank">Transversal Fault Tolerant Distributed Quantum Computing Operations</a>, Nature Communications</li>
        <li>[Chandra et al. 2026] <a href="https://arxiv.org/abs/2605.04663" target="_blank">Distributed Quantum Error Correction with Bivariate Bicycle Codes in a Modular Architecture</a></li>
        <li>[Roffe et al. 2023] <a href="https://quantum-journal.org/papers/q-2023-05-15-1005/" target="_blank">Bias-tailored quantum LDPC codes</a>, Quantum 7, 1005</li>
        <li>[Hastings &amp; Haah 2021] <a href="https://quantum-journal.org/papers/q-2021-10-19-564/" target="_blank">Dynamically Generated Logical Qubits</a>, Quantum 5, 564</li>
        <li><a href="https://arxiv.org/abs/2505.10693" target="_blank">Distributed Realization of Color Codes for Quantum Error Correction</a></li>
        <li><a href="https://arxiv.org/abs/2509.25093" target="_blank">Distributed Quantum Error Correction with Permutation-Invariant Approximate Codes</a></li>
        <li><a href="https://arxiv.org/abs/2508.01879" target="_blank">Distributed fault-tolerant quantum memories over a 2xL array of qubit modules</a></li>
        <li><a href="https://arxiv.org/abs/2607.08386" target="_blank">Parallel QEC Decoding Applied to Distributed Quantum Computing</a></li>
        <li>[Abouamer et al. 2026] <a href="https://arxiv.org/abs/2602.12309" target="_blank">Resource-Adaptive Teleportation Under Imperfect Entanglement: A Code-Puncturing Framework</a></li>
    </ul>
</section>

<section>
    <h2>AI warning</h2>
  The figures in this blog post were made with AI to help with visualisation.
]]></content:encoded>
    </item>

    <item>
      <title>What can you tune?</title>
      <link>https://grageragarces.github.io/dqc_articles/posts/09-tune.html</link>
      <guid isPermaLink="true">https://grageragarces.github.io/dqc_articles/posts/09-tune.html</guid>
      <pubDate>Sat, 30 May 2026 00:00:00 +0000</pubDate>
      <description>One of the main concerns and bottlenecks for distributed quantum computing is its cost. Both quantum network and compute resources are expensive and rare. Entire fields, such as circuit optimisation and error correction, have been developped to reduce the resource consumption and noise of quantum devices. In this blog post I will discuss the possible reductions one can utilise to mitigate the cost of distribution from both the network and compute perspective. I will also discuss their current level of exploration for DQC.</description>
      <content:encoded><![CDATA[
<p>
    One of the main concerns and bottlenecks for distributed quantum computing is its cost. 
    Both quantum network and compute resources are expensive and rare. 
    Entire fields, such as circuit optimisation and error correction, have been developed to reduce the resource consumption and noise of quantum devices.
    In this blog post I will discuss the possible reductions one can utilise to mitigate the cost of distribution from both the network and compute perspective. 
    I will also discuss their current level of exploration for DQC.    </p>

    
 
<section>
Quantum technologies hold much promise, but they are and will continue to be for the foreseeable future, an expensive and rare resource.
I would bet that the amount of quantum development done in a certain country can be directly linked to the country's richness.
That being said, having the money to do quantum research should go hand in hand with having the good sense to not waste that resource.
Entire sub-fields in quantum tech, particularly within the quantum computing world, have been developed to mitigate this usage.
They range from reductions in the number of commands given to a device to achieve a desired state (circuit optimisation) to
the coordination of various noisy qubits to achieve a noise-free(~ish) qubit (error correction).
Through this blog post I will refer to these methods under the umbrella of "cost reduction strategies", 
because at the end of the day, 
whereas they reduce the number of gates a computer uses or enable fault tolerance, 
they are methods that enable a minimisation the quantum resources consumed to achieve a desired quantum state. 
</section>

<section>
I have decided to make an entire blog post dedicated to "cost reduction strategies" because they have recently become 
a more popular area of research within DQC. Particularly we're seeing a growing number of DQEC (Distributed Quantum Error Correction) papers,
though most focus on hardware implementations rather than the compiler and cost-reduction questions this post is concerned with.
These strategies are and will continue to be essential for the functional use of quantum devices, but the distributed setting 
introduces some new considerations into the cost reduction game that are worth exploring. 
In this blog post I will take a two-sided approach, explaining the quantum networking and quantum compute cost reduction strategies separately 
within the wider context of DQC, which you can think of as a specific application of quantum networks 
and a framework of quantum compute. 
As always, the post will be poisoned with personal opinions and current news from the field.
</section>

<section> 
    <h2>Communication</h2>

From the networking side many of the demands are equivalent to those that we see in classical networks:
avoiding bottlenecks, managing latency, scheduling resource allocation.
Not only that but we always assume that where we have a quantum network we also have a classical network enabling the classical channel communication.
So essentially quantum networks are a plus atop classical networks. 
But, they do, as the name implies bring about a new resource: EPR pairs (also known as entangled pairs).
For each non-local operation (stuff like a distributed CNOT gate over two devices - telegate) and teleportation (moving a qubit state from one device to another - teledata)
we'll consume at least one EPR pair.
As with all other resources in networking, this one brings about a whole new set of issues regarding its availability (we need to have EPR pairs
at the right place and time, to avoid decoherence and long compute times). Let's dive in.

    <h3>EPR Pairs</h3>
As I said, we essentially need EPR pairs to distribute compute over non-local quantum channels that interconnect quantum devices. 
They need to be available on the network for when they are demanded by the compute for inter-QPU operations. 
This availability on demand is perhaps one of the oldest and hardest networking problems for any resource —
in classical networking this is known as resource reservation, and the RSVP protocol was built for it.
It's also particularly problematic in the quantum setting for a few reasons:

<ol>
  <li><strong>Decoherence:</strong> if the compute has to wait for too long noise will start degrading the computation.
  This unfortunately also applies to the EPR pairs themselves, as they wait they decay
  (note that quantum memories are in development, but building ones with sufficient coherence times and retrieval fidelity for network use remains an open engineering challenge).</li>

  <li><strong>Probabilistic nature:</strong> each EPR pair won't be good — we have to do entanglement purification over many of them to generate a good pair, so the process of "generation" is non-trivial.</li>

  <li><strong>Expense:</strong> beyond being delicate, EPR pairs are a very expensive resource, so unused pairs represent an incredible waste.
  Thus the goal is not only to have the pairs ready for consumption when needed,
  but to also not have too many, as each unused pair is wasted.</li>
</ol>

    <h3>Heuristics my beloved</h3>
The way forward here emerges from the classical networking world — schedulers designed for resource reservation, such as Weighted Fair Queuing (Parekh &amp; Gallager, 1993), are the natural inspiration.
We need to use schedulers and other heuristics to coordinate the generation of these EPR pairs and
implement the primitives that distributed quantum compute demands.

  <div style="background-color:#fff8dc; border-left:4px solid #e6d87c; padding:10px 15px; margin:10px 0;">
    <strong>Primitives</strong> are fundamental, reusable protocol building blocks that are commonly executed by devices in a quantum network.
    For instance, the role of a quantum repeater is to perform entanglement swaps between two adjacent devices.
    Entanglement swapping is itself a primitive.
    Another example would be CAT communication for non-local gates.
    Or EPR pair generation.
  </div>

So who is scheduling what?
<br>

The scheduling of EPR pair generation is an active and growing area. 
The general approach is to adapt classical resource scheduling frameworks (greedy algorithms, 
resource constrained project scheduling (RCPSP)) and increasingly, 
throw reinforcement learning at the problem. Groups at Tyndall National Institute (Dublin) have been using Deep Q-Networks 
to optimise delay and fairness across entanglement requests in repeater networks. 
Sabanci University introduced the concept of <em>entanglement freshness</em> 
(formalised as a Fidelity-Age metric) which tracks how "old" a Bell pair is before it decoheres and uses it to drive scheduling decisions. 
The quantum twist that makes all of this harder than the classical case is what you'd expect: EPR pairs are perishable, 
probabilistic to generate, and expensive. 
Classical schedulers don't account for any of that.
<br>

Beyond scheduling, the other main heuristic frontier in DQC is circuit partitioning, 
aka deciding how to cut up a computation across devices in the first place. 
This is essentially a hypergraph problem, and people are leaning heavily on classical hypergraph partitioning heuristics 
(KaHyPar, beam search, OEE). 
You can find a whole blog post just on those <a href="https://grageragarces.github.io/dqc_articles/posts/06-hypergraph.html">here</a>.
A recent interesting development in this space is taking into account step-by-step capacity,
leading to <em>time-aware</em> partitioning:
rather than cutting a circuit statically, you assign qubits to devices incrementally across time steps.
This better reflects the temporal nature of circuit execution, and avoids "locking" some qubits out of use during time steps where they would not be functional.

</section>

<section> 
    <h2>Compute</h2>

Now beyond the distributed bit of DQC, we also have the QC bit, which in itself also requires cost reductions.
I believe there are two main issues at this level:

<ol>
  <li>Actually minimizing the amount of computation we do: this is really cohesive with the spirit of DQC,
  which in itself emerges from the objective of computing a computation that wouldn't fit within one device.</li>

  <li>Dealing with the noise injections coming from the quantum network atop the noise existing within the devices to
  achieve the desired state aka computational outcome.</li>
</ol>

    <h3>Circuit optimisation</h3>
Within circuit optimisation we can have 2 goals:

<ol>
  <li>Minimising cross-QPU gates: these are the most expensive gates in most architectures and consume EPR pairs.</li>
  <li>Minimising computations within devices: this is an analogous objective to circuit optimisation for monolithic devices.</li>
</ol>

The minimisation of cross-QPU gates has led to some quite interesting work recently.
A nice example is Welinq's <em>araQne</em> compiler. Before partitioning, it reorders gates (exploiting commutativity and control-symmetry) to pack as many as possible into gate packets: groups of gates that can be teleported together using a single EPR pair. The result is a circuit that is cheaper to distribute before you've even touched the partitioning. They report around a 30% reduction in EPR pairs for a 2-QPU split.

<a href="https://arxiv.org/pdf/2605.02727" target="_blank">My recent work</a> 
points that global encodings (optimising the original circuit before partitioning) enables cross-QPU gate reductions, 
whilst local encodings (optimising the subcircuits, aka after partitioning) leads to much better reductions within QPUs. 
You can read more about this idea of encodings in 
<a href="https://grageragarces.github.io/dqc_articles/posts/08-encodings.html">this blog post</a>.

    <h3>Compute time</h3>
Now, there is also the question of compute time. 
In the classical world one of the main drives of DQC is the parallelisation of algorithms to achieve a speedup. 
This is often subsumed into the wider scope and objectives of circuit optimisation, namely through
the minimisation of circuit width.

    <h3>Error correction and mitigation</h3>
Finally there is the reduction of noise within these systems.
The noise problem is arguably the biggest problem in Quantum Computing today.
In DQC noise emerges from individual QPUs but also from the network, making the problem even larger.
There are two frameworks to combat noise: error correction and error mitigation.
Both are made up of multiple sub-techniques but their main differentiation is that error correction assures fault tolerance whilst error mitigation does not
(but on the other side of the coin it is much cheaper and more implementable).

  <div style="background-color:#fff8dc; border-left:4px solid #e6d87c; padding:10px 15px; margin:10px 0;">
    <strong>Fault tolerance</strong> is not the same as low noise. It is a guarantee: as long as the physical error rate stays below a certain threshold, the logical computation will succeed regardless of how long it runs.
    Quantum error correction is the main tool for achieving it, encoding one logical qubit across many physical ones so that errors can be detected and corrected before they compound.
    Error <em>mitigation</em>, by contrast, reduces noise but offers no such guarantee (they essentially are unsafe heuristics).
  </div>

</section>
]]></content:encoded>
    </item>

    <item>
      <title>Global versus Local Encodings for DQC</title>
      <link>https://grageragarces.github.io/dqc_articles/posts/08-encodings.html</link>
      <guid isPermaLink="true">https://grageragarces.github.io/dqc_articles/posts/08-encodings.html</guid>
      <pubDate>Tue, 14 Apr 2026 00:00:00 +0000</pubDate>
      <description>When distributing a quantum computation, should optimisations and corrections be applied before or after partitioning? The answer might matter quite a lot.</description>
      <content:encoded><![CDATA[
<p>
      When distributing a quantum computation, should optimisations and corrections be applied before or after partitioning? The answer might matter quite a lot.
    </p>

    

    <section>

      <p>
        Hey there!
        Today I'm doing a bit of a different blog post... because I'm actually dictating it!
        The reason why I'm doing this is because I'm attending QCTip at the end of the month, presenting a poster titled "Global versus Local Encodings for DQC".
        I thought it'd be interesting to make a blog post about it, plus I kinda have to practice presenting the idea orally anyway, so you know, two birds one stone.
        So let's see how my normal speaking vocabulary translates to a blog situationship!
      </p>

      <p>
        <h2>Encodings?</h2>

    <div style="background-color: #f7a98d; border-left: 4px solid #f0c040; padding: 12px 18px; margin: 20px 0; border-radius: 4px;">
        <strong>Disclaimer:</strong> I forgot the word "encoding" means something different for Error Correction people! SORRY (not sorry).
    </div>

        Let's set the background: if you've read this blog before,
        you know that I work in distributed quantum computing,
        specifically on this problem where you are given a quantum computation (this might be a circuit or another type of computation)
        and you abstract it to some sort of structure that showcases the emergent dependencies within the computation
        (usually we translate it to a hypergraph or to a graph).
        These abstractions showcase all the points at which you could separate your computation
        and what type of resources you need to expend in order to still perform it.
        You then take this structure, cut it up / partition it and map those partitions to devices that exist in a network.
        Those devices are quantum computers connected through a quantum and classical network.
        The main idea is that you have this pipeline going from the full quantum computation
        to a map of how that computation is implemented across multiple quantum devices
        that are not individually capable of completing it on their own,
        but that can collaborate to complete it.
      </p>

      <p>
        Now this is a hard problem to solve.
        There's a lot of interesting research on its characteristics,
        and if you're interested in that I recommend reading some of my previous blog posts.
        But the name of the game today is talking about a very interesting question that arose in my head about a year ago
        and that I've been exploring from various angles: in this setting where we have a computation
        that will need to be distributed,
        how do we think about optimisations that reduce the cost of running this computation in a quantum setting?
        This could be circuit optimisation, this could be error mitigation, this could be error correction...
        all these things that need to exist in the pipeline for quantum software
        in order for it to be fault tolerant, in order for it to be as cheap as it can be, as fast as it can be.
      </p>

      <p>
        There are pretty much two options (and then a third option which is a combination of both).
        The first option is we apply these optimisations before we distribute:
        we apply them on the overall computation and then abstract to a hypergraph, partition, and map.
        Or we do it after, meaning we leave the original computation as it is,
        cut it up across the different devices,
        and then let every individual device optimise its own sub-circuit
        (whether that's minimising the number of qubit gates, implementing error mitigation),
        we just let them do their thing.
        Obviously the hybrid approach is just doing it before and after.
      </p>

      <p>
        And what I've been really curious about is trying to answer where in this pipeline these optimisations should come in, because you know,
        the answer might not be the same for circuit optimisation that is trying to reduce gate counts as it is for error correction.
        But either way: should we apply these things in a global sense, meaning we do it before we partition and before we distribute?
        Or should we do it in a local sense? That's what global and local encoding means to me.
      </p>

      <div style="background-color: #fff9c4; border-left: 4px solid #f0c040; padding: 12px 18px; margin: 20px 0; border-radius: 4px;">
        <strong>Global encoding:</strong> the optimisation/correction is performed on the <em>entire</em> computation prior to partitioning.
      </div>

      <div style="background-color: #fff9c4; border-left: 4px solid #f0c040; padding: 12px 18px; margin: 20px 0; border-radius: 4px;">
        <strong>Local encoding:</strong> the optimisation/correction is performed on the <em>sub-computations</em> post partitioning.
      </div>

      <p>
        My initial theory is that there would be upsides and downsides to either.
        For global encoding, I would assume that unlike with local encoding, I would be able to be globally aware — what does that mean?
        Well, we might have some optimisations that require capturing reductions that are higher level in a sense,
        spanning quite a large part of the computation,
        that might be missed if we cut it up beforehand
        (things we cannot really protect against unless we're looking at the computation globally).
        And that would obviously be missed in local encoding.
      </p>

      <p>
        But then with local encoding,
        we're probably going to end up with smaller computations that these processes need to work with,
        which means we're probably going to enable much faster optimisations that are parallelisable and that are tractable.
        The key challenge in circuit optimisation is that it's really difficult to get circuit optimisation
        to be tractable and actually work unless you're working with small circuits —
        that's why you see so many companies selling AI/ML-based circuit optimisation,
        because at large scales it's kind of unreasonable.
        This is a really really difficult problem.
        I worked on it at Quantinuum for three months last year and let me tell you it's harddd.
      </p>

      <p>
        Local encoding is also likely well-suited to accommodating heterogeneous quantum networks that have QPUs coming from different hardware or of different sizes.
        If we have a setup where all devices are different,
        we can't really have hardware-aware optimisations when doing global encoding.
        So local encoding could enable that final step towards optimisations
        (whether that's circuit optimisation or things like error mitigation)
        being hardware-aware in a sense that global encoding probably cannot.
        How likely we are to actually exist in settings where we have these types of networks is a different question.
      </p>

      <p>
        So with this idea in mind, I set myself three goals that I wanted to test these encodings against.
        The first was: how fast is the compilation of the encoding compared to the alternative in a distributed setting —
        so that would mean, for instance, how fast is a global circuit optimisation versus a local circuit optimisation?
        The second would be: which encoding provides the minimal resource usage?
        That can be the actual total compute time of the computation, the number of qubits,
        the number of gates the computation is using,
        and things like the entanglement consumed through non-local operations.
        For instance, if we optimise a quantum circuit before we partition it,
        we're going to reduce the number of gates,
        and that means that when we partition it we might actually see a reduction
        in the number of non-local gates we need to perform to complete the computation,
        compared to if we did a local encoding and only considered optimisation afterwards.
        My third and final goal is simply that the optimisation actually yields a non-trivial result.
        If the input is too large and it returns things completely unchanged, there's no point.
      </p>

    </section>

    <section>
      <h2>Three avenues</h2>

      <p>
        So far this research has led me to 3 different avenues,
        one for each of the optimisation and cost reduction ideas I've discussed.
      </p>

      <h3>Error mitigation</h3>

      <p>
        The first has been a paper titled "Distributed Quantum Error Mitigation: Global and Local Encodings",
        which is going to be presented at INFOCOM'S QUNAP later this year.
        This paper basically explores how zero noise extrapolation (ZNE) performed on certain quantum algorithms
        compares under both encodings.
        It led to some very interesting results: it basically pointed to the fact that
        for this specific error mitigation technique, global encoding outperforms local encodings.
        Nonetheless, very counterintuitively, global encodings are much less stable,
        meaning their results are much more variable in terms of how much they help or don't help,
        compared to local encodings.
        So there is a dichotomy between stability and improved performance.
        Not to say that local encodings don't perform well —
        it might actually be that local encodings are a better long-term solution for this specific technique —
        but we probably have to explore more algorithms and expand on it.
        This was very exciting for me because it's my first published paper!
        But I still think there's quite a lot to explore in the space.
        We have to look at other techniques and look at more algorithms.
        The research is purely empirical, mostly because I have absolutely no idea
        how you could really answer this question from a theoretical perspective.
        I would be very interested in seeing any contributions exploring this space.
      </p>

      <h3>Circuit optimisation</h3>

      <p>
        The second avenue has been another paper, which is currently under review, that explores circuit optimisation.
        I'm not going to talk about it too much right now simply because it's under review,
        but I think we also found some interesting results
        that aren't necessarily the same ones we found with error mitigation.
        This was actually a collaboration,
        and interestingly in this paper we also explore a hybrid option
        (meaning doing both global and local encodings) and you know,
        kind of as we expected, a hybrid option offers the best of both worlds,
        but it comes at a very high cost that might not be worth it depending on what your goals are for the system.
        For instance, if you don't actually care that much about a 2% difference in the number of non-local gates
        you're going to get, but you do care about your pipeline taking an extra 40 minutes,
        maybe hybrid is not the way to go.
        There is no easy and cheap solution that gives you the best of both worlds.
        It kind of depends on what your system requires, no free lunch :(
      </p>

      <h3>Error correction</h3>

      <p>
        And the last area, which is the one I'm working on the most at the moment,
        is actually an open collaboration that has been set up between the teams here at Edinburgh
        in error correction and distributed quantum computing, and at Heriot-Watt University.
        We're exploring this question of global versus local in an error-corrected setting.
        It's really difficult to even formulate this question in a way that makes sense
        for both the error correction audience and the distributed computing audience.
        All three fields are incredibly hard in their own right,
        but if quantum software has a final boss, it's error correction.
        And it's been really interesting for me to have this question that seems so important and fundamental
        develop into an avenue to collaborate with what I would consider to be, you know,
        the field at the height of current quantum computing research.
      </p>

    </section>

    <section>
      <h2>Final comments</h2>

      <p>
        So if you're coming to QCTip in Oxford, I'll be happy to chat with you about my poster.
        You can see a current version of it down below (I cannot promise it will not change).
        I hope this question inspires more researchers to think about how other aspects of quantum computing
        and quantum software might need to be factored into the pipeline of distributed quantum computing
        or hybrid quantum-classical computing.
        The questions themselves might seem relatively trivial
        but they can lead to quite important cost reductions,
        and at the end of the day these are incredibly expensive and difficult to access machines.
        We wanna use them to the best of our abilities
        and ensure that all the investment that's gone into them is well exploited.
      </p>

      <p><em>P.S. the amount of "so"'s I have taken out of this text is nuts.</em></p>

    </section>

    <section>
      <h2>Poster</h2>

      <figure style="max-width: 100%; text-align: center; margin: 20px 0;">
        <iframe
          src="https://grageragarces.github.io/dqc_articles/images/Global%20vs%20Local%20encodings%20for%20DQC.pdf#view=Fit"
          style="width: 100%; height: 800px; border: 1px solid #ccc; border-radius: 4px;"
          title="Global versus Local Encodings for DQC poster">
        </iframe>
        <figcaption style="margin-top: 10px; font-style: italic; color: #666;">
          Global versus Local Encodings for DQC — QCTip 2026 poster.
        </figcaption>
      </figure>

    </section>
]]></content:encoded>
    </item>

    <item>
      <title>The DQC industry</title>
      <link>https://grageragarces.github.io/dqc_articles/posts/07-industry.html</link>
      <guid isPermaLink="true">https://grageragarces.github.io/dqc_articles/posts/07-industry.html</guid>
      <pubDate>Mon, 16 Mar 2026 00:00:00 +0000</pubDate>
      <description>A snapshot into who is doing what in the DQC industry in early 2026. There are probably more players than you expect!</description>
      <content:encoded><![CDATA[
<p>
A snapshot into who is doing what in the DQC industry in early 2026. There are probably more players than you expect!
    </p>

    
 
<section>

<section>

Distributed quantum computing is no longer a purely academic idea. 
Over the past few years, we've witnessed the arrival of a growing industrial ecosystem 
exploring how quantum processors might eventually operate as networked systems rather than isolated machines.

Some players are focusing entirely on the infrastructure required to interconnect quantum devices. 
Others approach the problem from the software side, building compilers, orchestration layers, and distributed execution frameworks. 
Meanwhile, large technology companies are positioning themselves to provide the networking backbone that a future quantum internet may require.

In this post I will attempt to capture a screenshot of the newly emerging Distributed Quantum Computing industry. 

The categorization below reflects my own interpretation of each company's main focus. 
In practice, the boundaries are blurry. 
Many organizations work across multiple layers of the stack, 
e.g. hardware companies are also developing software tools.

Let's dive in.
</section>

<section> 
  <h2>Pure play DQC</h2>
Pure play DQC companies are those whose primary mission is to build the hardware and software infrastructure for distributed quantum computing / 
related applications such as the quantum internet. 
They can include both quantum networking and quantum computing companies. 
I divide them into two teams: hardware and software.

  <h3>Hardware</h3>

  <h4>Qunnect</h4>
  <!-- image: Insert gotham announcement -->
<figure style="max-width: min(100%, 800px); height: auto;text-align: center; margin: 20px 0;">
      <img src="https://grageragarces.github.io/dqc_articles/images/qgotham.png" alt="Quantum Computing Report by GQI" style="max-width: 80%; height: auto;">
      <figcaption style="margin-top: 10px; font-style: italic; color: #666;">
        Portion of the GothamQ network created by Qunnect and Cisco in New York City. 
        The nodes are connected by 17.6 km of standard telecom grade fiber cable that run under the city streets with all the potential noise sources of a city. 
        Qunnect claims this network marks the movement of quantum networking devices out of the lab to real industrial applications world (from what I gather, they are right).
        Taken from <a href="https://quantumcomputingreport.com/qunnect-and-cisco-demonstrate-quantum-entanglement-over-a-quantum-network-in-new-york-city/" target="_blank">Quantum Computing Report by GQI</a>.
      </figcaption>
</figure>
<p>
Qunnect is the first quantum networking infrastructure company I even came across, and perhaps one of the very first in the field.

It's a Brooklyn startup aiming to build deployable hardware capable of distributing entanglement over existing fiber networks (aka they do quantum networking). 
They are pretty focused on real world deployability, a lot of their hardware operates at room temperature 
and is designed to integrate with standard telecommunications infrastructure rather than laboratory environments.

Their main product line, the <em>Carina</em> suite, bundles the core components required to run a quantum network into rack-mountable units. 
This includes entangled photon sources, quantum memory, photon detectors, synchronization electronics and control software. 
In essence, the goal is to make quantum networking hardware look and behave like standard telecom equipment.

Over the past few years Qunnect has focused heavily on field demonstrations. 
Their GothamQ network in New York distributes entanglement across 17.6 km of deployed fiber connecting sites in Brooklyn and Manhattan. 
The system combines Qunnect’s hardware with Cisco’s orchestration software and has demonstrated metro-scale entanglement swapping under real urban conditions.

Beyond New York, their technology is also being tested in Berlin with Deutsche Telekom’s T-Labs, at CERN’s quantum networking laboratory, and in several US research testbeds.

The company is still relatively small (I believe under 50 employees) and has raised roughly $20M in funding across funding rounds, 
but it has positioned itself as one of the most visible players trying to move quantum networking out of physics labs and into operational infrastructure, 
collaborating with giants such as Cisco and Deutsche Telekom.

</p>

  <h4>Nu Quantum</h4>

<p>
The apple of everyone’s eye in the distributed quantum computing space. 
Nu Quantum is currently (or at least claims to be) the most heavily funded startup in this part of the industry and, 
perhaps surprisingly it is European.

  </p>

  <figure style="max-width: min(80%, 600px); height: auto;text-align: center; margin: 20px 0;">
      <img src="https://grageragarces.github.io/dqc_articles/images/nuq60.png" alt="Nu Quantum News" style="max-width: 80%; height: auto;">
      <figcaption style="margin-top: 10px; font-style: italic; color: #666;">
        60 million dollars raised by Nu Quantum in their latest round. 
        Taken from <a href="https://www.nu-quantum.com/news/nu-quantum-raises-60m-series-a-in-largest-financing-round-for-quantum-computer-networking" target="_blank">Nu Quantum News</a>
      </figcaption>
  </figure>

More focused on inter-quantum computer networking than long-distance quantum communication, 
Nu Quantum is a Cambridge-based startup developing hardware. 
They are betting for that future hardware to be distributed and making some sweet marketing claims around it. 

</p>
  <!-- image: Inset Carmen quote on billion dollar industry + 60M round announcement -->
  <figure style="max-width: min(80%, 1000px); height: auto;text-align: center; margin: 20px 0;">
      <img src="https://grageragarces.github.io/dqc_articles/images/nuq.png" alt="Sifted news article" style="max-width: 80%; height: auto;">
      <figcaption style="margin-top: 10px; font-style: italic; color: #666;">
        Carmen Palacios, CEO of Nu Quantum, on the potential of the DQC industry back in January 2026.
        Taken from <a href="https://sifted.eu/articles/carmen-palacios-berraquero-nu-quantum-interview" target="_blank">Sifted news</a>.
      </figcaption>
  </figure>

<p>

To enable this the company is developing what they call a <em>Quantum Networking Unit</em> (QNU). 
The device effectively acts as a network interface for quantum computers, converting stationary qubits into photonic qubits that can be transmitted through optical fibers and used to generate entanglement between processors.
In other words, they are trying to build the quantum equivalent of a network card. 
Just like classical servers use network interfaces to communicate inside a datacenter, future quantum processors may rely on QNUs to connect to other quantum processors through photonic links.

Nu Quantum does not build the processors themselves. 
Instead they focus on the photonic interconnect layer that allows those processors to talk to each other. 
Their hardware is designed to interface with a range of qubit platforms and is currently being explored with several hardware partners including Rigetti and Oxford Ionics, as well as within the UK National Quantum Computing Centre ecosystem.

The company has grown rapidly over the past few years within the Cambridge quantum ecosystem and now employs roughly on the order of a hundred people. 
Alongside strong UK backing they have also received support from European initiatives and Spanish innovation programs, recently expanding operations to Madrid.
They also have ties with Cisco, BT, Amadeus Capital Partners, IQ Capital and Tokyo Electron.

Interestingly, Nu Quantum is also among the few industrial groups exploring how quantum error correction might work in distributed architectures (they love their Floquet codes). 
</p>

<h4>QphoX</h4>

But what do I do if my qubits (ehem ehem superconducting) don't like to be converted into photons (or, you know, emit them naturally when de-exciting)? 

Most quantum networking proposals rely on optical photons traveling through fiber. 
Platforms such as trapped ions or neutral atoms can naturally emit photons and are therefore relatively easy to integrate into photonic networks. 
Superconducting qubits, however, operate in the microwave domain. 
They communicate using microwave photons which cannot travel long distances and are extremely sensitive to thermal noise. 
This makes direct networking of superconducting processors essentially impossible without an intermediate conversion step.

In comes QphoX, a Dutch spinout from TU Delft (arguably one of, if not the best, schools out there for quantum networking). 
QphoX aims to build quantum transducers capable of converting microwave photons into optical photons and back again. 
Their devices rely on optomechanical systems that couple microwave resonators, mechanical oscillators and optical cavities to coherently convert quantum signals between the two regimes. 
Aka they are trying to connect superconducting qubits to quantum networks (aiming to overcome perhaps the only caveat on the road to field monopoly for superconducting qubits). 

The company employs over 150 people (I can't quite tell how many are permanent) 
and has reached about $26 million in funding, but has quickly attracted attention from several hardware groups exploring distributed architectures. 
Honestly no wonder, without this type of tech superconducting qubits can say goodbye to scalability.

  <h3>Software</h3>
Got our hardware, now who is building our software?

  <h4>Aliro</h4>
Like in hardware, I'll start with the first company I ever encountered in this space: Aliro. 
They are another Boston based startup, and have been operating for about 6-7 years now.
Their main platform, <em>AliroNet</em>, provides tools for simulating, managing and orchestrating entanglement distribution across networked quantum devices.

Their collaborations span AWS, Cisco and IonQ, and they have strong ties to US quantum networking initiatives 
(their CTO is a prof at UCLA, previously Harvard). 
With over 17 million in funding under their belt, they are one of the few companies 
building the control layer for quantum networks.

<h4>Qoro</h4>

<p>
Before continuing, a small disclaimer: I have worked with the founders of Qoro back at Cisco and know them. 
That said, their work is genuinely interesting in the context of distributed quantum computing.

Qoro is a relatively young company (July 2024) operating at the intersection of quantum networking and distributed quantum execution. 
Rather than building hardware, their focus is on the software layer that decides <em>how</em> quantum workloads should be executed across multiple processors.

Their core idea revolves around identifying and exploiting parallelism in quantum programs in order to distribute them efficiently across networked quantum processors. 
They talk about different "levels" of parallelism, from low-level gate parallelism to higher-level algorithmic parallelism, and how to map these onto a hybrid quantum architectures.
In practice this means analyzing a quantum program, identifying independent subroutines or communication boundaries, and scheduling them across different nodes in a quantum network.

In some sense, they sit somewhere between a compiler and a distributed runtime system. 
If quantum processors eventually resemble a cluster of specialized accelerators connected through photonic links, 
then something like Qoro’s orchestration layer will be required to determine how tasks are split, synchronized, and recombined.

Like Qunnect, they are particularly interested in the networking side of distributed quantum computing rather than purely local compiler optimizations. 
The assumption is that future quantum hardware will not scale as a single monolithic processor, 
but rather as collections of smaller collaborating quantum and classical processors.

The company is still early stage, but it represents an emerging class of startups focusing specifically on the <em>software infrastructure</em> required to make distributed quantum computing practical.
</p>

  <h4>Wellinq</h4>
<p>
Another interesting player on the software side is the company Wellinq. 
The 4 year old company focuses on the compiler and architecture layer required to operate modular quantum computers.

According to the Sorbonne University webpage they are
"specializing in the interconnection of quantum processors and quantum communication networks.
 [Their] solutions are based on the world's highest-performance quantum memories, based on clouds of laser-cooled atoms."
So presumably they are building hardware, although I mostly know them for their software work on quantum compiler optimizations for distributed systems 
(they arguably have the most advanced distributed quantum compiling and optimisation research out there).

They collaborate with several European hardware groups and is part of the broader (and relatively successful thus far) French industrial quantum computing effort.
</p>

</section>

<section> 
  <h2>Quantum Computing companies dabbling in DQC</h2> 

Now there is another family of quantum computing companies that will self claim to be pure DQC play. 
They are not wrong but they are certainly cheeky about it: photonic quantum computing companies. 
Photonic quantum computing is a paradigm that uses photons as qubits and relies on linear optical elements to perform quantum operations. 
In a sense they are naturally distributed, since the qubits are already photons that are transmitted through optical fibers. 
As I said, a cheeky but not wrong claim. 

  <h3>Photonic Quantum computing: it's claim to DQC</h3>
  <h4>Xanadu</h4>
<p>
Xanadu is one of the oldest quantum computing companies and arguably the most visible one in the ecosystem. 
The company was founded in Toronto in 2016 and has raised more than $250 million in funding across several rounds. 
It is planning to come out to public markets through a SPAC merger, making it one of the quantum computing companies about to join the publicly traded club.

Their approach relies on continuous-variable photonic quantum computing, where squeezed light states are manipulated using optical interferometers and measurements. 
Rather than fabricating large monolithic chips, Xanadu’s architecture produces streams of photonic qubits that propagate through optical circuits.

Because photons can be routed through fiber or waveguides, Xanadu has framed their systems as early examples of distributed quantum computing,  
claiming their 2022 Aurora system as the first modular and networked photonic quantum computer. 
To my knowledge it was never made available to the public.
And whether it qualifies as full distributed quantum computing is debated. 
The modules involved are tightly integrated within the same experimental system rather than separated processors collaborating across a network. 
They are not fully "separate" systems, but rather different components of a single photonic architecture.

Still, their architecture does make modular scaling natural, 
and many see photonic cluster-state generation as a realistic path toward large-scale distributed quantum computing.
</p>

<h4>PsiQuantum</h4>
PsiQuantum is one of the most heavily funded companies in the quantum computing industry and a major proponent of photonic architectures. 
Also founded in 2016 (in the UK rather than Canada), the company has raised well over $700 million in public and private funding.

Their strategy is to build a fault-tolerant photonic quantum computer using silicon photonics manufactured in conventional semiconductor fabs. 
Rather than developing small noisy devices, PsiQuantum aims directly at a million-qubit scale machine capable of running error-corrected algorithms.

Interestingly, they do not strongly market themselves as a distributed quantum computing company. 
Their public narrative focuses more on building a single very large machine. 
Which is probably an honest take, yet it would have been weird for me not to mention them in a photonic DQC section.
</p>

<h3>Photonic Inc</h3>
<p>
This one took me by surprise a few weeks ago to be honest. 
I had somehow never heard of them before, which is slightly surprising given their size.

Founded in 2016 and based in Vancouver, Photonic Inc has raised roughly $140 million in funding (nothing to laugh at).

Despite the name, Photonic Inc is not a pure play photonic company. 
Their architecture combines silicon spin qubits with photonic links, very much with distributed quantum computing in mind.
The idea is to store quantum information in long-lived spin states while using photons to connect modules and generate entanglement between processors.

Because of this they lean quite heavily into the DQC narrative and clearly bet on networking as part of the scaling story.

And to be fair, all the key words are there:
Distributed Quantum Computing / 
Fault Tolerant Computing / 
Scale up, Scale out, Scale performance.

That is quite a sweet shopping list.
</p>

<h3>IONQ</h3>
<p>
IonQ is one of the few major quantum computing companies that has recently made a very explicit move toward distributed quantum computing. 
Founded in 2015 in the US, they are the only pure-play quantum computing company that, to my knowledge, is playing around with billions 
(much of it arising from equity offerings). And they have been spending that money.

Last year they acquired the Boston startup Lightsynq, a group developing photonic interconnects and quantum memory technologies designed to link quantum processors together. 
The idea is fairly straightforward: trapped-ion processors can already emit photons, which makes them relatively well suited to photonic networking. 
By integrating Lightsynq’s technology, IonQ hopes to connect multiple quantum processors and scale systems through modular architectures rather than a single giant machine. 

Lightsynq (similarly to Aliro) was originally founded by researchers coming out of Harvard’s quantum networking ecosystem and had been developing optical interconnects and repeater-style technologies aimed at multi-node quantum systems. 
IonQ’s acquisition aims to bring those capabilities in-house, along with a portfolio full of patents related to quantum memory and networking. 

Taken together with a number of other acquisitions the company has made around networking and communications, 
IonQ seems to be paying its way to build large interconnected quantum systems.
</p>

</section>

<section> 
  <h2>Giants stringing DQC</h2>

  <p>
  Beyond startups, several large technology companies are quietly (or loudly) positioning themselves in the DQC landscape.
  None of them are pure-play DQC companies, but many clearly expect that if quantum computing scales, it will require networking.
  Unsurprisingly, many of the names appearing here are companies that already did this the first time around, when we built the classical stuff. 
  Dragons re-emerging or slow giants that will waste a few billion? Only time will tell. 
  But my bet is on the fact that many of the company founders from the above companies may be dreaming of a sweet acquisition by the guys below.,
  </p>

  <h3>Cisco</h3>
  <p>
  Cisco deserves a mention here for obvious reasons: it is where I first started my journey into quantum networking. 
  I still have a lot of love for the company and the researchers there, although it feels like that chapter was a lifetime ago and the internal landscape has changed quite a bit since then.
  So like most of you, I am mostly privy to the public information these days.
  </p>

  <p>
  They have been involved in a number of collaborations across the quantum networking ecosystem, including projects with Nu Quantum, IBM, and Qunnect. 
  From the outside it very much looks like they want to position themselves as the networking backbone of the quantum era, which, given their history, is a logical move. 
  In other words, Cisco wants to be the Cisco of the quantum internet. 
  </p>

  <p>
  Much of their quantum work is happening within Cisco’s research organization rather than their traditional product divisions. 
  Their R&D branch(Outshift) operates somewhat independently and has been exploring both quantum networking and AI infrastructure.
  They have established a number of experimental labs, including facilities in California where they run networking experiments and prototype architectures for future quantum networks.
  Some of their research outputs are already "public", although — ahem — yet to be delivered.
  </p>

<figure style="max-width: min(80%, 800px); height: auto;text-align: center; margin: 20px 0;">
      <img src="https://grageragarces.github.io/dqc_articles/images/ciscoart.png" alt="Cisco article" style="max-width: 80%; height: auto;">
      <figcaption style="margin-top: 10px; font-style: italic; color: #666;">
        On why Cisco Outshift believes in DQC: <a href="https://outshift.cisco.com/blog/quantum/the-future-of-quantum-computing-is-distributed" target="_blank">blog post</a>.
      </figcaption>
</figure>

  <h3>Nvidia</h3>
  <p>
  Nvidia’s angle on DQC is a bit different. 
  And their pay is eye watering.
  </p>

  <p>
  From what I have gathered in between their marketing stunts, their vision revolves around heterogeneous computing systems where classical GPUs orchestrate and accelerate quantum workloads.
  The company’s CUDA-Q platform supports distributed simulation of quantum circuits across GPU clusters for this purpose.
  And they loooveee framing quantum processors as future accelerators inside large HPC environments (not wrong).
  </p>

  <p>
  So it's really not about quantum computing or networking but rather about orchestrating the offloading of quantum workloads into QPUs when they are available/cheaper/saves time/possible 
  or offloading classical computing into quantum (in the future). 
  A similar take to Qoro's and as you will see below Fujitsu's, but with a much more explicit focus on the classical side of the equation (after all that's their main area 
  of expertise and they are still putting together their quantum team).
  </p>

  <h3>IBM</h3>
  <p>
  IBM is another company I have previously worked with, and one that clearly has strong incentives to think about distributed quantum computing.
  </p>

  <p>
  Their roadmap has long hinted at modular architectures, particularly since the introduction of their Heron processor generation and the broader system-level roadmap for scaling beyond single chips. 
  IBM has also openly collaborated with networking companies such as Cisco on early quantum networking demonstrations.
  </p>

  <p>
  Whether IBM ultimately scales through larger monolithic processors or interconnected modules remains to be seen, but the direction of travel increasingly points toward some form of modular or networked architecture. 
  Their qubits of choice (superconducting) are the current bottleneck. 
  "Fixing" the superconducting to photonic interconnect problem has been a battle the company has been fighting for some decades now. 
  Will they succeed or swap them out? We shall see, but I doubt they will give up on their monopoly over the quantum space. 
  And their spirits certainly seem to be high, they've recently put out a funding call on this precise topic alongside the Cisco team:
  </p>

  <figure style="max-width: min(80%, 800px); height: auto;text-align: center; margin: 20px 0;">
      <img src="https://grageragarces.github.io/dqc_articles/images/ciscopost.png" alt="Cisco linkedin post" style="max-width: 80%; height: auto;">
      <figcaption style="margin-top: 10px; font-style: italic; color: #666;">
        Reza Nejabati, head of Quantum research posted about the <a href="https://research.cisco.com/open-rfps/74" target="_blank">funding call</a>.
      </figcaption>
</figure>

  <h3>Toshiba</h3>
  <p>
  Toshiba takes a somewhat different angle (a very historic one for them): quantum key distribution (QKD). 
  Although not quite QKD, do let me have this one. 
  Toshiba has been investing heavily in quantum communication technologies for decades and inarguably operates one of the most mature QKD programs in industry. 
  Their Cambridge laboratories in the UK have produced several real-world deployments of quantum-secured metropolitan networks. 
  They were in this game long before the current quantum computing hype and have been steadily advancing their photonic technologies for secure communication applications.
  </p>

  <p>
  As their own website states:
  </p>

  <blockquote>
  “We’re Quantum Security Pioneers. Toshiba has been at the forefront of quantum computing technology since 1999. Our solutions underpin the world’s first quantum-secured metro network and enable quantum-safe communications infrastructure.”
  </blockquote>

  <p>
  The question at hand though is whether QKD alone represents the long-term direction for quantum networking.
  Some government agencies (particularly in the US) have expressed skepticism about relying solely on QKD as a security solution, preferring post-quantum cryptography instead.
  </p>

  <figure style="max-width: min(80%, 800px); height: auto;text-align: center; margin: 20px 0;">
      <img src="https://grageragarces.github.io/dqc_articles/images/nsa.png" alt="Cisco linkedin post" style="max-width: 80%; height: auto;">
      <figcaption style="margin-top: 10px; font-style: italic; color: #666;">
        You can read up the full NSA guidance from 2020 <a href="https://www.nsa.gov/Cybersecurity/Quantum-Key-Distribution-QKD-and-Quantum-Cryptography-QC/?utm_source=chatgpt.com" target="_blank">here</a>.
      </figcaption>
</figure>

  <p>
  But if this is no longer the case do let me know! 
  I'd be interested tbh, never been truly convinced by the anti-QKD argument. 
  Perhaps work a future blog post? 
  Whilst you await that here is <a href="https://telefonicatech.com/en/blog/quantum-cryptography-intelligence-agencies-discourage-its-use" target="_blank">a good article on the topic</a>.
  </p>

  <h3>Fujitsu</h3>
  <p>
  Fujitsu is taking a hybrid stance, focusing on systems that combine classical HPC infrastructure with quantum devices.
  The company has been active in collaborative projects around hybrid quantum-classical computing and is investing in software platforms that integrate quantum processors with existing supercomputing environments.
  In that sense their strategy resembles Nvidia’s: treat quantum processors as specialized accelerators inside larger distributed computing infrastructures rather than standalone machines.
  But they seem to be (at least in the public eye) a bit more advanced in their quantum hardware research.

  <h3>Juniper</h3>
  <p>
  Juniper Networks is a bit of an open question for now.
  The company has been exploring post-quantum cryptography and quantum-safe networking features in its routing software, which suggests they are at least paying attention to the space. 
  I did come across them in this context back in 2021, and I doubt the interest has fully subsided.
  But, whether they will eventually expand into quantum networking infrastructure remains to be seen. 
  It would not be surprising if traditional networking companies to start preparing but try to wait it out as much as possible. 
  After all they can always acquire later?
  </p>

  <h3>BT</h3>
  <p>
  BT (British Telecom) is another THE company that repeatedly shows up in quantum networking discussions in the UK. 
  And as someone working and living here, I've come across them.
  To be specific I keep running into their researchers at the NQCC hackathons 
  (yearly events organized by the UK National Quantum Computing Centre where industry-led student teams prototype quantum applications and infrastructure ideas).
  </p>

  <p>
  In 2014, they have collaborated with Toshiba, ADVA Optical Networking and NPL in a small-scale field trial of QKD technology deployment over a fibre network. 
  They have also been working on satellite quantum transmissions, working alongside the European Space Agency and ArQit (quantum security company). 
  A bit like Toshiba, you could argue they don't quite do DQC, and perhaps they won't, or if I am to trust the Google AI Overview (please do not do this): they are
  "focusing heavily on secure quantum key distribution (QKD) as a precursor to distributed quantum computing (DQC)".
  </p>

  <figure style="max-width: min(80%, 800px); height: auto;text-align: center; margin: 20px 0;">
      <img src="https://grageragarces.github.io/dqc_articles/images/overview.png" alt="Google AI Overview" style="max-width: 80%; height: auto;">
</figure>

</section>

<section> 
  <h2>My honest thoughts</h2>

The quantum computing industry landscape is clearly oversubscribed. 
Not because there are enough people moving it forward and doing meaningful work to bring about this incredible technology. 
But because of the infamous qubit wars: we have too many different providers building these specialized HPC units which will always be relatively rare. 
We won't need 50 different quantum computer providers, what we need is probably 10-20 quantum computers around the world that work well. 
Those are different asks, and perhaps the early stage competition of having 50 providers now will push us towards that future. 
I hope it will. 
But what I genuinely do believe is true, is that these devices will always be more useful in distributed frameworks. 
This is the case already with HPC and the aspects that make it so are even more pronounced in the quantum world (for instance the inability to control noise past a certain scale). 
Therefore Distribution is in many ways the future horizon for this field, and as such companies that do not have it as a goal will be outpaced. 
If quantum devices do come to be, I do think Carmen's quote will be right. 
"This will be a multi-billion dollar business"

</section>

<section> 
  <h2>Fun fact</h2>

4/17 Founders in these companies are women! Nu Quantum, Aliro , Wellinq, Photonic Inc -> 23%
<br>
5/17 CEOs of these companies are women! - Aliro + Qunnect and BT! -> 29%
<br>
1/17 Founders in these companies are openly LGBT (based on publicly available information)!  -> 6%
<br>
The most common country for these companies to be located in is the US, followed by the UK.
<br>
The average salary in DQC today is $140k USD (AI generated answer - do not take this as gospel I was just curious on what it would spew).

</section>
]]></content:encoded>
    </item>

    <item>
      <title>Partitioning Hypergraphs in DQC</title>
      <link>https://grageragarces.github.io/dqc_articles/posts/06-hypergraph.html</link>
      <guid isPermaLink="true">https://grageragarces.github.io/dqc_articles/posts/06-hypergraph.html</guid>
      <pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate>
      <description>Hypergraphs are a natural way to encode multi-qubit dependencies. They have been widely used in DQC research to abstract and partition quantum computations. This partitioning has been done through heuristics designed to tackle the hypergraph partitioning problem. In this post I will give a quick overview of the problem, its relevance to DQC, and some of the most popular heuristics used to tackle it.</description>
      <content:encoded><![CDATA[
<p>
Hypergraphs are a natural way to encode multi-qubit dependencies.
They have been widely used in DQC research to abstract and partition quantum computations.
This partitioning has been done through heuristics designed to tackle the hypergraph partitioning problem. 
In this post I will give a quick overview of the problem, its relevance to DQC, and some of the most popular heuristics used to tackle it.
    </p>

    
 
<section>
  <div style="background-color:#fff8dc; border-left:4px solid #e6d87c; padding:10px 15px; margin:10px 0;">
    <strong>Graph:</strong> A mathematical structure consisting of <em>nodes</em> (vertices) and <em>edges</em> that connect pairs of nodes. 
    Each edge links <em>two</em> nodes together.
  <br>
    <strong>Hypergraph:</strong> A generalization of a graph where edges (called <em>hyperedges</em>) 
    can connect any number of nodes, <em>not</em> just two. 
    A hyperedge can link two, three, four, or more nodes simultaneously.
    You can think of a hypergraph as a collection of groups, where each hyperedge defines one group of interconnected nodes.
  </div>

<figure style="text-align: center; margin: 20px 0;">
  <img src="https://grageragarces.github.io/dqc_articles/images/graph_hyper.png" alt="Graph and Hypergraph illustration" 
        style="max-width: 400px; max-height: 400px; height: auto; width: auto; object-fit: contain;">
  <figcaption style="margin-top: 10px; font-style: italic; color: #666;">
    Illustration of a graph (left) and a hypergraph (right). 
    In the graph, edges connect pairs of nodes, while in the hypergraph, hyperedges can connect multiple nodes simultaneously.
    Taken from <a href="https://commons.wikimedia.org/wiki/File:Graph_and_hypergraph.svg" target="_blank">Wikimedia Commons</a>.
  </figcaption> 
</figure>

Hypergraphs are a mathematical structure that allow us to encode relationships between different entities.
In distributed quantum computing, they are used to encode the relationships between qubits, such that when these are assigned to different quantum processors, 
if they hold some connection between them (let's say through a CX gate in the computation), 
this connection is respected across the devices through whichever links connect the QPUs.
Meaning that if we allot groups of qubits needed for a distributed computation to two interconnected QPUs, 
a hypergraph abstraction of this computation allows us to see which hyperedges separate both groups, 
and thus signify the need for non-local operations (such as a teleportation or cat-entangler).

<br>
This way of modeling distributed quantum computations has intertwined hypergraph theory with the field of DQC.
In this blog post I will dive into hypergraph partitioning heuristics designed to tackle the hypergraph partitioning problem, 
which is a very well known NP-hard problem in computer science, but may not be the best fit for DQC.

</section>

<section> 
  <h2>Hypergraphs in DQC</h2>
  <!-- ARE WE REPEATING OURSELVES FROM THE ABSTRACT? -->
Hypergraph-based representations came into the Distributed Quantum computing sphere back in 2018 through Martinez & Heunen's <a href="https://arxiv.org/abs/1811.10972" target="_blank">Automated distribution of quantum circuits via hypergraph partitioning</a>.
Hypergraphs serve as a very natural abstraction of the dependencies that must be maintained across sub-workloads of a larger computation, 
which is a crucial part of the DQC problem: how do I cut up my computational pie such that my cut up pie is equivalent to my original?
The original proposal was to represent qubits as the items/nodes of a hypergraph and quantum gates as the hyperedges connecting these qubits.
Meaning that the computational dependencies generated multi-qubit gates, which are in essence entangling gates, were now encoded into this abstraction.

  <div style="background-color:#fff8dc; border-left:4px solid #e6d87c; padding:10px 15px; margin:10px 0;">
    <strong>Non-local gate:</strong> Entangling gate (meaning a multi-qubit gate, such as a CX or CZ) that operates on qubits located in different QPUs within a distributed quantum computing system.
    Non-local gates preserve entanglement, meaning they consume the entanglement generated by the quantum network to enable inter-QPU operations.
    There are different ways/protocols to implement the same non-local gate. 
    The general idea is to use teleportation-based protocols to enable them.
    The specific method used is often called a <em>communication primitive</em>.
    
    <br><br>
    
    <strong>Communication primitive (DQC):</strong> A communication primitive can be thought as the implementation strategy for non-local gates.
    It defines the translation from a multi-qubit gates acting between QPUs into a series of quantum operations that can be executed within the relevant devices, using the quantum network, to implement an equivalent non-local operation. 
    Two of the most common communication primitives are the teleportation-based protocol (TP) and the cat-entangler based protocol (CAT):

    <figure style="max-width: min(100%, 600px); height: auto;text-align: center; margin: 20px 0;">
      <img src="https://grageragarces.github.io/dqc_articles/images/cat_tp.png" alt="CAT and TP implementation of CX gate" style="max-width: 80%; height: auto;">
      <figcaption style="margin-top: 10px; font-style: italic; color: #666;">
        Teleportation (TP) or cat-entangler (CAT) based implementations of non-local CX gates between qubits in different QPUs.
        Taken from <a href="https://arxiv.org/pdf/2207.11674" target="_blank">AutoComm: A Framework for Enabling Efficient Communication in Distributed Quantum Programs</a>.
        Note the M gate corresponds to measurements and the squiggly line between qubits to pre-entangled shared pairs amongst QPUs.
        The need for these pre-shared entangled pairs is why entanglement generation and routing is such a crucial part of quantum networking research.
      </figcaption>
    </figure>

    They have different resource requirements and performance characteristics, making them suitable for different scenarios.
    In general, TP is more qubit-efficient (requiring only 1 Bell pair/ebit per non-local gate) 
    but introduces classical communication latency because it requires classical feedback after Bell-state measurements to apply correction operations. 
    CAT requires more qubit overhead upfront (typically 4 qubits in a GHZ/cat state for implementing a non-local CNOT) 
    but can reduce the number of classical communication rounds, potentially lowering overall latency in high-latency networks. 
    The optimal choice depends on the qubit-communication trade-off and network topology.

  </div>

This encoding of computational dependencies is very useful because these inter-partition hyperedges (gates) can be "converted" into / interpreted as non-local gates,
meaning that they can serve as the communication primitive (the quantum instructions/info sent across a quantum channel) to interweave the smaller computations into the larger computation we were originally distributing.
Conveniently, there is a very famous problem associated to this: <strong>the hypergraph partitioning problem</strong>.

</section>

<section> 
  <h2>Hypergraph partitioning: the problem</h2>
<!-- what the hypergraph problem is, how its not quite DQC but a starting point for the field, and how its hard -->
The hypergraph partitioning problem is probably one of the most investigated NP-hard problems in computer science. 
At its core, the problem consists of dividing the nodes of a hypergraph into disjoint subsets (partitions) such that:
<ol>
<li> The number of <strong>hyperedges</strong> that <strong>connect</strong> nodes in different <strong>partitions</strong> (the cut size) is <strong>minimized</strong>.</li>
<li> While ensuring that the <strong>partitions are balanced</strong> in size (i.e., each partition has roughly the same number of nodes).</li>
</ol>

    <figure style="max-width: min(100%, 1200px); height: auto;text-align: center; margin: 20px 0;">
      <img src="https://grageragarces.github.io/dqc_articles/images/kahy.png" alt="KaHyPar hypergraph partitioning visualisation" style="max-width: 80%; height: auto;">
      <figcaption style="margin-top: 10px; font-style: italic; color: #666;">
        My favourite showcase of the hypergraph problem from the <a href="https://kahypar.org" target="_blank">kahypar</a> team (kahypar is a popular hypergraph state of the art partitioning solver, which we will explore later in this post).
      </figcaption>
    </figure>

  <div style="background-color:#ffedeb; border-left:4px solid #e6857c; padding:10px 15px; margin:10px 0;">
    <strong>Note:</strong> You could argue that this is the Balanced Hypergraph Partitioning problem (BHP) rather than the Hypergraph Partitioning problem (HP).
    You would be correct. 
    But the whole point of this article is to talk about how Hypergraph Partitioner solvers are used in DQC, 
    and today in DQC we don't actually use HP solvers, 
    we use BHP solvers (they are faster due symmetry breaking - the balance constraints reduce the search space in partitioning problems).
    This is why I will be using the terms interchangeably, even though they are technically different problems 
    (HP does not require balanced partitions, while BHP does).
  </div>

Hypergraph partitioning has had countless applications in VLSI chip design, parallel scientific computing, movie recommendation systems, and DNA sequence assembly.
Seeing why its NP hard is not too difficult, as it generalizes the graph partitioning problem, which is already NP-hard, 
and it's not too hard to see that the number of possible partitions grows exponentially with the number of nodes and hyperedges in the hypergraph.

<br><br>

NP -> heuristics, and good heuristics are expensive. 
In distributed systems today (coming back to the classical world), 
you need to make partitioning decisions quickly, 
making complex heuristics prohibitive.
Classical distributed systems researchers often dealt with highly dynamic messy scenarios where the hypergraph structure changes rapidly, 
making the overhead of re-partitioning exceed any benefits from better partitioning. 
Hypergraph partitioning is just not the way for classical distributed systems today, 
but we can perhaps all agree that DQC today is far from that setting. 
Its messy, but for other reasons. 
Making hypergraph partitioning a more viable option, at least in the short term.

<br><br>

Yet, I don't want to be too discouraging of hypergraph abstractions in DQC. 
They are a very natural way to represent crucial dependencies in distributed quantum computations, 
which may not exist in the same form in classical distributed systems.
In classical systems you have what we could call "classical dependencies", meaning you require the result from an operation before you complete the next.
These can be modeled with graphs, as pairwise dependencies, and fit nicely in queueing systems.
In DQC however, you have "quantum dependencies", meaning that certain operations require entanglement. 
These dependencies require both the previously mentioned classical dependency as well as the consumption (and thus availability) of a specific resource (entanglement).
They are not pairwise, as entanglement can exist between multiple qubits (GHZ states, W states, etc); 
and furthermore they are absolutely everywhere. 
Hypergraphs may be the way to go in DQC if we're talking about taking a massive monolithic circuit and mapping it down to a network of collaborating devices. 
Note that although this is my area of work at the moment, it doesn't have to be the way forward, and it certainly isn't how we run things in classical distributed systems today. 
(I keep talking about classical systems because they are the precursor to all of this DQC malarkey.)

<br><br>

That being said, although I do have a soft spot for hypergraph abstractions, THE hypergraph problem will see the wrath of my hammer.
It's first goal is all good and dandy, we do want to minimize inter-partition hyperedges, they are expensive, consume resource, and introduce noise, all generally bad things.
<br> 
But "balancing partitions"?!?!?! Why on earth do we care about balancing partitions? 
Perhaps this hatred comes from my innate abuse of any computational resource I am presented with.

    <figure style="max-width: min(100%, 400px); height: auto;text-align: center; margin: 20px 0;">
      <img src="https://grageragarces.github.io/dqc_articles/images/crazy.jpg" alt="8310m Jupyter notebook timer" style="max-width: 80%; height: auto;">
      <figcaption style="margin-top: 10px; font-style: italic; color: #666;">
        My current record tally (which I update when I remember to) of longest running Jupyter notebooks my poor laptop has to deal with <a href="https://bsky.app/profile/grageragarces.github.io/post/3m224vyj3cc2y" target="_blank">(Bluesky link)</a>. 
        8310m = 138.5 hours = 5.77 days
      </figcaption>
    </figure>

But I do have a point: unless driven by some specific hardware constraint (such as a decay in gate fidelity based on qubit load, which to my knowledge doesn't exist in today's QPUs), 
there is no inherent need to balance partitions in DQC. 
What we care about is:
<ol>
<li>  Minimizing the overall resource consumption (entanglement, qubits, time).</li>
<li>  Maximizing the overall fidelity of the distributed computation.</li>
<li>  <strong>Actually respecting the hardware constraints of the devices.</strong></li>
</ol>
Balancing is pointless, and irrelevant. 
Respecting device capacities is not only mandatory and a necessity, but like THE WHOLE FREAKING POINT! 
We are distributing or talking about distribution today because we cannot and believe that we will not be able to fit large computations in a single QPU. 
The whole field and concept of DQC starts from the idea of trying to find a solution to device capacities. 
And yes, you could argue balanced partitions can be somewhat interpreted as "capacities", but really they don't ensure hard constraints, 
and what's worse they absolutely do not help in heterogeneous setups where we may have different devices working together. 

<br><br>
<strong>TLDR:</strong> the hypergraph partitioning problem is not DQC, its a nice starting point, lets get over it. <br>
Nonetheless, the point of this post <u>is</u> to explore hypergraph partitioning in DQC, so with my rant out of the way, let's talk about some of the cool maths and cs behind hypergraphs in DQC.

</section>

<section> 
  <h2>Heuristics: State of the art</h2>
NP-hard problem implies heuristics.

    <div style="background-color:#fff8dc; border-left:4px solid #e6d87c; padding:10px 15px; margin:10px 0;">
  <strong>Heuristic:</strong> a practical approach to solving a problem that employs a method not guaranteed to be optimal or perfect. 
  They can often have performance guarantees, but by definition they are not exact algorithms.
  Heuristics can include approximation algorithms, probabilistic methods, greedy algorithms, and metaheuristics (overarching approaches that tell you how to explore the solution space rather than a specific method. e.g. Genetic Algorithms, Simulated Annealing).
  They are often used for NP-hard problems where exact solutions are computationally infeasible.
    </div>
  
Let's look into some of the most popular heuristics for hypergraph partitioning today (namely the specific problem I defined above).

<br>
<h3> 1) Greedy and random: the simple path</h3>
<em> The Simplest Solution is the Best Solution ~ Occam’s Razor</em>
<br><br>

Greedy and random methods operate directly on the hypergraph without any nonsense (what I mean by "nonsense" will become clear later). 
They're fast, straightforward, and surprisingly effective for quick-and-dirty partitioning when you don't have time for the computational equivalent of a five-course meal.

    <figure style="max-width: min(100%, 400px); height: auto;text-align: center; margin: 20px 0;">
      <img src="https://grageragarces.github.io/dqc_articles/images/hipos.webp" alt="Hungry Hungry Hippos the game" style="max-width: 80%; height: auto;">
      <figcaption style="margin-top: 10px; font-style: italic; color: #666;">
        The greedy logic personified: Hungry Hungry Hippos, the board game.
      </figcaption>
    </figure>

<br><br>

<strong>Greedy algorithms</strong> follow the age-old strategy of "make the best choice right now and hope for the best later".
In hypergraph partitioning, this means starting with to "eat" (in fancy talk we would call this seed) a node 
and growing partitions by repeatedly eating the next/closest node that minimizes some cost metric (in this case number of cut hyperedges). 
This method is as fast as you're going to get and works ridiculously well especially when hypergraphs have strong locality or community structure.
In my own work I've seen it outperform (KaHyPar - the favourite DQC baseline, and an incredible multilevel partitioner) 
on a stupid amount of real circuits (fake/artificially created circuits tend to not behave the same as "real circuits", meaning circuits actually created to implement quantum algorithms that present advantages), 
to the point in which I am not too convinced that it shouldn't be the default baseline for DQC hypergraph partitioning. 
Its speed, performance, and implementation simplicity make it in my eyes an unironic contender for the long game in this field. 
The "meat" of the game here is that first seeding, it is not an uncommon assumption in heuristic hypergraph methods as you will soon see.

<br><br>

<strong>Random partitioning</strong> is exactly what it sounds like. U just randomly assign nodes to partitions. 
Again, stupid as it may sound, it's actually a legitimate baseline and sometimes used as an initial solution for more sophisticated methods. 
Plus, when combined with refinement techniques, random starting points can actually lead to surprisingly good results. 
And what beauties quantum computers are at generating randomness, are they not?

<br><br>

If you want to play around with greedy methods, most hypergraph libraries include basic implementations. 
For spectral methods, check out tools like <a href="https://networkx.org" target="_blank">NetworkX</a> (for graphs) or implement your own using numpy/scipy for the eigenvalue computations.

<h3> 2) Iterations: local search</h3>

With simple but efficient out of the way, let's build our way into obscure complex stuff, starting at the simplest row: local search methods.
Local search is all about starting with a solution (could be random, could be greedy, nobody seems to care even though it actually matters quite a lot) 
and then iteratively improving it by making small tweaks. 
It's like being a gen-Z and renting your first room (because houses are not gonna happen), then slowly upgrading the furniture over a few years until you have a Pinterest-worthy space (or a compromise).
These methods are the workhorses of hypergraph partitioning and show up everywhere, especially as refinement steps in more complex algorithms.

<br><br>

The absolute classic here is <strong>FM</strong> (Fiduccia-Mattheyses). 
FM works by maintaining a priority queue of nodes sorted by their "gain" (how much moving a node to another partition would improve the cut). 
At each step, you pick the node with the highest gain, move it, lock it (you don't get to move it again in this pass), and update the gains of neighboring nodes. 
You keep going until all nodes are locked, then you roll back to the best solution you saw during the pass. 
At that point you unlock everything and do it all over again until you stop seeing improvements.

<figure style="text-align: center; margin: 20px 0;">
  <img src="https://grageragarces.github.io/dqc_articles/images/FM.png" alt="Fiduccia-Mattheyses graph" 
        style="max-width: 400px; max-height: 400px; height: auto; width: auto; object-fit: contain;">
  <figcaption style="margin-top: 10px; font-style: italic; color: #666;">
    Hypergraph on the left, possible "gain lists" on the right for FM. 
    Taken from <a href="https://limsk.ece.gatech.edu/book/slides/pdf/FM-partitioning.pdf" target="_blank">Georgia tech lecture notes</a>.
      </figcaption> 
</figure>

<br><br>

What makes FM clever is that it allows temporary bad moves, you might make the cut worse for a bit, but the algorithm can escape local minima this way 
(at least theoretically).
It's actually quite effective and forms the basis for most modern refinement algorithms.

<br><br>

For multiple partitions (k-way partitioning where k > 2), you've got <strong>k-way FM extensions</strong> that generalize the idea. 
Instead of just moving nodes between two partitions, you consider all possible target partitions for each node and pick the best one. 
It's more complex but handles the multi-way case directly without having to do recursive bisection.

<br><br>

There's also <strong>Kernighan-Lin</strong>, which is an older algorithm from the 1970s that works similarly but swaps pairs of nodes between partitions instead of moving single nodes. 
It's slower than FM but sometimes finds better solutions because it considers pairwise moves.

<br><br>

Most serious hypergraph partitioning tools include FM-style refinement. 
<a href="https://github.com/kahypar/kahypar" target="_blank">KaHyPar</a> uses heavily optimized FM variants, and you can find standalone implementations in libraries like <a href="https://github.com/UMESIOSS/hMETIS" target="_blank">hMETIS</a>.

<h3>3) Spectral methods: the global view</h3>

Local methods tweak a partition by moving a few nodes at a time.
They are fast and myopic.
Global methods do the opposite.
They try to extract a global pattern first,
and then cut along that pattern.

A few variants exist
(
<a href="https://arxiv.org/abs/2105.04389" target="_blank">flow and cut relaxations</a>,
<a href="https://www.nature.com/articles/s41598-024-55934-5" target="_blank">global inference</a>,
etc),
but I am just going to focus on spectral methods,
to give you an intuitive idea of how global approaches work,
and perhaps partially answer the question of whether
we can hypergraph-partition with quantum computers
(we probably can, it is probably not worth it, but hey I am about to use the word eigenvector!).

<div style="background-color:#fff8dc; border-left:4px solid #e6d87c; padding:10px 15px; margin:10px 0;">
  <strong>Eigenvector:</strong>
  Given a matrix $A$, an eigenvector is a non-zero vector $v$ such that applying $A$ to $v$ only scales it,
  $Av = \lambda v,$
  where $\lambda$ is the corresponding <strong>eigenvalue</strong>.
  In spectral partitioning, eigenvectors of graph or hypergraph Laplacians capture global structural patterns,
  and eigenvalues quantify how prevalent those patterns are.
</div>

<strong>Spectral methods</strong> bring linear algebra into the mix.
They use eigenvalues and eigenvectors of matrices derived from the hypergraph
(typically some form of Laplacian)
to find good partitions.
The basic idea is that low-frequency eigenvectors encode global structure.
In graph settings, the eigenvector associated with the second smallest eigenvalue
(the Fiedler vector)
induces a natural ordering of nodes,
along which one can cut to form partitions.
It is mathematically neat,
but <u>expensive</u> for large hypergraphs
(aka anything of interest).

<br><br>

Hypergraphs do not have a single universally agreed Laplacian.
As a result,
“spectral hypergraph partitioning” is really a family of choices.
You first decide how to turn the hypergraph into something spectral methods can act on.
Common options include:

<ol>
  <li>
    <strong>Clique expansion:</strong>
    turning each hyperedge into a clique in a graph.
    This often leads to massive graphs
    and tends to over-penalize large hyperedges.
  </li>
  <li>
    <strong>Star expansion:</strong>
    building a bipartite graph between nodes and hyperedges.
    This grows only linearly in the number of incidences,
    but you are now partitioning a different graph,
    and mapping the result back is not always clean or structurally meaningful.
  </li>
  <li>
    <strong>Direct hypergraph Laplacians:</strong>
    defining operators directly from the incidence structure.
    These avoid blow-ups,
    but introduce normalization choices that materially affect the result.
  </li>
</ol>

<h3> 4) Multilevel: the fancy pants solutions</h3>
Multilevel methods are where things get sophisticated. 
These are the state-of-the-art approaches that dominate hypergraph partitioning records and get used in real-world applications. 
The core idea is quite simple: 
if your hypergraph is too big and messy to partition directly, make it smaller first, partition that, and then carefully expand back to the original size while refining your solution.

<br><br>

The entire thing relies on this smaller partitioning being a good solution, but if you believe this (which based on their performance seems to be correct), 
you've just got to follow three steps:

<ol>
<li><strong>Coarsening:</strong> Repeatedly merging nodes together to create smaller versions of your hypergraph. 
Common strategies include matching (pair up similar nodes and merge them) or heavy-edge coarsening (merge nodes connected by heavy hyperedges).</li>

<li><strong>Initial partitioning:</strong> Once the hypergraph is small enough (this is kind of arbitrary), 
  you partition it using a simpler method (any of the above, FM and greedy are popular choices). 
  This gives you the baseline solution.</li>

<li><strong>Uncoarsening with refinement:</strong> Now you've just got to reverse the coarsening process. But you get to make some smart decisions along the way.
  At each level, you can "unmerge" nodes and use a local search method (usually FM) to improve the partition, meaning that you remap your super-node's nodes somewhat "smartly".
  When you've made your way back, you're done.</li>
</ol>

<br>

As I said earlier, solving the problem at a coarse level seems to give us a good global view of the structure, and the further refinement at each level handles local sub-optimisations. 
These methods basically sketch first, and paint later.
They include:

<br><br>

<strong>KaHyPar</strong> (Karlsruhe Hypergraph Partitioner), I did say we would get to him.
KaHyPar (kahy for friends) is THE partitioner today.
It's fast, produces cheap partitions, and is actively maintained.
Under the hood, KaHyPar uses an <em>n-level hypergraph partitioning</em> strategy, where nodes are contracted very gradually, 
preserving structural details, followed by adaptive (meaning it dynamically adjusts its strategy based on the contextual cost/structure it sees) 
local refinement during uncoarsening.
This allows it to optimize not just simple cut counts, but more expressive objectives such as connectivity and weighted communication costs.
The community behind it has made multiple versions (KaHyPar-CA, KaHyPar-K, etc.) optimized for different scenarios.
Check it out at <a href="https://kahypar.org" target="_blank">kahypar.org</a> and their <a href="https://github.com/kahypar/kahypar" target="_blank">GitHub repo</a>.
This is the most likely to be the baseline in any DQC hypergraph partitioning work today.
If you want to have a go at playing with it, I've recently written up a quick guide for the Python binding installation: <a href="https://grageragarces.github.io/Tutorials/guide/kahy.html" target="_blank">see guide</a>.

<br><br>

<strong>hMETIS</strong> is an older classic that pioneered many multilevel techniques.
Metis is basically KaHyPar but for graphs, and hMETIS extended metis' ideas to hypergraphs.
Its approach relies on more aggressive multilevel coarsening, 
rapidly collapsing nodes, followed by FM-style greedy refinement to minimize hyperedge cuts.
This makes hMETIS fast and robust, but unlike KaHyPar it's not very flexible and commits to structural decisions very early.
Still widely used and cited, it is not as actively developed (to my knowledge).
Learn more at <a href="https://course.ece.cmu.edu/~ee760/760docs/hMetisManual.pdf" target="_blank">UMN's METIS page</a>.

<h3> 5) Geometric: for the maths enthusiasts</h3>
Geometric methods are a different beast. 
They only work when your hypergraph nodes have associated coordinates in some metric space 
(physical locations, embeddings in vector space, connectivity topology in a quantum chip/network, timesteps, ...). 
When applicable, they can be extremely fast and produce intuitive partitions that respect spatial locality.

<br><br>

The classic approach is <strong>Recursive Coordinate Bisection (RCB)</strong>.
You pick a coordinate dimension (x, y, or z), find the median value, and split the nodes into two groups based on that median. 
Easy peasy right?
You then recursively apply this to each partition until you've got the number of partitions you want. 
It's FAST (we're talking O(n log n)) and works very well when your problem has strong spatial structure.

<br><br>

For example, if you're partitioning a mesh for finite element analysis, nodes represent physical points in space. 
RCB will naturally group nearby points together, which is exactly what you want for minimizing communication in parallel scientific computing.

<br><br>

<strong>Space-filling curves</strong> enable another strategy. 
A space-filling curve is basically a continuous curve that passes through every point in a multi-dimensional space.
Examples include Peano, Hilbert and Morton (Z-order) curves.
They basically enable the mapping of multi-dimensional space onto a one-dimensional line while (approximately) preserving locality. 

<figure style="text-align: center; margin: 20px 0;">
  <img src="https://grageragarces.github.io/dqc_articles/images/curve.png" alt="Peano curve illustration" 
        style="max-width: 400px; max-height: 400px; height: auto; width: auto; object-fit: contain;">
  <figcaption style="margin-top: 10px; font-style: italic; color: #666;">
    Illustration of a Peano space-filling curve, taken from <a href="https://en.wikipedia.org/wiki/Space-filling_curve" target="_blank">Wikimedia Commons</a>.
    Each panel shows a single continuous line drawn on a 2D surface.
    Although the line lives in two dimensions, it is still one long path that you can follow from start to end (1D).
    As the resolution increases (left to right), the path weaves more densely and eventually visits every region of the square.
    This provides a way to impose a one-dimensional ordering on two-dimensional space while largely preserving locality.
      </figcaption> 
</figure>

The general idea is that within your curve you get to order all your nodes, 
and then cut it into pieces—instant partitioning with good spatial properties. 
Hilbert curves (in particular) are beloved by the parallel computing crowd because they have good locality preservation. 

<br><br>

Now these methods <em>only care</em> about geometry.
They completely ignore the actual hyperedge structure, and
only use node coordinates. 
This can be a blessing (cause it's super fast), but it will be a curse if the geometry of your hypergraph doesn't align with the connectivity. 
They're often used as a very fast initial solution or for problems where geometry genuinely dominates the structure.

<br><br>

<h3> 6) Metaheuristics: black box magic</h3>
Metaheuristics are our final wild card.
They can tackle any problem as long as you can define a cost function. 
They're "meta" because they're higher-level (not because of facebook), meaning they 
guide the search process rather than being specific algorithms. 
As per the title, this includes our black boxes (ML, genetic algorithms, etc).
<br><br>

<strong>Genetic Algorithms (GAs)</strong> were the first metaheuristic to be 
<a href="https://arxiv.org/pdf/2311.18529" target="_blank">tested in DQC</a>.
Before AI exploded, I like to think they were every tech bro's favorite way to play god.
The idea is you're mimicking evolution by having a population of candidate solutions that evolve over time.
They evolve through crossover, mutations and natural selection.
For hypergraph partitioning, each "individual" is a partition, and the fitness function typically combines cut size and balance violations.

<figure style="text-align: center; margin: 20px 0;">
  <img src="https://grageragarces.github.io/dqc_articles/images/genes.png" alt="Crossover and mutation" 
        style="max-width: 400px; max-height: 400px; height: auto; width: auto; object-fit: contain;">
  <figcaption style="margin-top: 10px; font-style: italic; color: #666;">
    Crossover and mutation.
    Taken from <a href="https://www.researchgate.net/publication/381479172_Parameter_Setting_for_a_Genetic_Algorithm_Layout_Planner_as_a_Toll_of_Sustainable_Manufacturing?_tp=eyJjb250ZXh0Ijp7ImZpcnN0UGFnZSI6Il9kaXJlY3QiLCJwYWdlIjoicHVibGljYXRpb24ifX0" target="_blank">"Parameter Setting for a Genetic Algorithm Layout Planner as a Toll of Sustainable Manufacturing" (paper)</a>.
      </figcaption> 
</figure>
<br><br>

GAs have the power to escape local optima by exploring many different regions of the solution space simultaneously. 
Which is lovely, but they're slooooow, 
so rarely used in production systems.

<br><br>

<strong>Simulated Annealing</strong> is probably a more familiar name to the quantum crown.
The idea here is we start with a random partition at high "temperature," 
repeatedly make random modifications, 
and accept worse solutions with some probability that decreases over time (we're "cooling"). 
This method also has the power to escape local optima early on, but it eventually settles into a good solution as the temperature drops.
It's simpler than GAs but it still slow and requires careful tuning of the cooling schedule. 

<br><br>

<strong>Ant Colony Optimization</strong> is inspired by how ants find paths to food. 
Virtual ants traverse the hypergraph, leaving "pheromone trails" that influence future ants. 
It's once again computationally expensive and doesn't exploit problem structure the way specialized algorithms do.

<br><br>

I should have probably titled this section "Ideas from nature, expensive and slow but cool sounding".
The fundamental issue with metaheuristics for hypergraph partitioning is that they're too general: 
they don't leverage the specific structure of hypergraphs the way multilevel methods or FM refinement do. 
You're trading specialized efficiency for broad applicability. 
They can work, and might even find interesting solutions in weird corner cases, but for the standard problem you're almost always better off with multilevel methods.

<br><br>

That said, metaheuristics shine when you have <u>additional constraints/objectives</u> that break the standard formulation—things that are hard to incorporate into traditional algorithms. 
For instance if you care about heterogeneous QPU capacities (<em>that's crazy, who would care about that</em>), 
asymmetric communication costs, 
time-dependent constraints, 
or multi-objective trade-offs that mix fidelity, 
latency, and cost into a single ugly objective, 
metaheuristics let you throw all of that into the fitness function and just… search.

</section>

<section> 
  <!-- <h2>Hypergraph partitioning in DQC today</h2>

I'm gonna do my best to give you a quick overview here, but tbh go check https://arxiv.org/abs/2404.01265 section 4.1.1. for a great overview (from 2024 so perhaps slightly out of date).
  
alternatives graphs - cheaper to partition (many devices can't do Toffoli anyways): but hypergraphs are the most flexible (see model agnostic stuff below)

hungarian assignement: Hungarian Qubit Assigment (HQA) method for
partitioning is developed by Escofet et al.,  -  P. Escofet, A. Ovide, C. G. Almudever, E. Alarc´ on, S. Abadal, Hun-
garian qubit assignment for optimized mapping of quantum circuits on
multi-core architectures, IEEE Computer Architecture Letters (2023).
doi:10.1109/LCA.2023.3318857.

J. M. Baker, C. Duckering, A. Hoover, F. T. Chong, Time-sliced quan-
tum circuit partitioning for modular architectures, in: 17th ACM Int.
Conf. on Computing Frontiers 2020, CF 2020 - Proceedings, Associa-
tion for Computing Machinery, Inc, 2020, pp. 98–107. doi:10.1145/
3387902.3392617.

A. Pastor, P. Escofet, S. B. Rached, E. Alarc´ on, P. Barlet-Ros, S. Abadal,
Circuit partitioning for multi-core quantum architectures with deep re-
inforcement learning, arXiv preprint (2024). doi:10.48550/arXiv.
2401.17976.

Paper published: 2023 \\
Tree-based Directed Acyclic Graph Partitioning for Quantum Circuits \cite{clark_tdag_2023}.\\
Figure \ref{fig:TDAG_figures} depicts the logic of the decomposition of circuit \ref{circuit} following this technique.

TDAG is a new technique born of quantum synthesis work at the Oak Ridge laboratory. It is also graph inspired, and similarly to time cutting implies a teledata minimization. The proposal \cite{clark_tdag_2023} seems to perform positively when compared to other quantum synthesis quantum circuit processing techniques, yet it needs to be explored within DQC before it can be fairly compared to the previously mentioned techniques.

@inproceedings{clark_tdag_2023,
	address = {New York, NY, USA},
	series = {{GLSVLSI} '23},
	title = {{TDAG}: {Tree}-based {Directed} {Acyclic} {Graph} {Partitioning} for {Quantum} {Circuits}},
	isbn = {9798400701252},
	shorttitle = {{TDAG}},
	url = {https://dl.acm.org/doi/10.1145/3583781.3590234},
	doi = {10.1145/3583781.3590234},
	abstract = {We propose the Tree-based Directed Acyclic Graph (TDAG) partitioning for quantum circuits, a novel quantum circuit partitioning method which partitions circuits by viewing them as a series of binary trees and selecting the tree containing the most gates. TDAG produces results of comparable quality (number of partitions) to an existing method called ScanPartitioner (an exhaustive search algorithm) with an 95\% average reduction in execution time. Furthermore, TDAG improves compared to a faster partitioning method called QuickPartitioner by 38\% in terms of quality of the results with minimal overhead in execution time.},
	urldate = {2024-10-08},
	booktitle = {Proceedings of the {Great} {Lakes} {Symposium} on {VLSI} 2023},
	publisher = {Association for Computing Machinery},
	author = {Clark, Joseph and Humble, Travis and Thapliyal, Himanshu},
	month = jun,
	year = {2023},
	pages = {587--592},
}

<br>

my own work with HDHs into model agnosticity
</section>

 -->

 <section>
  <h2>Hypergraph partitioning (or perhaps its alternatives) in DQC today</h2>

  <p>
    I'm gonna do my best to give you a brief overview of alternative approaches to partitioning that have been developed specifically for DQC, 
    but tbh if you're seriously exploring this go check 
    <a href="https://arxiv.org/abs/2404.01265" target="_blank">"Review of Distributed Quantum Computing. From single QPU to High Performance Quantum Computing" (paper)</a>.
    section 4.1.1. for a great overview (from 2024 so perhaps slightly out of date).
    An important and very irritating note before we start: there are little to no cross-comparisons of these methods in the literature. 
    They often use different benchmarks, metrics and comparison baselines.
    This makes it really hard to say which method is "best" in any meaningful way (it is possible, but it would take a lot of work - I would forever adore you though, and perhaps more importantly you would make an awesome contribution to the field).
  </p>

  <h3>Graph-based and reduced abstractions</h3>

  <p>
    Simplify and conquer!
    The reason why we build hypergraphs is mainly Toffoli gates (aka +2 qubit gates).
    Fun fact, these are often not natively supported in hardware!
    More often than not compilers decompose these multiway relationships into pairwise interactions (aka two qubit gates).
    So why not simplify and <em>downgrade</em> our hypergraphs into graphs?
    This leads to the graph partitioning problem, again NP-hard, but cheaper and faster to solve!
  </p>

  <h3>Assignment-based formulations</h3>

  <p>
    We have also seen people reframing partitioning as an <em>assignment</em> problem rather than a cut problem.
    A good example is the 
    <a href="https://arxiv.org/abs/2309.12182" target="_blank">Hungarian Qubit Assignment (HQA) method introduced by Escofet et al.</a>:
    qubits are assigned to QPUs by solving a weighted matching problem that minimizes communication cost.
    Which is conceptually very different from hypergraph partitioning, as:
  <ul>
    <li>You do not explicitly minimize cut hyperedges.</li>
    <li>You directly optimize a cost matrix derived from circuit interactions and device constraints.</li>
  </ul>

  <p>
    Advantages include the incorporation of:
  <ul>
    <li>Heterogeneous device capacities.</li>
    <li>Asymmetric communication costs.</li>
    <li>Fixed hardware topologies.</li>
  </ul>

  <p>
    Downsides include: common loss of the global structural view that hypergraphs provide.
  </p>

  <h3>Time-aware and slicing-based methods</h3>

  <p>
    Some works 
    <a href="https://arxiv.org/abs/2005.12259" target="_blank">(ex)</a> 
    base themselves on the idea that
     <em>not all dependencies exist at the same time</em>.
    Gates are applied sequentially, they have timestamps/a temporal structure (from left to right in circuit diagrams).
    Time-sliced partitioning methods exploit this temporal structure by
    decomposing the circuit into temporal layers that are partitioned independently.
    This aims to reduce peak communication requirements at the cost of increased coordination; 
    and often leads to fewer simultaneous non-local operations,
    which can be a big thing on real hardware (either due to resource costs - you may only have a limited number of entangling pairs available per time stamp - or error rates).
  </p>

<figure id="fig-timeslice-figures" style="text-align: center;">

  <!-- Top row: two figures side by side -->
  <div style="display: flex; justify-content: center; gap: 1.5em; flex-wrap: wrap;">

    <div style="max-width: 400px;">
      <img src="https://grageragarces.github.io/dqc_articles/images/timeslice_slicedcircuit.png"
           alt="Time sliced circuit"
           style="width: 100%; height: auto;">
      <figcaption>Time sliced circuit</figcaption>
    </div>

    <div style="max-width: 400px;">
      <img src="https://grageragarces.github.io/dqc_articles/images/timeslice_graph.png"
           alt="Time sliced graph"
           style="width: 100%; height: auto;">
      <figcaption>Time sliced graph</figcaption>
    </div>

  </div>

  <!-- Bottom row: single figure -->
  <div style="max-width: 400px; margin: 2em auto 0 auto;">
    <img src="https://grageragarces.github.io/dqc_articles/images/timeslice_slicedgraph.png"
         alt="Time sliced graph (sliced)"
         style="width: 100%; height: auto;">
    <figcaption>Time sliced graph (sliced)</figcaption>
  </div>

  <figcaption style="margin-top: 10px; font-style: italic; color: #666;">
    Conceptual example of how a time-sliced partitioning method works.
    Top left: original circuit with time slices indicated by dashed lines.
    Top right: corresponding time-sliced graph representation.
    Bottom: partitioned time-sliced graph.
  </figcaption>

</figure>

  <h3>DAG-based stuff</h3>

  <p>
    In a similar vein to time-aware methods, some have replaced hypergraphs
    with circuit DAGs (Directed Acyclic Graphs).

  <div style="background-color:#fff8dc; border-left:4px solid #e6d87c; padding:10px 15px; margin:10px 0;">
    <strong>Directed Acyclic Graphs:</strong> A graph (collection of nodes connected by edges) where edges have a direction (from one node to another) 
    and there are no cycles (you can't start at one node and follow a path that leads back to it).
    <figure style="text-align: center; margin: 20px 0;">
  <img src="https://grageragarces.github.io/dqc_articles/images/graph.png" alt="Graph vs DAG illustration" 
        style="max-width: 400px; max-height: 400px; height: auto; width: auto; object-fit: contain;">
</figure>
  </div>

    <a href="https://dl.acm.org/doi/10.1145/3583781.3590234" target="_blank">Tree-based Directed Acyclic Graph (TDAG)</a> 
    partitioning is a good example.
    TDAG partitions circuits by recursively decomposing them into tree structures
    and selecting cuts that minimize communication.
  </p>

  <h3>Learning-based approaches</h3>

  <p>
    Of course 
    <a href="https://arxiv.org/abs/2401.17976" target="_blank">reinforcement learning and ML-based methods have also been explored</a>.
    These approaches treat partitioning as a sequential decision problem
    and learn policies that map circuit features to partitioning actions.
    They are appealing because they can, in principle, optimize arbitrary objectives
    and heterogeneous constraints (they are a type of metaheuristic).
    But they are expensive to train, hard to interpret and generalize poorly outside their training distribution. 
    Due to the lack of cross-comparisons between methods, it's unclear whether all these cost even lead to an outperformance of the cheaper heuristics mentioned above.
    Yet (despite my personal skepticism about anything related to the word AI - do forgive me, it comes from ignorance and a dislike of snake oils which populate both the AI and quantum space), 
    I don't think this avenue should be dismissed even if current models (which have gotten little attention) do not outperform simpler methods. 
    In the classical world, learning-based methods have shown to be scalable and a reasonable path in related problems like graph partitioning and job scheduling 
    <a href="https://proceedings.mlr.press/v80/dai18a.html" target="_blank">(ex)</a>.
  </p>

<h3>Where my own work fits</h3>

<p>
  My own ongoing work with  
  <a href="https://grageragarces.github.io/HDH/" target="_blank">Hybrid Dependency Hypergraphs (HDHs)</a> 
  sits in between all of this.
  HDHs provide an abstraction that is:
</p>

<ul>
  <li>
    model-agnostic (meaning that it enables the abstraction of alternative quantum computational models such as MBQC (Measurement Based Quantum Computing),
    which are the native operation set for some quantum computers, namely photonic quantum computers,
    and are particularly natural for distributed settings since flying qubits are photons),
  </li>
  <li>
    explicit about both quantum and classical dependencies (enabling partitioning strategies that exploit classical control flow,
    which is typically far cheaper than consuming entanglement and dealing with quantum noise),
  </li>
  <li>
    directed (capturing the flow of information and dependencies, similarly to DAG-based representations,
    rather than treating the computation as an undirected connectivity problem).
  </li>
</ul>

<p>
  The goal behind HDHs is to build a common ground on which partitioning methods can be explored and compared consistently.
  To support this, the project comes with a 
  <a href="https://grageragarces.github.io/HDH/database/" target="_blank">public database of HDHs and their partitions</a>,
  covering various workload origins (different benchmarking suites) and partitioning strategies (greedy, KaHyPar, random) 
  such that we can maintain a leaderboard of partitioning methods for DQC in a 
  standardized reasonable abstraction.
</p>

</section>
]]></content:encoded>
    </item>

    <item>
      <title>The agreement: IBM &amp; Cisco betting for DQC</title>
      <link>https://grageragarces.github.io/dqc_articles/posts/05-agreement.html</link>
      <guid isPermaLink="true">https://grageragarces.github.io/dqc_articles/posts/05-agreement.html</guid>
      <pubDate>Mon, 24 Nov 2025 00:00:00 +0000</pubDate>
      <description>Well, well... look who woke up. My old employers are joining forces toward DQC. Glad to hear I wasn't crazy. Let's gossip over the details.</description>
      <content:encoded><![CDATA[
<p>
    Well, well... look who woke up. 
    My old employers are joining forces toward DQC. 
    Glad to hear I wasn't crazy. Let's gossip over the details.
    </p>

    

<section> 
    The giants have awakened. 
    My former employers, IBM and Cisco, are now openly betting on distributed quantum computing. 
    Easily the most significant announcement of the week (and a top 3 of the year in DQC, following the Xanadu's Aurora and the Oxford experiments - sorry Tour de gross!).
    <br>
    On November 20, 2025, IBM and Cisco confirmed a joint effort to build a network of large-scale, 
    fault-tolerant quantum computers, aiming for early-2030 deployment and a proof-of-concept within five years.
    But what do they actually have, and what exactly are they promising? 
    IBM, as usual, is not afraid of ambitious roadmaps...
   <br>
    Let's get into a quick and informative overview.
    <br>
</section>

<img src="https://grageragarces.github.io/dqc_articles/images/ibm_cisco_1.png" alt=" IBM and Cisco's quantum networking plan" style="max-width: 100%; height: auto;">

<section> <h2>What exactly have they promised?</h2> 
    The two giants are committing to a proof-of-concept of DQC connectivity by 2030: entangling qubits across independent quantum computers operating in separate cryogenic environments (supposedly of considerable computational power). 
    <br>
    This will be preceded by an initial demonstration of multiple connected QPUs within three years. 
    <br>
    The long-term target seems clear: a network capable of running computations over tens to hundreds of thousands of qubits, with gate volumes reaching into the trillions. 
    <br>
    Big boy goals.
</section>

<section>
  <h2>Who is bringing what to the table?</h2>
<img src="https://grageragarces.github.io/dqc_articles/images/ibm_cisco.png" alt="Images of IBM and Cisco's quantum products" style="max-width: 100%; height: auto;">

  <h3>IBM</h3>
    <ul>
<li><strong>Quantum Networking Units:</strong> the tour de gross interconnects I assume! QNUs aim to serve as an interface to quantum processing units, converting stationary quantum information into "flying" quantum  that can travel through networks 
</li>
<li><strong>Quantum devices:</strong> IBM's Quantum Starling is likely the largest-scale fault-tolerant quantum computer planned (for 2029), capable of running 100 million quantum gates on 200 logical qubits. Bold but (with a slight tweaking of the definition of fault tolerant) IBM has so far stepped up to their promises!
</li>
<li><strong>The location?:</strong> We can speculate it'll be the expected IBM Quantum Data Center in Poughkeepsie, New York, expected to perform 20,000 times more operations than today's quantum computers - whatever that means.
</li>
    </ul>

  <h3>Cisco</h3>
Has certainly stepped up from when we started back in 2021! They bring with them:
    <ul>
<li><strong>Quantum entanglement chips:</strong> supposedly generating 200 million entangled pairs per second and operating at standard telecom frequencies over existing fiber infrastructure.
    A must for a quantum network, and certainly a step up from previous generations of industrial entanglement sources.
</li>
<li><strong>A High-speed software framework to match:</strong> that is supposed to reconfigure network paths to distribute entanglements to QNUs on demand.
    Cisco has recently made a few claims on quantum network software, we'll see how it performs in practice in a few years it seems!
</li>
    </ul>

<section>

  <h2>Open Technical Challenges </h2>

The announcement is bold, given that the gap between today’s hardware and a functional distributed architecture is still substantial. 
A few of the immediate blockers: 
<ul> 
    <li><strong>Microwave-optical transduction:</strong> the key missing link. We currently have no transducers with the <u>efficiency</u>, bandwidth, and noise performance required for large-scale QPU-to-fibre conversion.</li>
    <li><strong>Sub-nanosecond synchronisation:</strong> coordinating independent cryogenic systems at this timescale is nontrivial, especially once you include heterogeneous hardware, long-distance fibre, and control electronics.</li>

    <li><strong>Stationary ↔ flying qubit conversion:</strong> reliably mapping superconducting qubits to photonic carriers and back, without destroying the encoded information, is an unsolved engineering problem.</li>

    <li><strong>Coherence during transfer:</strong> even if conversion works, maintaining quantum coherence across the full chain (readout → transduction → fibre → routing → reconversion → QPU) is a major bottleneck.</li>
</ul>
These problems are well known in the field, and solving them will require breakthroughs in both hardware and control. Ambitious timelines aside, the physics is unforgiving.
But the hardware gods seem to have been favourable so far towards the quantum field.
</section>

<section> 
<h2>What this means for us?</h2>

If these roadmaps hold, the late 2030s could see the early stages of a quantum-networked infrastructure: quantum computers, sensors, and communication links sharing quantum information across metropolitan and eventually intercity distances.
<ul> 
    <li><strong>Open-source and academic support:</strong> IBM and Cisco plan to co-fund academic research and collaborative projects to advance the broader quantum ecosystem, and will investigate a network bridge comprised of novel hardware and open-source software IBM.
</li>
    <li><strong>Market Reaction:</strong> IBM shares gained 3.6% on announcement day (November 20) while Cisco rose 1.9%. Year-to-date, IBM stock has gained 31% and Cisco stock has jumped over 32%.
</li>
</ul>
</section>
]]></content:encoded>
    </item>

    <item>
      <title>DQC State of the art today: the TLDR overview</title>
      <link>https://grageragarces.github.io/dqc_articles/posts/04-dqctldr.html</link>
      <guid isPermaLink="true">https://grageragarces.github.io/dqc_articles/posts/04-dqctldr.html</guid>
      <pubDate>Tue, 14 Oct 2025 00:00:00 +0000</pubDate>
      <description>In just seven years, DQC went from theoretical sketches to experimental claims of distribution, though we are still far from practical DQC. This post lists what's missing, what we have, and what you can actually try today.</description>
      <content:encoded><![CDATA[
<p>
    In just seven years, DQC went from theoretical sketches to experimental claims of distribution, though we are still far from practical DQC. 
    This post lists what's missing, what we have, and what you can actually try today.  
    </p>

    

<section>

  Distributed quantum computing is young.  
  The first theoretical papers appeared around 2018, and already we have experimental claims of distribution.<br>  
  Xanadu's Aurora, announced about a year ago, was the first claim of a distributed quantum computer.  
  The device itself has not been publicly released, but its photonic architecture is interesting because photons are the flying qubits that naturally carry quantum information between modules.  
  In a sense, photonic quantum computers are distributed by design.  
  You can move atoms or ions between locations by optical transport, but that approach is unlikely to scale over long distances, which is why most visions of quantum networking rely on photons as the carriers of entanglement.<br>  
  Oxford's recent experiment claiming a distributed algorithm (technically a teleportation between two processors rather than a computation across them) marked another small but meaningful step.  <br>
In just seven years, the field has moved from theoretical sketches to physical demonstrations of distribution.  <br><br>

  Still, we are missing the shared backbone that would let us test these ideas end-to-end.  
  We have early-stage quantum computers and networks, but they rarely meet within a single experimental setup.  
  A real shame, especially given that many institutions hold both under the same roof.<br>
  Given that public distributed testbeds are non-existent, we cannot yet benchmark distributed workloads or reproduce results across groups.  
  This also means that the measurements required to calibrate distributed quantum simulators are non-existent.<br>
  On the other side of the spectrum, compiler stacks that treat communication as a first-class resource with explicit costs are few, and even fewer integrate real network models.  
  Error models for quantum channels are scattered and hard to compare across platforms.  
  Orchestration layers that manage heterogeneous devices and track entanglement as a consumable are only starting to appear.    <br><br>

  In other words, we are missing the shared infrastructure and public access that would make distributed quantum computing a testable reality.
  So what are researchers doing in the meantime?
</section>

<section>
  <h2>Emulation & Simulation</h2>

    <div style="background-color:#fff8dc; border-left:4px solid #e6d87c; padding:10px 15px; margin:10px 0;">
  <strong>Emulation</strong> refers to running real quantum programs today while mimicking distribution mechanics.  

  <strong>Simulation</strong> refers to classically modeling quantum devices and networks.  
    </div>

  While we wait for accessible distributed hardware, we can emulate quantum channels through two methods:  <br>

  <ul>
    <li><strong>Knitting:</strong>  
  Today we run subcircuits separately and stitch them with classical data.
  This is often known as circuit knitting.  
  Qiskit's cutting addon is perhaps the most popular software package for this.  
  The idea is to run subcircuits sequentially, sample them many times, and feed those measurements as inputs to the next.  
  The method breaks inter-partition entanglement and scales poorly, 
  but for a long time it was the only practical option.  <br>

<li><strong>Ladders:</strong>  
  A more recent alternative consists of chaining many CNOT hops between distant regions of a chip, somewhat emulating the role of a noisy quantum link without breaking entanglement. 
  <br>
</ul>

  We also have simulators, often the best worst option. 
  Simulators allow us to model quantum networks and distributed protocols beyond any emulation capacity. 
  They permit us to design and compare protocols, study scaling, and build architectural infrastructure for tomorrow's devices.
  Yet they must always be interpreted with care, especially given that they are not calibrated to real devices.
    At a fundamental level, simulating quantum mechanics on classical machines is not an ideal solution.
    It is this very limitation that got us into this whole business of building quantum computers in the first place.
    Normalizing simulators as a research tool leads us to papers talking about DQC tests done on simulations of 8 qubits,
    which is antithetical to the whole point of DQC for scalability, and in no way reflects the complexities that need to be tackled by large-scale 
    distributed systems.
    Still, for now, these simulations are what we have, and I am perhaps too young to play the academic downer here.
    <br><br>
    If you want to explore DQC in simulation, these are common choices:

  <ul>
    <li><a href="https://netsquid.org" target="_blank">NetSquid</a> (TU Delft): considered state of the art for quantum network simulation. Closed source, so internals are not directly inspectable or modifiable unless you collaborate.</li>
    <li><a href="https://github.com/sequence-toolbox/SeQUeNCe" target="_blank">SeQUeNCe</a> (Argonne Labs): an open-source counterpart. It models realistic network layers and lets you build distributed protocols from components.</li>
    <li><a href="https://qiskit.github.io/qiskit-addon-cutting/" target="_blank">Qiskit Addon</a>: supports classical emulation of circuit cutting inside Qiskit. Fast to try. Not a physical network simulator.</li>
  </ul>

  Notably, companies seem increasingly interested in distributed compilers.  
  Both Welinq's araQne and Cisco's network-aware compiler have been announced as attempts to link quantum compilation with networking, though neither is publicly available yet.

  Despite the increase in interest, none of these options deliver a public end-to-end DQC stack, but
  together they cover protocol design, network effects, and compiler-informed slicing.  
  But even the best emulations fall short for one main reason: they can't capture how noise behaves in real distributed setups.
</section>

<section>
  <h2>The Noisy Reality</h2>

  Noise is the main reason simulators and emulators fall short.  
  It dominates fidelity and defines whether any distributed computation survives execution.  
  Early studies already show that network channels can inject up to an order of magnitude more loss than local gates and measurements [Campbell et al. 2022], when modeled with the same internal noise levels.  
  The difference comes from how network noise behaves: it depends on distance, link quality, timing, and how qubits are moved or entangled across space.  
  That spatial dependence cannot be emulated within a single chip, which makes calibration against real hardware impossible for now.  
  <br><br>

  A second challenge is heterogeneity.  
  Distributed systems will likely link devices built on entirely different technologies, each with its own strengths and weaknesses.  
  One node might operate with trapped ions and include native error correction; another could use superconducting qubits with faster but noisier gates.  
  Synchronizing these devices means managing multiple noise profiles and aligning control layers that were never designed to talk to each other.  
  We can barely achieve that level of coordination even within monolithic setups.  
  <br><br>

  Finally, all distribution costs reduce to communication.  
  Moving quantum information between modules requires well-defined primitives and clear models of how they affect fidelity and runtime.  
  Two remain central today:  

  <ul>
    <li><strong>TP</strong> (teleportation): transfers quantum states using shared entanglement and classical communication.  
    Under limited capacity, it often behaves like a non-local swap to enable local operations.</li>

    <li><strong>CAT</strong> (gate teleportation): transfers the *action* of a gate using an entangled resource, often a GHZ or cat state.</li>
  </ul>

<figure style="margin-top: 0.5em; text-align: center;">
  <img src="https://grageragarces.github.io/dqc_articles/images/cat_tp.png" alt="CAT and TP primitives" style="height: 200px;">
  <figcaption style="font-size: 0.9em; color: #555;">
    Visual representation of CAT and TP primitive subcircuits used for distributed communication, taken from [Wu et al. 2022].
  </figcaption>
</figure>

  Both primitives are essential but come with trade-offs.  
  Teleportation is simpler but communication-heavy; gate teleportation preserves circuit structure yet amplifies noise.  
  Current research focuses on reducing this overhead and incorporating these trade-offs into compilers that model communication errors explicitly.  
</section>

<section>
  <h2>An open letter to anyone who will read: make a testbed</h2>

  Almost every quantum hardware company out there talks about scalability, often directly pointing to DQC and quantum networking.
  Today we have theory,  
  prototypes, 
  simulators that claim to capture the future,
  and more importantly, an eager and growing interest from the research community. 
  What we lack is a place where they can meet, a baseline to test and compare.  
  We need a true distributed quantum testbed.  
  One that would let us connect real processors (that are computationally relevant +50 qubit nodes), quantify network noise in real distributed computation settings, and check whether our emulations reflect physical reality.  
  One that could turn distributed quantum computing from a concept into a science.
  <br><br>

  -> If you are a lab with both a quantum computer and a quantum network, connect them. 
  You'll be one of the first to do so. <br>
  -> If you are a company connecting multiple devices, open a fraction of that infrastructure for research access. 
  This is, in my personal view, how IBM got the monopoly it currently holds over quantum cloud access.
  It was the first company that opened the door in an accessible manner.
  The time is coming for DQC, gain that terrain. <br> 
  -> If you are funding national or academic programs, build and make node pairs public.  
  Shared hardware is how we build shared truth.  
  <br><br>

  Until we can execute protocols on connected machines, DQC will remain a theoretical promise.  
  The missing link between vision and validation is a public testbed.  
  Build it (and let me know how it goes)!
</section>

<section>
    <h2>References</h2>
    <ul>
        <li>[Wu et al. 2022] AutoComm: A Framework for Enabling Efficient Communication in Distributed Quantum Programs</li> 
        <li>[Campbell et al. 2022] Quantum data centres: a simulation-based comparative noise analysis</li>
    </ul>
</section>
]]></content:encoded>
    </item>

    <item>
      <title>Why Quantum Distribution Is Not Just Classical Networking 2.0?</title>
      <link>https://grageragarces.github.io/dqc_articles/posts/03-classicalnetworking.html</link>
      <guid isPermaLink="true">https://grageragarces.github.io/dqc_articles/posts/03-classicalnetworking.html</guid>
      <pubDate>Wed, 16 Jul 2025 00:00:00 +0000</pubDate>
      <description>What makes distributed quantum computing fundamentally different from classical networking? It's not about faster data, but about distributing quantum correlations. This post challenges the misleading "quantum internet = internet 2.0" narrative and explores the real physics behind quantum distribution: from no-cloning and measurement collapse to error propagation, synchronization limits, and non-local state effects.</description>
      <content:encoded><![CDATA[
<p>
    What makes distributed quantum computing fundamentally different from classical networking? 
    It's not about faster data, but about distributing quantum correlations. 
    This post challenges the misleading “quantum internet = internet 2.0” narrative and explores the real physics behind quantum distribution: 
    from no-cloning and measurement collapse to error propagation, synchronization limits, and non-local state effects. 
    As we break old assumptions and build new ones, quantum distribution reveals itself not as a network upgrade, but as a whole new computing paradigm.
    </p>

    
  

<p> 
    If I say “quantum internet”, you probably think of an upgrade to our current internet. 
    Faster? Safer perhaps? More reliable? 
    Something along the lines of “internet everywhere and for everyone all the time” might come to mind.
    That's the narrative echoed across LinkedIn at least ...
    Yet after four years in this field, I still don't see the bridge between that idea and the actual reality of quantum internet research.

    To me, the “quantum internet” means something very different:
    it's about distributing quantum correlations in a network, enabling things like
    collaborative sensing,
    atomic clock synchronization,
    long-distance non-local experiments,
    quantum cryptography,
    and maybe one or two more niche technologies.

    Could we one day see quantum networks improve or reshape what we understand as “the internet”?
    Perhaps. Quantum cryptography is a strong candidate.

    But the misnomer we've created, and keep reinforcing, is a real issue.
    It fuels a flood of papers proposing new architectures with little regard for the actual physics.

    This blog post aims to dive into what makes distributed quantum computing fundamentally different from a classical networking problem.
    Because after all, new problems mean new opportunities.

</p>

<h2> The Quantum aspect </h2>

<p>
    So what does the Q in DQC entail? 
    First of all, any quantum computation can be fundamentally thought of as a large quantum state, made up of multiple qubits, correlated amongst themselves. 
    Every time you implement a CNOT gate between two qubits, you're creating a new correlation between them.
    At the end of the day, all a quantum circuit does is build a big graph state aka an interconnected network (not in the networking sense) that encodes and processes a problem.
    A quantum network's job is to distribute this quantum state (which is itself a network) across its nodes, like a matryoshka doll.
    It IS NOT meant to send data across, but to send correlations across.
    The difference is important, we will come back to it.
    For now, let's focus on these correlations, also known as <strong>entanglement</strong>.
    Our first quantum beast. A quantum state (aka a qubit) is encoded as 
    \( |\phi\rangle = \alpha |0\rangle + \beta |1\rangle \),
    with \( \alpha \) and \( \beta \) complex amplitudes such that \( |\alpha|^2 + |\beta|^2 = 1 \).
    When two qubits are entangled, their joint state becomes indistinguishable:
    \( |\phi_1\rangle |\phi_2\rangle = \frac{1}{\sqrt{2}} (|00\rangle + |11\rangle) \).
    One way to create this entangled state is by sending two photons with different polarizations through a beam splitter, letting them interfere, and selecting the cases where they exit in separate paths.
    There's also such a thing as pseudoentanglement.
    This occurs when states are correlated in a way that looks like entanglement, but isn't quite.
    Both entanglement and pseudoentanglement are considered resources for quantum communication.
    They are things we "burn" when we distribute quantum computations across devices.
</p>

<p> 
    Our second beast is the <strong>no-cloning theorem</strong>. 
    As I said before, the name of the game here is not data transfer. 
    And the reason is quite sound: we can't copy quantum states.
    The no-cloning theorem states that it is impossible to create an identical copy of an arbitrary unknown quantum state.
    In classical networks, data can be freely copied for redundancy or routing.
    Quantum networks can't do that.
    No fan-out. No replication. No repeaters as we know them.
    It's all out the window.
    Memories are also a problem, although incredibly speedy progress is being made.
    (This was actually the topic of my first patent: quantum memories for networking, a very exciting and deeply problematic challenge.)
    Not all is lost tho, data movement can still be helped along with classical crutches.
    We can forward information if we combine a quantum connection with a classical one, sidestepping the copying issue.
    It's a simplification, but one I found useful when I first entered the quantum communications world.
    This is a whole new paradigm, with a whole new set of problems and opportunities.
    Straightforward classical translations won't always work, as the purpose of these communications is simply different:
    Correlations, correlations, correlations.
</p>

<p> 
    Our third beast is a fun one: <strong>measurement collapse</strong>. 
    Schrödinger's cat is no longer superposed between life and death once we look into the box. 
    It chooses its state. 
    It collapses down to one of its two binary values. 
    It becomes a bit.
    In the same spirit, when we measure qubits, they collapse into classical outcomes.
    They can't be copied, and they can't be re-used after being observed.
    This has a crazy upside: built-in cryptographic detection.
    You copy -> you kill -> I notice the qubit is gone -> I shut down the compromised communication.
    A one-tap wonder, if properly executed.

    Measurement collapse is also what enables the classical crutches I mentioned earlier.
    In the teleportation protocol, classical information obtained from measuring entangled qubits
    is sent to a receiving party over classical channels.
    They then apply a correction to their half of the entangled state and recover the original global quantum state.
    In this way, classical comms can help quantum comms forward information.
    But teleportation comes at a cost:
    the entanglement shared between parties is consumed (the qubits have collapsed),
    and we need at least two classical bits for every qubit teleported.
    This entanglement must be created ahead of time, distributed, and often purified (distilled).
    An expensive and fragile process.

</p>

<h2> Local is now Global </h2> <!-- I feel like this paragraph is quite weak and much shorter... what could we add to improve? -->

<p>
    Because the quantum distribution game is a correlations game, not a data forwarding game, a new reality arises.  
    The idea of locality can be violated.  
    A change in one node can instantly affect the entire global quantum state.  
    This is because distributed quantum systems often maintain entangled states across nodes.  

    In classical computing, local operations affect local memory.  
    In distributed quantum systems, even a local gate may have non-local effects.  
    This violates classical assumptions about node independence.  
    A single phase shift on one qubit can change interference patterns across the entire system.  
    Fun thing to deal with when your qubits are fragile...
</p>

<p>
    Due to this, error propagation becomes a serious challenge.  
    In classical systems, faults are local, isolated, and often detectable.  
    But in quantum systems, errors can spread through entanglement.  
    They can even occur at the level of the entanglement generation and distribution itself.
    We don't just have to deal with bit flips on individual qubits, but with corrupted correlations.  
    In this framework, classical fault isolation breaks down.  
    An error on one node of the global state can trigger a cascade across the system.  
    This interconnectivity is the power and the achiles heel of quantum computing.
    Even simulations are non-trivial when we can't just cut up a large computation into partitions to run them independently.  
    Unless there were clear un-connected subgraphs in the larger global graph state, cutting up a large graph without interconnecting its partitions would not be equivalent to the original graph.
</p>

<p>
    Furthermore, synchronization can be quite the issue if not dealt with properly.
    Qubits are fragile things requiring precise timings and control alignments.
    Even nanosecond-scale timing drift can cause an entangled pair to decohere before it's useful. 
    Distributed gates require tight control over laser pulses, clocks, and coherence windows.
</p>

<h2>The sun will come out: tomorrow</h2>

<p>
The good news is that for those of us who missed the original internet boom  
(we were lazy, waiting to be born and all that), we've got a new round to play.  

This time, the name of the game is correlations.  
They're fragile, unpredictable, and break down a lot of the convenient architectural assumptions we're used to.  

Different labs and devices still can't plug into a shared network without custom glue.  
The translation layers aren't set in stone yet.  

It's a new dawn for networking.  
And for one, I can't wait to see the new applications it will bring.
</p>
]]></content:encoded>
    </item>

    <item>
      <title>The Theoretical Computer Science Roadblocks behind DQC</title>
      <link>https://grageragarces.github.io/dqc_articles/posts/02-challenges.html</link>
      <guid isPermaLink="true">https://grageragarces.github.io/dqc_articles/posts/02-challenges.html</guid>
      <pubDate>Sun, 15 Jun 2025 00:00:00 +0000</pubDate>
      <description>Distributed Quantum Computing (DQC) is emerging as a necessary response to the physical limits of scaling quantum hardware. But beyond the engineering and physics challenges lies a deeper set of theoretical computer science problems. This post explores key barriers to distributing quantum computation across multiple devices, including how we model and mitigate communication noise, formalize hybrid classical-quantum coordination, and decompose quantum workloads algorithmically and structurally.</description>
      <content:encoded><![CDATA[
<p>
     Distributed Quantum Computing (DQC) is emerging as a necessary response to the physical limits of scaling quantum hardware. 
     But beyond the engineering and physics challenges lies a deeper set of theoretical computer science problems. 
     This post explores key barriers to distributing quantum computation across multiple devices, including how we model and mitigate communication noise, 
     formalize hybrid classical-quantum coordination, and decompose quantum workloads algorithmically and structurally. 
     From algorithm-level partitioning to model-level abstraction, 
     DQC forces us to rethink core computational assumptions—making it not just a hardware problem, but a fundamentally new class of computing problem.
    </p>

    
  

<p>
    Distributed Quantum Computing (DQC) is not just a near-term workaround, it's a long-term necessity. 
    Practical physical constraints such as decoherence, gate errors, and crosstalk place strict limits on how large a single quantum processor can be, 
    i.e. how many qubits we can fit into one chip. 
    Given the excessive physical qubit requirements needed for error correction and the implementation of useful algorithms, 
    we are exploring distributed architectures: networks of quantum processors coordinated to act as one. 
    This relatively recent shift in the quantum landscape has opened up a host of new challenges. 
    In this blog post, I intend to walk you through some of the most important theoretical issues that have arisen in the wake of DQC, ranging from error fragility to temporal coordination and algorithmic decomposability. 
    We'll map the nooks and crannies of the DQC problem space, where physics, architecture, and computation collide.
</p>

<p>
    So the main question we're facing is:  
    How do we connect and coordinate multiple quantum devices, possibly alongside classical devices,  
    so they can collaborate on a task they couldn't solve individually due to physical constraints?  

    As you might expect, there is no straightforward answer.  
    For one, we're (or at least may be) dealing with two kinds of devices, quantum and classical, and two kinds of channels, again quantum and classical.  
    That gives us a combinatorial mess of interactions: quantum computers communicating over quantum links, over classical links, interacting with classical processors, and all the hybrid setups in between.  
    Let's also not forget what we're trying to send around: fragile quantum information.  

    Qubits have short lifetimes, their error tolerance is pretty poor, and coherent control is still noisy and slow.  
    Worse still, we're not just trying to manipulate them, we're trying to fly them across a network and use them at the other end.  
    To make things even trickier, that's just hardware; believe me, the software end of the stick doesn't help either.  
    We have maybe ten quantum algorithms that are practically useful today.  

    Most quantum toolkits are still in their infancy, and we're only beginning to build the foundational layers of the quantum software stack.  
    Robust languages, compilers, and coordination protocols? Not there yet. Probably not close to be honest.  
    On top of all that, DQC adds yet another layer to this barely functional stack.  
    Can we really cope with the added complexity?  
    How will we achieve interoperability across devices, vendors, and platforms?  
    Let's take a deep breath and dive into some of these issues in more detail.
</p>

<h2> The Error Problem </h2>
<p>
    The first horse of our apocalypse has been tormenting the monolithic world (those normies working on single quantum devices) for decades now: errors!  
    Errors, errors, errors...  
    If something is capable of driving this field into the ground, it will be errors.  
    We have an entire field, arguably two (error correction and error mitigation), purely designed for fighting them.  
    Entire careers have been built around fixing the swifty quantum errors, many more will follow.  

    With DQC, we now get to ask these poor mathematicians and computer scientists who have been struggling to fix errors on a single device for decades:  
    How should we fix errors at a network scale?  
    Do we design a global error correction code like qLDPC for our entire system?  
    Do we use a modular approach, stitching together local surface code patches via teleportation or lattice surgery?  
    How do we balance the trade-off between global encoding efficiency and local modularity in networks that may have variant use of individual devices?  

    The answer? We don't know, and frankly we've barely started to scratch the surface.  
    Any Uni of Edinburgh error correction PhD student has been pursued by me to look into this - I recently caught one, stay tuned for future work in the error correction space ;).  

    But back to business: we don't know what the DQC-EC world is going to look like.  
    What we do know is what the DQC-error landscape looks like.  
    The current status, as you might expect, is that individual device noise is not the problem, but communication noise is.  
    Sure, individual devices may be noisy to unusable levels, but their individual noise is laughable compared to their interconnected counterpart.  

    <i>Quantum Data Centres: A Simulation-Based Comparative Noise Analysis</i> by Kenneth Campbell, et al. would be a good further reading on this.  
    But the TLDR is that communication is — and will be — the bottleneck of error correction and mitigation in DQC.  
    That's what we should focus on.  
    Figuring out how to fly qubits around without destroying all the useful information they carry.
</p>

<h2> The Composition Problem </h2>
<p>
    Next, we've got the network composability problem.  
    As I mentioned earlier, two technologies, two applications, way too many permutations.  
    We know that "simulating" a quantum link over a classical one (aka probabilistically decomposing the channel) is quite expensive.  
    It's a short-term solution to interconnect devices whilst we resolve physical mobility limitations for qubit technologies that 
    don't directly interface with photons and require interconnects, and a placeholder to the error issue.  

    But when it comes down to quantifying how bad it is, beyond just the re-shot cost, answers get murky.  
    We, or at least I, don't know.  
    So the question remains: can we compose systems through this dual network option without breaking the system?  
    Will there ever be a viable hybrid solution where sometimes we can use cheaper classical channels at the expense of other resources?
</p>

<h2> The Beyond-Necessity Problem </h2>
<p> 
    Parallelism speedup is another one that I am particularly interested in.  
    In the classical world, a big driver of why we started building distributed systems was the benefits offered by parallelised algorithms (algorithms designed to run multiple operations on various devices such that the overall execution time is reduced).  
    But quantum computers have a sort of "native" parallelism: multiple qubits can be manipulated simultaneously.  
    So no real parallelism is offered by a network; within one device we can already perform various operations.  
    Of course, the fidelity at which we can perform these operations or the number of them might be limited, but really that limit is the qubit limit,   
    aka the reasoning that we distribute quantum computation because we can't fit it in one device.  
    Still, could there be other reasons to do that?
</p>

<h2> The Compilation Problem </h2>
<p>
    Another big question is: How do we design or compile quantum workloads in a distributed setting?  
    I think there are four main levels at which we can look at this question: the problem, the algorithm, the subroutine, and the model.  
    <br><br>

    1) <strong>Problem</strong> → There are a few problems that are supposedly well suited to quantum computers, i.e., we think QCs will provide some sort of advantage or speedup in solving them over classical computers.  
    An easy one to reason about is Hamiltonian simulation (in many quantum devices it can be emulated),  
    but others exist: unstructured search, optimization problems, the hidden subgroup problem, linear equations, etc.  
    At this level, the current approach is somewhat straightforward: we cut up the problem space into local problems.  
    Think of a Hamiltonian: here you would partition its problem space into local Hamiltonians that can be solved on individual devices  
    and look at how these local Hamiltonians interact with each other across the evolution of the problem.  
    These interactions would be mapped to communication Hamiltonians, which are run as teleportation protocols over the connective channels,  
    making the total Hamiltonian = sum of local Hamiltonians + sum of communication Hamiltonians.  
    <br><br>

    2) <strong>Algorithm</strong> → Next, we look at the algorithms being used to solve these quantum problems.   
    This would be your Grover, Shor, QAOA, Trotterization, etc.  
    Some of these are starting to get distributed variants.    
    The idea is to take a global function <em>f</em> and decompose it into 2<sup>k</sup> sub-functions <em>f<sub>i</sub></em>, each defined over a reduced input space {0,1}<sup>n−k</sup>.  
    You then run many quantum circuits in parallel, each searching a different subspace.  
    This distributes both the memory requirement and the query load, allowing each node to operate on (n−k) qubits instead of the full input.
    <br><br>

    3) <strong>Subroutine</strong> → Below most quantum algorithms there are subroutines, which you can think of as "reusable" components across various algorithms.  
    Things like VQE, QFT, state preparation, oracles...  
    Distributing subroutines looks similar to the algorithm and problem levels.
    Often they are solved through them.  
    The general idea is once again the decomposition of the subroutine into local and communication components,  
    which are driven by a cost function and mixing operators such that variational parameters are updated.  
    By updates I mean that an initial run of the cut-up system is executed, read, and the classical result injects the new initialization for the next run.  
    <br><br>

    4) <strong>Model</strong> → Finally, the model level is the only truly "flexible level", meaning it should allow for distribution of any workload.  
    Various theoretical and implemented quantum computational models exist today: quantum circuits, measurement-based quantum computing, quantum walks, boson sampling, etc.  
    At this step, operations are abstracted into connected nodes where connections represent sections of the workload that can be replaced with 
    communication primitives if they are run over various devices.  
    These primitives are in essence small quantum circuits that ensure the teleportation of the qubit(s) or the implementation of a non-local quantum 
    gate over two devices.  
    Post-abstraction, the graph (or hypergraph, if you are working with a model that has qubit operations with more than two qubits) is cut up, it 
    basically boils down to a graph partitioning problem (spoiler alert: NP-hard).
</p>

<h2> Closing Thoughts: DQC's Theoretical Frontier </h2>
<p>
    So far, we've looked at the mess of challenges that show up the moment you try to stretch quantum computation beyond a single chip-errors, links, timing, algorithms, abstractions.  
    These aren't small tweaks; they force us to rethink what computation looks like when it's not confined to one box.  
    In future posts, I'll dig into what it means to actually transform circuits for distribution: which cuts are cheap, which ones break things, and how to track the cost of coordination.  
    Dwelving into how DQC is not just a hardware problem, but a compiler and design problem too.
</p>

<p>
  <strong>PS</strong>: I'll be giving a short talk on these issues at FQC 2025 this week.  
  You can find my slides here:  
  <a href="https://github.com/grageragarces/Presentations/blob/main/DQC%20the%205%20minute%20blitz.pptx" target="_blank">DQC: The 5 Minute Blitz (slides)</a>.  
  They might be useful to illustrate some of the ideas described in this text.
</p>
]]></content:encoded>
    </item>

    <item>
      <title>Why am I working on Distributed Quantum Computing (DQC)?</title>
      <link>https://grageragarces.github.io/dqc_articles/posts/01-intro.html</link>
      <guid isPermaLink="true">https://grageragarces.github.io/dqc_articles/posts/01-intro.html</guid>
      <pubDate>Thu, 01 May 2025 00:00:00 +0000</pubDate>
      <description>DQC offers a promising path to scale quantum capabilities beyond the limitations of single devices. In this article, I share the motivation behind my work in this area: why distributing quantum computations matters, what challenges it poses, and how it connects to real limitations in current hardware.</description>
      <content:encoded><![CDATA[
<p>
      Distributed Quantum Computing (DQC) offers a promising path to scale quantum capabilities beyond the limitations of single devices.
      In this post, I share the motivation behind my work in this area:
      why distributing quantum computations matters, what challenges it poses,
      and how it connects to real limitations in current hardware.
      This sets the stage for a broader discussion on how we can externalize,
      coordinate, and benchmark quantum computation across multiple devices.
    </p>

    
  

<p>
  Building ever-larger quantum computers by simply adding more qubits into a single device isn't a sustainable strategy. 
  Let's look at why: 
</p>
<p>
  No matter how small we make qubits, we are still constrained by fundamental physical limits.  
  One such limit arises from the <em>area law</em> in quantum physics, which states that the entanglement entropy of a subsystem (a measure of quantum correlations) scales with the boundary area of that subsystem.  
  This concept was first introduced in black hole thermodynamics by Jacob Bekenstein and Stephen Hawking in the 1970s, who found that a black hole's entropy is proportional to the area of its event horizon.  
  In the context of quantum hardware, this means that as we build larger devices, the entanglement structure becomes increasingly complex along subsystem boundaries.  
  Managing these correlations (generating, routing, and maintaining them accurately) is a growing challenge, especially in architectures with limited connectivity or distributed components.
</p>

<p>
  Errors can arise not only from external noise but also from internal mismanagement of these correlations.  
  Entanglement that is too weak, too strong, misplaced, or accidentally extended can all lead to computational faults.  
  Unlike classical bits, quantum information is deeply relational: getting the structure of these relationships wrong introduces logical errors, even in the absence of decoherence.  
  The challenge is not just to keep qubits isolated from the environment, but to ensure they are entangled with the right partners, in the right way, at the right time.
</p>

<p>
  At some point, adding more qubits to a single device is expected to yield diminishing returns, due to the increasing complexity of correlation control and system architecture.  
  Building wide forever is not viable.  
  Instead, we must build tall and distribute computations across multiple devices rather than growing one monolithic system indefinitely.  
  This architectural shift offers a path to scalability without running into the hard limits imposed by correlation structure, control precision, and spatial layout.
</p>

<p>
  These challenges are reminiscent of the obstacles faced in classical computing during the late 20th century. 
  In the late 20th century, classical computers hit expected physical limits, similar to the ones we are predicting in the quantum world.
  Moore's law kept pushing the number of transistors up, but at some point, packing more into a chip caused too much heat and reliability issues.
  Processors started to run into both physical limits (how small you can make features) and thermal limits (how hot the chips get).
  
  By the 1980s and 1990s, it became clear that scaling a single processor indefinitely wasn't going to work.
  Clock speeds stopped rising dramatically after the early 2000s because of these heat and power problems.
  So we stopped building wide, and started building tall.
  People started working with multiple processors and building distributed systems.
  Instead of making one super-powerful chip, we started connecting lots of smaller chips together.
  Thus, avoiding the physical limits of single-chip designs, whilst still growing system size and performance.
  This is how concepts like cluster computing, parallel computing, and eventually cloud computing took off.
  Instead of making one super-powerful chip, we started connecting lots of smaller chips together.
  
  Famous early examples include Beowulf clusters (mid-1990s) for scientific computing, and Google's early distributed file systems and computing frameworks (like MapReduce, early 2000s) for handling web-scale data.
  
  The key takeaway from the classical distributed world beginings was:
  When scaling one machine hits a wall, we have to change the architecture:
  we network machines, distribute the workloads, and let many processors work together.
</p>
<p>
  The bells are pointing to a similar moment in quantum computing. 
  Except this time the rules of the game are even weirder.
  Quantum parallelism, entanglement, and superposition are not just fancy tricks to make things faster.
  They are the very fabric of quantum computing.
  And how they will behave in a set distributed open quantum systems (because after all this is what quantum computers really are: open quantum systems) is a fascinating open question, that I hope to convince you is worth pursuing.
</p>

<h2> A Proven Classical Solution: Networks </h2>

<p> 
  In classical systems, networking machines means moving bits around. You send them, store them, copy them. No drama. 
  You just need to make sure your logic doesn't eat its own tail: avoid deadlocks, prevent resending the same bit, maintain cache consistency, and so on. 
  Over time, incredibly sophisticated protocols have been developed to keep everything running smoothly. A graduate-level distributed systems course will walk you through the basics. 
  And although you may grind your teeth while learning about Paxos, Raft, and other consensus algorithms, you eventually get the hang of it. You learn what kinds of problems to expect. 
  There are many, but they tend to follow familiar patterns. 
</p> 

<p>
  Quantum systems, on the other hand, introduce a different class of challenges.  
  Qubits can exist in superpositions.  
  We are no longer dealing with combinations of zeros and ones, but with physical states—arguably some of the most complex objects in the universe.  
  These states can be entangled across nodes.  
  Not only can we move bits (for example, using photons), but we can now also move correlations.  
  Quantum teleportation opens a window to new capabilities, but it also brings a host of new, headache-inducing problems.
</p>

<p> Alongside these new power plays, we lose some familiar ones. 
    A window may open, but a door closes.
    You cannot simply read a qubit and resend it without destroying it. 
    Copying quantum information is impossible (no-cloning theorem). 
    We can move correlations between systems, but we cannot directly observe or duplicate them. 
    As a result, networked quantum computing introduces fundamentally different challenges from classical networked computing. 
    This is not just an engineering problem. 
    It forces us to grapple with an entirely new layer of physics, one that classical protocols never had to consider. 
</p>

<h2>New Quantum-Specific Questions</h2>

<p>
  What are the genuinely new challenges introduced by distributed quantum computing? At the implementation level, most concerns fall into two categories: 
  <em>when</em> to connect machines, and <em>how</em> to do it. 
</p> <ul> 
  <li> <strong>When should we connect quantum machines?</strong> Not all quantum computations benefit from distribution. 
    The overhead of inter-device communication and coordination can easily outweigh any potential advantages. 
    In particular, there is growing evidence that highly entangled regions of a quantum system are especially fragile when split across devices. 
    Improper partitioning can cause decoherence that is difficult or even impossible to recover from. Determining when distribution is helpful, and when it becomes harmful, remains an open problem. 
  </li> 

  <li> <strong>Classical, quantum, or hybrid networks?</strong> Distributed quantum computing does not rely on quantum processors alone; it also depends on the networks that connect them. 
    These networks can be classical (such as standard optical fiber) or quantum (such as photonic entanglement links). 
    Each type of channel brings distinct advantages and limitations. 
    Classical communication is reliable and well-established, but only quantum channels enable entanglement distribution and teleportation. Choosing between classical, quantum, or hybrid channels is a critical architectural decision. 
    Each choice impacts latency, fidelity, scalability, and error tolerance differently. Understanding these trade-offs, and identifying how channel choice influences computation, is still an evolving research area. 
    So far, most efforts have focused on enabling distribution itself, rather than on studying how the choice of communication channel shapes the computation. 
  </li> 
</ul>

<h2>  Parallelism: Lessons and Differences </h2>

<p>
  One of the other motivations behind classical distributed computing was the discovery of performance gains through parallelism. 
  As early as the 1970s, Amdahl's Law formalized the limits of speedup in a system with a fixed sequential portion. 
  In the 1980s, Gustafson's Law reframed the discussion by showing that for larger problem sizes, more of the workload can be parallelized. 
  These insights supported the shift toward multi-core architectures and distributed systems, even when communication overhead was non-trivial.
</p>

<p>
  Quantum computing approaches parallelism differently. 
  Superposition and entanglement give quantum systems a form of inherent parallelism. 
  You will often hear the simplification that quantum computers explore exponentially many paths at once within a single state. This is misleading. 
  Quantum parallelism is not directly accessible: we cannot observe all computational branches at the same time, nor can we selectively operate on individual ones. 
  At the same time, quantum devices can perform operations on separate qubits simultaneously. 
  This form of operational parallelism is fundamental to the model. 
  Because of this, the usual arguments for speedup through distributed execution do not carry over directly. In fact, current expectations suggest the opposite. 
  Distributing a quantum computation introduces new overheads, including the need for error correction, qubit teleportation, and additional coordination, all of which can slow down the overall process.
</p>

<p>
  Still, scientists are not easily discouraged.
  If you were to ask me, one of the many early in career researchers who are dedicating their PhD to this field, I believe 
  that distributed quantum computing will offer new kinds of speedup: not by splitting work across nodes in the classical sense, but by allowing more complex entangled systems, enabling new types of measurements, or increasing algorithmic diversity through heterogeneity of nodes.
  When and how these speedups manifest is still poorly understood - ergo why we are eagerly working on it. 
</p>

<h2>Infrastructure Challenges</h2>

<p>
  Implementation challenges aside, there are also practical problems we can't ignore.
  Right now, we're working within a fractured quantum ecosystem.
  Superconducting qubits, trapped ions, photonics — each platform is racing to prove itself as the dominant one.
  They all come with strengths and tradeoffs, but there's no clear winner.
  Worse still, they don't speak the same language.
  Not everything runs on circuits! 
  Today's quantum computers run on different computational models. 
  From measurement-based quantum computing (MBQC) to topological models, these machines don't perform computations in the same way.
  They don't interoperate cleanly, and they certainly weren't designed to work together.
  Despite this hardware reality, most of the current distributed infrastructure work assumes circuit-based computation.
  But the moment you try cross between modalities, that assumption no longer holds.
</p>

<p>
  Ecosystem heterogeneity becomes a serious problem when we start distributing.
  Abstracting above or below the model is nice in theory, but today, distribution is anything but model-agnostic.
  And inter-model interoperability?
  Not even close.
  This is more than a hardware limitation, it's a conceptual mismatch between how we compute and how we communicate.
  Solving this will mean rethinking some of our core assumptions about distributed quantum computing.
  That's where some of my current work is heading.
  Keep an eye out for model-agnosticism on the horizon.
</p>

<h2>Current Strategies: Cutting and Knitting</h2>

<p>
  So what do I mean by <em>current distributed infrastructure assumes circuit-based computation</em>? 
  Let's break it down.
</p>

<p>
  The standard approach today is to take a quantum circuit (a sequence of gates acting on qubits) and split it into smaller parts that can run on different devices. 
  We usually model the circuit as a hypergraph, where qubit wires are nodes and gates are hyperedges connecting them.
  The goal is to solve a cutting problem: how can we partition this graph across devices while keeping communication costs low?
  This is an NP-hard problem, meaning even small circuits can produce difficult tradeoffs between cut size, depth, and overall fidelity.
</p>

<p>
  Once the circuit is cut, the pieces need to be "knitted" back together.
  This can happen in two main ways: we can cut qubit wires, which requires teleporting quantum states between devices, or we can cut gates, which involves creating long-range entanglement links to simulate the missing multi-qubit interaction.
  Both approaches are valid in theory.
  But they rely on real quantum networks with high-fidelity links, fast entanglement distribution, and precise coordination between remote devices.
  And right now, quantum networks for quantum compute are not yet at that level.
</p>

<p>
  The alternative we see available in industry today is to simulate these quantum links using classical communication.
  This works in simulation and in small experimental settings, but it's a bit like trying to run a Formula 1 car on a bicycle track.
  You can move forward, but the track isn't designed for that kind of speed or fidelity.
  You're constantly adapting the system to the limitations of classical infrastructure, instead of building infrastructure suited to quantum behavior.
  When we talk about circuit "knitting" today, we're often referring to this classical workaround, which is something of a misnomer.
  To emulate a quantum link over a classical channel, we run many shots on both sides of the cut and stitch together correlated measurement statistics.
  This allows us to reconstruct expectation values as if the circuit had been whole.
  But we aren't actually knitting quantum circuits together in the physical sense.
  We're approximating their output distributions using classical post-processing.
  Which racks up costs.
</p>

<h2>The Hardware conversation</h2>

<p>
  Many quantum platforms (e.g., superconducting qubits) were not built with networking in mind.
  They're excellent for local, high-fidelity gates and fast control, but they cannot natively emit or absorb flying qubits like photons.
  To interface with a quantum network, these qubits require an interconnect, a device that converts stationary qubits into photonic ones, typically via microwave-to-optical transduction (e.g., using resonators). 
  These interconnects are still in early stages.
  They introduce unavoidable losses, noise, and latency.
  The fidelity hit is significant, and the success rates for conversion remain low.
  Even the <em>"super"</em> in superconducting can't dodge these <em>super losses</em>.
  This creates a serious bottleneck.
  A device may perform well in isolation but become nearly unusable when asked to communicate with others.
  Until we have high-fidelity, low-loss interfaces / architectures that avoid the need for conversion entirely hardware will remain a core limitation for distributed quantum computing.
</p>

<h2>Recent Progress and Open Needs</h2>

<p>
  But despite this bleak state, the first real steps toward distributed quantum computing have been arriving!
  In early 2025, Xanadu introduced <em>Aurora</em>, the first modular, networked photonic quantum computer.
  Aurora connects 35 photonic chips via 13 kilometers of optical fiber across four server racks, forming a 12-qubit system designed for scalability and fault tolerance.
  This marks the first time a quantum computer has been built to be modular, networked, and truly scalable with quantum channels.
  And although it is still in the early stages, it represents a significant step toward a future where quantum computers can be distributed across multiple locations and connected via quantum networks.
</p>

<p>
  Around the same time, researchers at Oxford University demonstrated the first instance of distributed quantum computing by linking two separate quantum processors via a photonic network.
  They executed a distributed version of Grover's search algorithm, achieving an 86% fidelity for a teleported controlled-Z gate between modules and a 71% success rate for the algorithm.
  The experiment used trapped-ion QPUs and showed that non-trivial distributed algorithms are feasible even with current hardware.
</p>

<p>
  Another major development came from TU Delft, where researchers at QuTech and the Quantum Internet Alliance introduced <em>QNodeOS</em>, the first operating system for quantum networks.
  QNodeOS provides a hardware-agnostic abstraction layer, letting quantum applications issue high-level commands like entanglement generation or inter-node operations without being tied to specific devices.
  These requests are translated into hardware-specific instructions that coordinate timing, entanglement, and classical messaging between nodes.
  However, the system still assumes that each node runs gate-based quantum circuits.
  The computational model remains fixed, even if the hardware platform is abstracted.
  This is a major step forward, but it still leaves open the question of how to coordinate distributed computations across different models entirely.
</p>

<p>
  When all is said and done these are significant milestones, but much remains to be done:
</p>

<ul>
  <li>
    Conducting experiments on actual distributed computations, such as complex circuits, quantum walks, and MBQC patterns.
  </li>
  <li>
    Developing quantum network experiments that specifically target quantum computing needs, moving beyond network oriented applications like quantum key distribution (QKD).
  </li>
  <li>
    Demonstrating even short-distance server-to-server quantum communication, which is both urgent and impactful for validating distributed architectures.
  </li>
</ul>

<p>
  The field is progressing, but to realize the full potential of distributed quantum computing, we need to focus on these open challenges and continue building upon these foundational experiments.
</p>

<h2>Closing: Why work on DQC?</h2>

<p>
  Distributed Quantum Computing isn't just a niche topic. 
  It's essential if we want to scale quantum computing beyond the limits of single devices.
  The physical constraints are real, and they won't be solved by squeezing more qubits onto a chip.
  DQC forces us to ask hard questions: 
  How do we coordinate entanglement across distance?
  How do we distribute algorithms across heterogeneous platforms?
  How do we rethink hardware and software to support modular, network-aware architectures?
  These aren't engineering challenges, they're fundamental questions about what it means to compute in a quantum world.
  And they're questions we need to answer if we want quantum computing to move from lab demos to real-world impact.
  That's why I work on DQC.
  It's one of the few paths forward that can take quantum computing to its next phase.
</p>
]]></content:encoded>
    </item>

  </channel>
</rss>
