<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, May 3, 2020 at 2:59 AM Robert <<a href="mailto:robert.withers@pm.me">robert.withers@pm.me</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>
    <p>Hi Clément,</p>
    <div>On 5/2/20 2:47 PM, Clément Béra wrote:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">
        <div dir="ltr"><br>
        </div>
        <br>
        <div class="gmail_quote">
          <div dir="ltr" class="gmail_attr">On Sat, May 2, 2020 at 8:06
            PM Robert <<a href="mailto:robert.withers@pm.me" target="_blank">robert.withers@pm.me</a>> wrote:<br>
          </div>
          <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
            <div>
              <p><br>
              </p>
              <div>On 5/1/20 2:59 PM, Clément Béra wrote:<br>
              </div>
              <blockquote type="cite">
                <div dir="ltr">The Hydra VM from Igor was doing exactly
                  that.</div>
              </blockquote>
              Stellar! Could we reintegrate with the latest
              squeak.cog.spur?<br>
            </div>
          </blockquote>
          <div><br>
          </div>
          <div>Hydra was a fork of the pre-stack VM. I don't know where
            is the code. Igor may be able to answer. Ask him.</div>
        </div>
      </div>
    </blockquote>
    <p>Do you have Igor's email? I will ask.</p></div></blockquote><div><a href="mailto:siguctua@gmail.com">siguctua@gmail.com</a> <br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>
    <p><br>
    </p>
    <blockquote type="cite">
      <div dir="ltr">
        <div class="gmail_quote">
          <div>As Tim said, it's not clear there is a high benefit from
            running many image on 1 VM vs multiple images, each on their
            VM. One advantage could be the speed of communication
            between the images. However, it's possible to have a byte
            array on a Posix Shared Memory section (Pavel had made some
            FFI bindings to do that) that is shared between multiple
            images. I'm sure with a clever design one could share more
            than just a byte array. With a shared memory section and
            external semaphores, it's not clear there are good use-cases
            that would require multiple images on 1 VM. <br>
          </div>
        </div>
      </div>
    </blockquote>
    I see your and Tim's point here. When asked I have always reported
    that the way to take advantage of multiple cores is to run multiple
    images on their own VM. The realm of actor mobility I have not
    worked on. <br>
    <br>
    <p>Actor Mobility: I think it works just like a eukaryotic cell.
      with proteins produced through the ribosome and ER, then packaged
      for delivery with a network motif, and sent through the Golgi
      Apparatus to be delivered then unpackaged. Normally an Actor is
      not passByCopy, but a remoteERef is sent abroad. To convert a
      passByReference object into a passByCopy, serialize it into bytes
      and wrap it in a package, which is passByCopy. Send it forth,
      unpackaged remotely, it becomes a passByReference Actor again. Use
      this to communicate between VM/image/Vat/eventLoop.</p>
    <p><br>
    </p>
    <blockquote type="cite">
      <div dir="ltr">
        <div class="gmail_quote">
          <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
            <div>
              <blockquote type="cite">
                <div dir="ltr">
                  <div>The Actor model in Newspeak is also somewhat
                    similar to that, though part of the image is shared
                    between threads.<br>
                  </div>
                </div>
              </blockquote>
              <p>I believe the Newspeak Actors are implemented with
                local capabilities, from ELib, just as my
                CapabilitiesLocal package. DoIt:</p>
              <blockquote>
                <p>Installer ss project: 'Cryptography'; install:
                  'CapabilitiesLocal'. </p>
              </blockquote>
              <p>works. Both implement a ELib Promise system with async
                resolution and resolved promise reactor invocation.</p>
              <p>Would you be able to say a few words about their use of
                shared memory, please? As well, what could you mention
                about their use of promises, regarding Ease of use,
                understandable code, tips & tricks with promises?<br>
              </p>
            </div>
          </blockquote>
          <div><br>
          </div>
          <div>I think Ryan could answer in a better way.</div>
        </div>
      </div>
    </blockquote>
    <p>Did you mean to copy Ryan? I would definitely like to hear of
      NewSpeak in this regard.</p></div></blockquote><div><br></div><div>Ask him directly. He will answer better.  </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>
    <p><br>
    </p>
    <blockquote type="cite">
      <div dir="ltr">
        <div class="gmail_quote">
          <div>My understand is that NewSpeak have value objects, which
            are immutable, and such objects can be shared between
            actors, including classes, methods and so on. </div>
          <div>Not sure about promise. Ryan, can you answer?</div>
        </div>
      </div>
    </blockquote>
    <p>Value objects are immutable, thus sharable. Hmmm. Thinks about
      that.</p>
    <p>K, r<br>
    </p>
    <p><br>
    </p>
    <blockquote type="cite">
      <div dir="ltr">
        <div class="gmail_quote">
          <div><br>
          </div>
          <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
            <div>
              <p> </p>
              <p>K, r<br>
              </p>
              <blockquote type="cite">
                <div dir="ltr">
                  <div>
                    <div><br>
                    </div>
                    <div>Not sure what is the status of these projects
                      though.</div>
                  </div>
                </div>
                <br>
                <div class="gmail_quote">
                  <div dir="ltr" class="gmail_attr">On Wed, Apr 29, 2020
                    at 8:43 PM Robert <<a href="mailto:robert.withers@pm.me" target="_blank">robert.withers@pm.me</a>>
                    wrote:<br>
                  </div>
                  <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> 
                    <div>I have not read about this anywhere I can
                      remember. Would it be possible to run two images
                      on one VM?</div>
                    <div><br>
                    </div>
                    Preggo,<br>
                    <div>Robertotini</div>
                    <div><br>
                    </div>
                    <div id="gmail-m_8963528571173531804gmail-m_3799447617685750289gmail-m_-7738423786012633942protonmail_mobile_signature_block">
                      <div>Sent from ProtonMail Mobile</div>
                    </div>
                  </blockquote>
                </div>
                <br clear="all">
                <div><br>
                </div>
                -- <br>
                <div dir="ltr">
                  <div dir="ltr">
                    <div>
                      <div dir="ltr">
                        <div dir="ltr"><span style="font-size:12.8px">Clément
                            Béra<br>
                          </span><span style="color:rgb(0,0,238)"><a href="https://clementbera.github.io/" target="_blank">https://clementbera.github.io/</a></span>
                          <div style="font-size:12.8px"><a href="https://clementbera.wordpress.com/" target="_blank">https://clementbera.wordpress.com/</a></div>
                        </div>
                      </div>
                    </div>
                  </div>
                </div>
              </blockquote>
              <pre cols="72">--
Kindly,
Robert</pre>
            </div>
          </blockquote>
        </div>
        <br clear="all">
        <div><br>
        </div>
        -- <br>
        <div dir="ltr">
          <div dir="ltr">
            <div>
              <div dir="ltr">
                <div dir="ltr"><span style="font-size:12.8px">Clément
                    Béra<br>
                  </span><span style="color:rgb(0,0,238)"><a href="https://clementbera.github.io/" target="_blank">https://clementbera.github.io/</a></span>
                  <div style="font-size:12.8px"><a href="https://clementbera.wordpress.com/" target="_blank">https://clementbera.wordpress.com/</a></div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <pre cols="72">-- 
Kindly,
Robert</pre>
  

</div></blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><span style="font-size:12.8px">Clément Béra<br></span><span style="color:rgb(0,0,238)"><a href="https://clementbera.github.io/" target="_blank">https://clementbera.github.io/</a></span><div style="font-size:12.8px"><a href="https://clementbera.wordpress.com/" target="_blank">https://clementbera.wordpress.com/</a></div></div></div></div></div></div></div>