• =?UTF-8?Q?Parallel_=cf=80-WAM:_An_Interleaved_Synchronous_Emulator_?= =?UTF-8?Q?=28Re:_Parallel_=cf=80-WAM:_JavaScript_Workers_as_CPU_Backend=29?=

    From Mild Shock@janburse@fastmail.fm to comp.lang.javascript on Sat Jul 25 03:53:27 2026
    From Newsgroup: comp.lang.javascript

    Hi,

    The -C-WAM an alternative Prolog VM, for the
    Dogelog Player, got one after the other, a GPU
    backend prototype, and then productive CPU backends.
    So in retrospect we felt the need to not only
    emulate in 100% Prolog the initial single threaded
    -C-WAM, but also its multi threaded successors.

    One central idea is to partition the state into
    slices, that belong to each logical thread. Since
    we adress slices by an offset, we can also use
    these offsets for a parallel simulation. Because
    of varying warp and tilt parameters the output
    usually differs from the CPU backends.

    Bye

    See also:

    Parallel -C-WAM: An Interleaved Synchronous Emulator https://medium.com/2989/0196089e143a

    Mild Shock schrieb:
    Hi,

    We recently implemented a parallel -C-WAM on
    a CPU backend and could demonstrate an
    estimated 1.7 Giga Lips. This CPU backend
    was written in Java, uses Java platform
    threads and is meanwhile part of library(edge/
    brainfog). In the following we report first
    porting steps to JavaScript.

    With the adoption of JavaScript workers we
    embrace preemptive multithreading, even
    for a Web Prolog, and depart from Dogelog
    Players cooperative multitasking. The design
    also adopts SharedArrayBuffer to replicate
    the Java heap, that is shared among
    Java platform threads.

    Bye

    See also:

    Parallel -C-WAM: JavaScript Workers as CPU Backend https://medium.com/2989/5ef903e5e785
    --- Synchronet 3.22a-Linux NewsLink 1.2