Re: [fonc] Re: Electrical Actors?

2011-06-06 Thread C. Scott Ananian
I explored this idea a bit once upon a time in the context of Java:
  http://cscott.net/Publications/design.pdf
The bibliography cites most of the related work I know about.
  --scott

-- 
      ( http://cscott.net )

___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Re: Electrical Actors?

2011-06-06 Thread Casey Ransberger
Ooooh, this looks shiny. I must admit having a taste for the stochastic. 
Reading. Thank you!

Nope... drat. Clicking to request access to the document instead.

On Jun 5, 2011, at 10:00 PM, Max OrHai max.or...@gmail.com wrote:

 You might get a kick out of this toy model I made to demonstrate how a mesh 
 (or cloud) of minimal hardware actors can work together to compute. It's 
 the latest in a series of explorations of the particle / field concept...
 
 http://cs.pdx.edu/~orhai/mesh-sort
 
 I think there's a lot that can be done with fine-grained homogeneous 
 self-contained hardware in quantity, and I may get around to building a poor 
 man's Connection Machine out of a bucketful of microcontrollers one of these 
 days. The AVR is quite a capable machine for  $5 apiece!
 
 -- Max

(big snip for bandwidth)___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Re: Electrical Actors?

2011-06-06 Thread Casey Ransberger
Below:)

On Jun 5, 2011, at 11:19 PM, C. Scott Ananian csc...@laptop.org wrote:

 I explored this idea a bit once upon a time in the context of Java:
  http://cscott.net/Publications/design.pdf
 The bibliography cites most of the related work I know about.
  --scott

Reading it now -- thanks for sharing this. 

I remember feeling so fascinated when I heard people talking about JavaOS on a 
chip; while I was aware of people jamming whole operating systems into ROM, the 
idea of an OS written mostly in a high level language by itself was completely 
new to me then (I was in highschool, I had only just secured Internet access 
for the first time) and it was just so compelling... You can do that?? was 
what I remember thinking, wait, how's that work... Oh I don't even care, 
forget about this manual memory management thing then! May I have a triple tall 
mocha with no whip? And do you do those in bulk orders?

It's a shame that it took me so many years to find Smalltalk.

Sometimes I wish I could go back in time just to point myself at things. I may 
not have listened to future-me then, though, so I suppose the real lesson is to 
remember that I probably don't know anything of import even now, and that the 
best ideas I've got presently are likely to find hard judgement in my own 
eventual hindsight. 
___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Re: Electrical Actors?

2011-06-06 Thread BGB

On 6/6/2011 12:18 AM, Casey Ransberger wrote:

Below:)

On Jun 5, 2011, at 11:19 PM, C. Scott Ananiancsc...@laptop.org  wrote:


I explored this idea a bit once upon a time in the context of Java:
  http://cscott.net/Publications/design.pdf
The bibliography cites most of the related work I know about.
  --scott

Reading it now -- thanks for sharing this.

I remember feeling so fascinated when I heard people talking about JavaOS on a chip; while I was 
aware of people jamming whole operating systems into ROM, the idea of an OS written mostly in a 
high level language by itself was completely new to me then (I was in highschool, I had only just 
secured Internet access for the first time) and it was just so compelling... You can do 
that?? was what I remember thinking, wait, how's that work... Oh I don't even care, 
forget about this manual memory management thing then! May I have a triple tall mocha with no whip? 
And do you do those in bulk orders?


oh yeah...

I remember something about this (I was either in middle or highschool at 
the time, I forget...).


however, at the time, my motivation was mostly killed by me trying to 
use the language:
oh... grr... using this language sucks... mostly I remember it being an 
issue about it being very painful to use, and also *absurdly* slow vs 
what I could do in C...


so, I stuck with C, which was the main language I was using at the time.

I think I remember originally hearing about Java when I was still in 
elementary school (long ago... back in the 90s...).




It's a shame that it took me so many years to find Smalltalk.

Sometimes I wish I could go back in time just to point myself at things. I may 
not have listened to future-me then, though, so I suppose the real lesson is to 
remember that I probably don't know anything of import even now, and that the 
best ideas I've got presently are likely to find hard judgement in my own 
eventual hindsight.


most of my life has been me trying alternatives to C, and just being 
eventually like oh well, whatever... and sticking with C.


the most serious I ever really got with developing in non-C language was 
with Scheme.


eventually, I ended up rather burned with Scheme, as I eventually had to 
migrate back to plain C (the VM became unmaintainable), and ended up 
losing most of what code was written in or revolved around Scheme, and 
for a good while (a good number of years), I was determined to try to 
avoid recreating the situation which caused this (sadly... I am back to 
the situation once again, with a large highly-tooled codebase, with a 
lot of VM-related machinery in a fairly central role in the codebase, ...).



I also have my own language (BGBScript) which is mostly in the 
JavaScript/ActionScript family, but it is mostly used for a few tasks:
evaluating dynamically-entered expressions (entered at the console, 
similar to a REPL / Read Eval Print Loop);
for triggered eval in a 3D engine (a map event triggers evaluating an 
expression string);
high-level scripts (thus far, mostly only a few things involving 
3D-rendered cutscenes and similar);

...

however, I may consider using it for more serious activities in the 
future, if it is sufficiently proven (my current worries are mostly 
bugs/poor-performance/heap-gargbage/...).


also a lesser worry of ending up with a lot of code in a language that 
for some reason I might end up having to drop or replace later.


or such...



___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


[fonc] Re: Electrical Actors?

2011-06-06 Thread Dale Schumacher
On Sun, Jun 5, 2011 at 8:13 PM, Casey Ransberger
casey.obrie...@gmail.com wrote:
 On Jun 5, 2011, at 4:25 PM, Dale Schumacher dale.schumac...@gmail.com wrote:
 If someone has, I would sure like to hear about it!  There was the
 Apiary machine, but I don't think that was ever physically built, only
 simulated.

 Googling...


Tradeoffs in Designing a Parallel Architecture for the Apiary is a
good place to start
(http://dspace.mit.edu/handle/1721.1/41221?show=full).  It seems that
many of the related papers are not freely available.

 Maybe to deal with concurrency I should really start thinking of them as 
 actor animators.

 I'm sure there's a way to pull this off. Even if it's by having a lot of 
 FPGAs on the logic board so that I can compensate for reconfiguration latency 
 by switching between them, but I don't think that idea fits any goal around a 
 parsimonious architecture, which is one thing that I'm after. The 
 synchronization problems I'd expect also seem awful, unless someone out there 
 has thought a bunch about doing a low-level TeaTime (or what have you.)

Actually, I think the parsimony principle is pretty well supported by
low-level actors.  I've built several actor run-time environments in
software.  The low-level machinery is quite small and simple.  Its
primary responsibilities are memory management and message dispatch.
CREATE is memory allocation, BECOME is assignment and SEND is
message construction (allocation) and queuing for dispatch.

The rest of Humus was implemented on this simple core
(http://www.dalnefre.com/wp/2010/08/evaluating-expressions-part-1-core-lambda-calculus/).
 The meta-circular description provides a semantic guide for direct
machine-level implementation of the language components.  Parsers and
translators can also be built from low-level actors
(http://www.dalnefre.com/wp/2011/02/parsing-expression-grammars-part-1/),
allowing expression of actor scripts in textual form.

Even the Humus simulator
(http://www.dalnefre.com/humus/sim/humus.html) is built on a very
small actor run-time core (http://www.dalnefre.com/humus/sim/actor.js)

___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


[fonc] Re: Electrical Actors?

2011-06-05 Thread Dale Schumacher
On Sun, Jun 5, 2011 at 5:23 PM, Casey Ransberger
casey.obrie...@gmail.com wrote:

 Has anyone taken the actor model down to the metal?

If someone has, I would sure like to hear about it!  There was the
Apiary machine, but I don't think that was ever physically built, only
simulated.

This is a concept that has been kicked around several times over the
last couple of years among some of my collaborators.  It is one of the
reasons why I ported the actor core runtime to the Arduino, to get a
step closer to the metal.

The SEND and BECOME primitives seem fairly straight-forward to
translate to hardware.  It is the CREATE primitive that I struggle
with.  Since we can't actually create new hardware elements, it
seems like it would have to be virtualized in some way.  Perhaps it
would be sufficient to virtualize it the same way we virtualize
processes, simulating multi-processing on a smaller number of cores.

Maybe there would be some way to activate latent nodes of processing
power, injecting them with their initial behavior as a way of
breathing life into them.  It could be just a matter of allocating
new actors the way we allocate memory.  Each hardware node could have
a capacity of available actors who only need a script to become alive.

I would love to explore this idea further and hear how you would
consider approaching the problem.

___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Re: Electrical Actors?

2011-06-05 Thread Max OrHai
You might get a kick out of this toy model I made to demonstrate how a mesh
(or cloud) of minimal hardware actors can work together to compute. It's
the latest in a series of explorations of the particle / field concept...

http://cs.pdx.edu/~orhai/mesh-sort

I think there's a lot that can be done with fine-grained homogeneous
self-contained hardware in quantity, and I may get around to building a
poor man's Connection Machine out of a bucketful of microcontrollers one
of these days. The AVR is quite a capable machine for  $5 apiece!

-- Max

On Sun, Jun 5, 2011 at 6:44 PM, David Pennell pennell.da...@gmail.comwrote:

 Note that you can create new HW in a cloud environment.


 On Sun, Jun 5, 2011 at 8:13 PM, Casey Ransberger 
 casey.obrie...@gmail.com wrote:

 Thank you for your reply, comments inline.

 On Jun 5, 2011, at 4:25 PM, Dale Schumacher dale.schumac...@gmail.com
 wrote:

  On Sun, Jun 5, 2011 at 5:23 PM, Casey Ransberger
  casey.obrie...@gmail.com wrote:
 
  Has anyone taken the actor model down to the metal?
 
  If someone has, I would sure like to hear about it!  There was the
  Apiary machine, but I don't think that was ever physically built, only
  simulated.

 Googling...

 
 (snip)

  The SEND and BECOME primitives seem fairly straight-forward to
  translate to hardware.  It is the CREATE primitive that I struggle
  with.

  Since we can't actually create new hardware elements

 (snip)

 Oh, yeah. That makes sense.

  Maybe there would be some way to activate latent nodes of processing
  power, injecting them with their initial behavior as a way of
  breathing life into them.

 I really like this idea.

  It could be just a matter of allocating
  new actors the way we allocate memory.  Each hardware node could have
  a capacity of available actors who only need a script to become alive.

 This is not far off from what I was already daydreaming about. When I
 started I thought those guys looked like a kind of regular object animator
 that would light up when something was bound. I'd likely have to cache the
 ones that didn't fit on the chip somewhere.

 Maybe to deal with concurrency I should really start thinking of them as
 actor animators.

 I'm sure there's a way to pull this off. Even if it's by having a lot of
 FPGAs on the logic board so that I can compensate for reconfiguration
 latency by switching between them, but I don't think that idea fits any goal
 around a parsimonious architecture, which is one thing that I'm after. The
 synchronization problems I'd expect also seem awful, unless someone out
 there has thought a bunch about doing a low-level TeaTime (or what have
 you.)

 So I'm really hoping I can find a general thing that I can just place
 many identical copies of in the die or whatever it is we use now... ahem.
 I am such a noob! And then just swap them out to main memory or a local
 cache when I run out.

  I would love to explore this idea further and hear how you would
  consider approaching the problem.

 I will definitely CC you if I think I've gotten somewhere with it. Feel
 free to send me a note if you have any big aha-moments, because I have a
 tiny slab of time to run at that fence before I'm going to have to get back
 to work, and any/all help that I can get will be much appreciated.

 If I made it, I'd likely build a couple of boxes and try to pass them off
 as art (like what one buys for the wall,) but my plan is to make everything
 you need (IP cores appears to be the term of industry) to do it yourself
 available under the MIT license if and when I've made some actual progress.

 I reckon I have a better shot at getting to actually use it if I just
 give it away!
 ___
 fonc mailing list
 fonc@vpri.org
 http://vpri.org/mailman/listinfo/fonc




 ___
 fonc mailing list
 fonc@vpri.org
 http://vpri.org/mailman/listinfo/fonc


___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc