Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #20574

Re: Hosted Forths on multicore machines

Newsgroups comp.lang.forth
Date 2013-03-11 17:41 -0700
References <fd73df23-4c41-4cd7-936a-3141d752af25@g16g2000vbf.googlegroups.com>
Message-ID <72c028ab-a4d0-4ff2-a9fa-19bbcb272fb1@googlegroups.com> (permalink)
Subject Re: Hosted Forths on multicore machines
From "Clyde W. Phillips Jr." <cwpjr02@gmail.com>

Show all headers | View raw


On Monday, March 11, 2013 4:17:25 PM UTC-5, Alex McDonald wrote:
> As one of three Forth projects I'm pursuing at the moment (the others
> 
> are 64bit and an optimising compiler) I've been looking at specific
> 
> solutions for employing more than 1 core of my 8 (!) core laptop. (If
> 
> you won a laptop of less than 5 years vintage, it probably has more
> 
> than 1 core, and multicore machines have been available for a long
> 
> time in server land.)
> 
> 
> 
> There are two common architectures; SMP and NUMA. And there are a
> 
> plethora of chips and OSes that support these; Linux, Windows,
> 
> Andrpoid on ARM, Intel/AMD to name some of the commonest.
> 
> 
> 
> This has raised a number of questions for hosted Forths, some of which
> 
> I pose here.
> 
> 
> 
> Forth's traditional "multiuser" feature isn't adequate (PAUSE). It
> 
> simply isn't extendable to multi core machines. The model assumes a
> 
> single core with all work running on a single thread. There are no
> 
> synchronisation primitives, and there is no way to handle asynchrnous
> 
> interrupts.
> 
> 
> 
> Multicore support would appear to require:
> 
> 
> 
> . Memory fencing primitives (such as MFENCE SFENCE and LFENCE on x86)
> 
> . Sync primitives (CAS or LL/SC)
> 
> . Words for creating & managing threads
> 
> . Word(s) for querying processor attributes (such as # of cores)
> 
> . Closures (for which I have a proposal)
> 
> 
> 
> Would it be possible to agree that these are a reasonable set, and
> 
> that hosted Forth's would benefit from standardising some of these?
> 
> 
> 
> I've looked at a number of other languages that support these kind of
> 
> operations.
> 
> 
> 
> . GO uses high level constructs; this model looks interesting.
> 
> . C++ now has language intrinsics such as atomic_compare_exchange()
> 
> . Lambdas and blocks in C++, Objective-C and others
> 
> . Haskell, Erlang ...
> 
> 
> 
> Comments welcome.

Would there be any value in segregating vocabularies to different cores, vs each being a complete system?

Back to comp.lang.forth | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Hosted Forths on multicore machines Alex McDonald <blog@rivadpm.com> - 2013-03-11 14:17 -0700
  Re: Hosted Forths on multicore machines "Clyde W. Phillips Jr." <cwpjr02@gmail.com> - 2013-03-11 17:41 -0700
    Re: Hosted Forths on multicore machines Alex McDonald <blog@rivadpm.com> - 2013-03-12 06:38 -0700
  Re: Hosted Forths on multicore machines Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-12 02:19 +0100
    Re: Hosted Forths on multicore machines Alex McDonald <blog@rivadpm.com> - 2013-03-12 06:05 -0700
      Re: Hosted Forths on multicore machines Alex McDonald <blog@rivadpm.com> - 2013-03-12 06:34 -0700
        Re: Hosted Forths on multicore machines Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-13 01:51 +0100
      Re: Hosted Forths on multicore machines "Elizabeth D. Rather" <erather@forth.com> - 2013-03-12 09:46 -1000
        Re: Hosted Forths on multicore machines Roelf Toxopeus <rt4all@notthis.hetnet.nl> - 2013-03-13 11:30 +0100
      Re: Hosted Forths on multicore machines Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-03-13 04:35 -0500
        Re: Hosted Forths on multicore machines Alex McDonald <blog@rivadpm.com> - 2013-03-13 06:55 -0700
          Re: Hosted Forths on multicore machines Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-03-13 09:49 -0500
            Re: Hosted Forths on multicore machines Paul Rubin <no.email@nospam.invalid> - 2013-03-13 08:18 -0700
              Re: Hosted Forths on multicore machines Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-03-13 10:39 -0500
                Re: Hosted Forths on multicore machines Alex McDonald <blog@rivadpm.com> - 2013-03-13 16:36 -0700
                Re: Hosted Forths on multicore machines Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-03-14 03:44 -0500
                Re: Hosted Forths on multicore machines anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-03-14 09:06 +0000
                Re: Hosted Forths on multicore machines Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-03-14 06:26 -0500
                Re: Hosted Forths on multicore machines anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-03-14 15:41 +0000
              Re: Hosted Forths on multicore machines Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-14 17:56 +0100
                Re: Hosted Forths on multicore machines Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-03-15 03:26 -0500
                Re: Hosted Forths on multicore machines Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-16 23:11 +0100
  Re: Hosted Forths on multicore machines Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-03-12 05:01 -0500
    Re: Hosted Forths on multicore machines Alex McDonald <blog@rivadpm.com> - 2013-03-12 06:10 -0700
    Re: Hosted Forths on multicore machines Roelf Toxopeus <rt4all@notthis.hetnet.nl> - 2013-03-12 17:04 +0100
      Re: Hosted Forths on multicore machines Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-03-12 11:28 -0500
        Re: Hosted Forths on multicore machines Roelf Toxopeus <rt4all@notthis.hetnet.nl> - 2013-03-12 19:52 +0100
      Re: Hosted Forths on multicore machines morrimichael@gmail.com - 2013-03-12 10:11 -0700
        Re: Hosted Forths on multicore machines Alex McDonald <blog@rivadpm.com> - 2013-03-12 11:34 -0700
        Re: Hosted Forths on multicore machines Roelf Toxopeus <rt4all@notthis.hetnet.nl> - 2013-03-12 19:44 +0100
          Re: Hosted Forths on multicore machines Alex McDonald <blog@rivadpm.com> - 2013-03-12 13:13 -0700
            Re: Hosted Forths on multicore machines Roelf Toxopeus <rt4all@notthis.hetnet.nl> - 2013-03-15 15:44 +0100
              Re: Hosted Forths on multicore machines Alex McDonald <blog@rivadpm.com> - 2013-03-15 09:37 -0700
      Re: Hosted Forths on multicore machines Alex McDonald <blog@rivadpm.com> - 2013-03-12 11:37 -0700
        Re: Hosted Forths on multicore machines Roelf Toxopeus <rt4all@notthis.hetnet.nl> - 2013-03-13 10:46 +0100
  Re: Hosted Forths on multicore machines the_gavino_himself <visphatesjava@gmail.com> - 2013-03-12 15:22 -0700

csiph-web