Re: [fonc] Re: Electrical Actors?
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?
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?
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?
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?
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?
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?
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