Path: csiph.com!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail From: Mild Shock Newsgroups: comp.lang.java.programmer Subject: =?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?= Date: Sat, 25 Jul 2026 03:54:23 +0200 Message-ID: <114150f$ccl1$3@solani.org> References: <112jcvo$5860$3@solani.org> <112lun0$75rr$4@solani.org> <1138bmu$58mb$6@solani.org> <113lltp$4r9r$3@solani.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Sat, 25 Jul 2026 01:54:23 -0000 (UTC) Injection-Info: solani.org; logging-data="406177"; mail-complaints-to="abuse@news.solani.org" User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:140.0) Gecko/20100101 Firefox/140.0 SeaMonkey/2.53.24 Cancel-Lock: sha1:zueaz46Nftc5K3mumjpDfyoZLig= X-User-ID: eJwFwYEBwCAIA7CXRNoi54CO/09YQpfpBkSBw4k6e4fxswSI1NcXWePTBcW7S1lxn9oGXmJzac4u13mt9QNDZxU8 In-Reply-To: <113lltp$4r9r$3@solani.org> Xref: csiph.com comp.lang.java.programmer:53766 Hi, The π-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 π-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 π-WAM: An Interleaved Synchronous Emulator https://medium.com/2989/0196089e143a Mild Shock schrieb: > Hi, > > We recently implemented a parallel π-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 π-WAM: JavaScript Workers as CPU Backend > https://medium.com/2989/5ef903e5e785