TeX is highly parallelizable
Posted Apr 28, 2008 16:29 UTC (Mon) by
forthy (guest, #1525)
Parent article:
Interview with Donald Knuth (InformIT)
Contrary to what Don Knuth thinks, TeX has a lot of inherent
parallelism, at least the typesetting process (let's forget the
compilation process of \def definitions - if this needs to speed up,
precompiling and caching is sufficient; .sty files don't change that
often).
First of all, TeX typesets paragraphs pretty isolated. Each paragraph
can be typesetted independent from all others - in parallel. TeX tries
several times to typeset a paragraph with different spacing - this can
also happen in parallel; whoever is best wins.
What I agree with him is that the "pipe" abstraction for parallel
processes is proably the best we have found so far. Verilog/VHDL
(synchronous parallelism) is difficult, shared memory is easier to write
but even more difficult to debug (asynchronous parallelism, race
conditions, deadlock, livelock, etc.). The pipe abstraction however has
been used successful even by simple shell script programmers.
The tape-sorting stuff probably is outdated, but if you look at how
algorithms with pipes work, you end up with the same principles as with
tapes: your input and your output are basically sequential. Maybe some of
these algorithms can be reused for pipe-sorting.
(
Log in to post comments)