Hewitt, Meijer and Szyperski: The Actor Model (everything you wanted to know...)

Поделиться
HTML-код
  • Опубликовано: 25 июн 2024
  • Cross posted from channel9.msdn.com/Shows/Going+....
    At Lang.NEXT 2012, several conversations happened in the "social room", which was right next to the room where sessions took place. Our dear friend, Erik Meijer, led many interesting conversations, some of which we are fortunate enough to have caught on camera for C9. We'll begin with these Expert to Expert episodes with a "standing" conversation (participants stand comfortably close to the whiteboard) with computer scientists Carl Hewitt, Visiting Professor at Stanford University, creator of the Planner programming language, inventor of the Actor Model (the topic of this conversation), Clemens Szyperski, an MSR scientist working in the Connected Systems Group and Erik.
    What are actors, exactly? No, really. What are they? When is an actor an actor? Everything you wanted to know about actors, but we're afraid to ask... It's all right here. Big thanks to Carl, Clemens and Erik. This is an excellent E2E(2E)!
  • НаукаНаука

Комментарии • 73

  • @LewisCampbellTech
    @LewisCampbellTech 10 месяцев назад +10

    RIP Carl Hewitt. One of the great pioneers of our field.

  • @TomaszWota
    @TomaszWota 8 лет назад +107

    This is gold.

  • @user-dd6zz8vq7b
    @user-dd6zz8vq7b 7 лет назад +51

    This format of question-answer between experts is so useful

  • @robertcannon3190
    @robertcannon3190 Год назад +4

    RIP Carl Hewitt

  • @austinejei
    @austinejei 5 лет назад +17

    "i meant Bing" looool

  • @vtr8427
    @vtr8427 Год назад +2

    RIP

  • @sLiv256
    @sLiv256 2 года назад +2

    This is the best video on actor model in the universe

  • @FourWheelMotion
    @FourWheelMotion 8 лет назад +1

    A good intro to Actors, its relationship with other model, and possible future concern.

  • @SteeleDynamics
    @SteeleDynamics 2 года назад +1

    Thanks for the video! Great conversation!

  • @borncrusader
    @borncrusader 8 лет назад +4

    Nice talk! Thanks. And I'm really surprised about the amazing audio quality too.

  • @TheSlimshader
    @TheSlimshader 3 года назад +6

    "we all have a future" I miss simpler times

    • @ximono
      @ximono Год назад

      We all do. Whether it's a good one is another question.

  • @augustinmouchot7358
    @augustinmouchot7358 9 лет назад +19

    39:30 "... we don't know much, and some of it's wrong." Thanks for the upload.

  • @AlesNajmann
    @AlesNajmann 5 лет назад +2

    couple of years later... still gold!

  • @slavsquatch7
    @slavsquatch7 2 года назад +2

    This guy sounds a little like David Lynch and I love it.

  • @linz4213
    @linz4213 3 месяца назад

    20+ times watch this, every time I got some new insight, this time is I'm more curious about the address part of the Actor model, it's the key to make it a really useful like Zenoh's key expression, a global dynamic name space, instead of more static integer based IP like address

  • @MrSuperrussianboy
    @MrSuperrussianboy Год назад +2

    RIP Hewitt (2022)

  • @VulpisLarvalis
    @VulpisLarvalis 7 лет назад +5

    Mind blown

  • @hepin1989
    @hepin1989 2 года назад +1

    thanks for this

  • @yenwel8541
    @yenwel8541 5 лет назад +1

    I've been waiting so long to see the answers in this video dammit. great video

  • @emmanuelbakare7311
    @emmanuelbakare7311 4 года назад +2

    Great content

  • @mwgkgk
    @mwgkgk 7 лет назад +2

    Very accessible!

  • @comprehend-ug3st
    @comprehend-ug3st Год назад

    great video indeed

  • @NarendraPathai
    @NarendraPathai 10 лет назад +7

    Great explanation for difference between non-determinism and in-determinism!!!

    • @RatneshEVAREEMA
      @RatneshEVAREEMA 8 лет назад

      Could you please explain me how Future avoid deadlock?

    • @JaksaVuckovic
      @JaksaVuckovic 8 лет назад +4

      +Ratnesh Srivastava Probably that line was out of place, there was no deadlock in that "recursive" scenario. It was just a possible infinite loop. In general to avoid deadlock with actors, the trick is in giving up global consistency. Say I have an actor A for a bank account 1 and an actor B for account 10002. Both customers want to transfer money to each other. Customer 1 sends a message to actor A to remove $5 from itself and the instruction to tell B to add $5 to itself. Customer 2 sends a message to B to remove $7 from itself and to tell A to add $7 from itself. As you can see, there can be no deadlocks here, but the system goes through globally inconsistent states and it may get stuck in one of them if there is a message loss.

  • @TimScarfe
    @TimScarfe 6 лет назад +1

    Great video very enjoyable

  • @erionomeri007
    @erionomeri007 Год назад

    Great info thanks!

  • @edenasharpie
    @edenasharpie Год назад +1

    oh my, i still wanted to know more 8|

  • @ProgrammerinToronto
    @ProgrammerinToronto 3 года назад

    Heroes!!!

  • @laughingvampire7555
    @laughingvampire7555 2 года назад +2

    amazing talk however Hewitt makes an error while interpreting lambda calculus, he adds time when there is no time in lambda calculus, expression rewrite isn't time.

  • @ikinci4473
    @ikinci4473 2 года назад

    Thanks.

  • @PamirTea
    @PamirTea 8 лет назад +7

    Dope shirt.

    • @god5535
      @god5535 3 года назад

      acid wash + logic ... two of my favorite things

  • @jamescoppe
    @jamescoppe Год назад

    Nice

  • @shibu1000
    @shibu1000 7 лет назад +9

    Nice video, explained really well. Makes me wonder am I wasting my time not being academics.

  • @innerpeace5763
    @innerpeace5763 7 лет назад +3

    Great conversation :) Nice stand up idea. EazyPeezyJapaaneezy :D

  • @StephenPaulKing
    @StephenPaulKing 10 лет назад +1

    Has anyone implemented the Actor Model using Fraglets?

  • @ManyouRisms
    @ManyouRisms 4 года назад +7

    I feel like the camera is being operated from the sun via a joystick. Great video though.

  • @v.baranov450
    @v.baranov450 7 месяцев назад

    Can someone explain 37:25? Does the actor use it's own balance when passing balance + deposit to another actor, or it'll be bould to the receiving actor's balance? Also it seems to me that the actor holds immutable data (balance in this case), but is it required for the actor model to work?

  • @mishamovdivar
    @mishamovdivar 3 года назад

    The guy in the background when they say "we'll suck!"

  • @ximono
    @ximono Год назад

    At 37:40, Hewitt says it's not an event loop ("another way to misunderstand things"). How so? I thought an event loop would be a very suitable choice when implementing an actor system. I'm curious to know why that wouldn't be.
    Great video, by the way! Thanks for recording and sharing this with the world.

    • @LusidDreaming
      @LusidDreaming 8 месяцев назад +2

      Actors are more like fibers (lightweight/green threads) and should be thought of as running in parallel (even if they are not in reality). An event loop is a single threaded model, where you have many concurrent operations yielding to each other, but all being scheduled by a single thread and thus never run in parallel. This is how a system like node.js gets away with no locks, because every line of code is inherently atomic (since the thread will finish that line of code before switching to another process).
      Now, if you consider the actor model on a single OS thread, it becomes like an event loop. But it should not be modeled as such, or else it would not be portable to many threads (and cores for actual parallel processing).
      In general, the power of the actor model is the ability to run on N cores, where N is the total number of actors. In other words, if you correctly implement an actor system, in theory you could horizontally scale to the point that each actor is essentially its own computer. In practice, there are usually different semantics for remote actors vs local actors as abstracting that away can cause many foot guns, but distributing an actor system is still much less work than distributing something that was originally designed in the event loop model, since that system would make assumptions about atomicity that would no longer be true.

    • @ximono
      @ximono 8 месяцев назад

      @@LusidDreaming That makes sense. Thanks for the great answer!

  • @taggosaurus
    @taggosaurus 7 месяцев назад

    Nobody is talking about how he made the list 0 indexed at 1:30

  • @cgdogan
    @cgdogan 6 лет назад +3

    Nice chat. But I get confused at some point; is the future the only way of getting a response? If so, and if it is undetermined when to execute and get a response how can a modern world's request/response messaging infrastructures, such as http, ftp, etc., can be implemented on top of actor model if the requester triggering the future is not a system but a human-being? Cause humans are impatient creatures that require a response immediately, such as when somebody presses the play button on youtube's player, he/she can not wait for the system to play that content at any point in time, he/she requires a response for that action immediately. At least he/she waits for a response for awhile and requires to get a timeout response. What about timeouts and exceptions?

    • @corey4448
      @corey4448 2 года назад +1

      Is there's problems with getting just a raw response in most cases, and future if it is needed? He doesn't say that future is the only way, but it could be the way when it's hard computation or something time consuming enough.

    • @ximono
      @ximono Год назад

      Also, a future can resolve relatively quickly as well, although having some overhead. Like any tool, it should be used appropriately though.

  • @samuelvidal3437
    @samuelvidal3437 7 лет назад

    Petri Net is very well physically realisable. It describe chemical reaction systems

    • @rebase
      @rebase 7 лет назад

      Samuel Vidal no, that's a Petri dish

  • @IanKjos
    @IanKjos Год назад

    In Godel's defense, Turing machines don't have IRQs.

  • @cnkumar20
    @cnkumar20 Год назад

    Actors can create , I would ask In distributed sytemsneed to be specfic if an actor can destroy an actor or not and be in assumption that it can destroy just because it created period , how is it managed. great realistic brainstorm though.

    • @ximono
      @ximono Год назад

      AFAIK, it can only ask an actor to destroy itself. But don't quote me on that. It probably differs between implementations too.

    • @kevinmcfarlane2752
      @kevinmcfarlane2752 8 месяцев назад

      Petabridge has some excellent documentation on Actors and how they interact. Recommended.

  • @driziiD
    @driziiD 3 года назад +1

    sepuku chickens

  • @TheVincent0268
    @TheVincent0268 4 месяца назад

    ik snap er nog steeds geen reet van

  • @Blace007
    @Blace007 9 лет назад +5

    38:46 well here we see something that recently has changed. we now have the possibility of global consistency enabled by the invention of the blockchain

    • @sojufresh
      @sojufresh 6 лет назад +11

      but even blockchain would not have global consensus if some nodes were totally isolated from other nodes. It would have local arbitration as said later on in the video.

    • @ximono
      @ximono Год назад +1

      Or eventual consistency with CRDTs. I like the idea of coupling Actor Model and CRDT.

  • @no_more_free_nicks
    @no_more_free_nicks 8 лет назад +1

    Can I donate you a nicer T-shirt?

  • @EmanueleDiSaverio
    @EmanueleDiSaverio 10 лет назад +5

    uhm ... doesn't sound like a ... sound theory.
    Lots of stuff ... lots of "in practice"... bah

  • @michaelkohlhaas4427
    @michaelkohlhaas4427 3 года назад

    *As if these clowns would know anything!*

    • @canelonism
      @canelonism 2 года назад

      bold

    • @canelonism
      @canelonism 2 года назад

      lol

    • @ngc248
      @ngc248 Год назад +1

      @michaelkohlhaas4427 oh clown king ... plz enlighten us

  • @sidekick3rida
    @sidekick3rida Год назад +2

    RIP