The Tide

Inspired by Charles Moores Forth programming language, his MISC processors and arrays of them and by the pacific ocean I was urged to write a proposal for massively distributed programming:

The pictures are missing, but in the ?[http:/~jorge/tide.pdf PDF Version] they are proudly present.


  • Efficiency: A strength of Forth programs is factorization. If very small Forth programs are executed on lots of diferent computers, how would this weaken the aproach?
  • Stability: If a processor getÅ› blocked - stuck in an endless loop - it no further contributes to processing and there is no way to get it back to work again, not even to diagnose the situation.


  • [..] 18-bit computer to match available fast SRAM [..] using dynamic latches, and has on-chip ROM and DRAM to sustain 2400 Mips. Its small size and on-chip memory leads to the 25x with multiple computers on the same die.

  • I'm exploring parallel computing with very small. very fast computers. 64 word of ROM, 128 words of RAM, 2400 Mips. Processor tasks are programmer assigned partly dependent on unique processor capabilities. There are 25 independent instruction streams 63,000 Mips total, programmable

  • [..] the assignment and coding of computers follows the data flow. [..]

  • [..] non-cache-coherent NUMA systems are prohibitively complex to program in the standard von Neumann programming model. [..] all fielded NUMA designs use special-purpose hardware to maintain cache coherence [..]

  • The addition of virtual memory paging to a cluster architecture can allow NUMA to be implemented entirely in software

  • Clusters ...] not only support parallel computing, but also shared file systems and peripheral devices

  • The idea behind DSM is simple: Try to emulate the cache of a multiprocessor using the MMU and operating system software

  • Linda is a coordination language that can be combined with a standard computational programming language to provide multiprocessor coordination and communication using a tuple space model. [..] there is a master processor which manages the network, or simulated network, and multiple worker processors which process active tuples given to them by the master processor.

  • Berkley Lab: Distributed Systems Department

  • Large Scale Machines