the name

How TaskFused Got Its Name From Fusing Duplicate Tasks Into One

To fuse is to join two things so completely that they become one. Metal fuses when it melts together. Two bones fuse as they heal. Nothing is stacked or queued; afterwards there’s a single piece where there used to be several.

That’s what TaskFused does with duplicate work. Ten requests for the same report don’t become ten jobs, or one job and nine copies waiting their turn. They become one operation, with one run and one result, and all ten callers are holding it.

Three identical task cards labelled report-42 sliding together and fusing into a single card, which runs once and returns one result to all three callers.

Fusion in Computing

The word has a long history in computer engineering, always meaning “do several things as one.” Modern processors use macro-op fusion: a compare and the jump that follows it are decoded as one operation, which saves a step in every loop. A fused multiply-add computes a × b + c in one instruction with one rounding, which is both faster and more accurate than doing it in two. On graphics cards, kernel fusion merges several small programs into one so the data doesn’t make a round trip to memory between them.

Those examples fuse different steps of one piece of work. TaskFused fuses the same piece of work asked for several times. The idea carries over, though: notice that separate things can be one, and then only do the work once.

Why Not a Plainer Name

Words like dedup, cache and queue each describe part of the job and suggest the wrong tool. Dedup sounds like cleaning up afterwards, and TaskFused prevents the duplicate before it runs. A cache only helps once the answer exists, and TaskFused also joins requests while the work is still going on. A queue takes every job you hand it, while TaskFused looks at each job’s name first.

“Task” says what is being joined: a unit of work your program asks for. “Fused” says what happens to the copies. Put together, the name explains the product in two words, which is what a name should do.

How to Say It

Task-fused, as the two English words. It’s written TaskFused, as one word with two capitals, and the command and the Go package are taskfused.