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

Поділитися
Вставка
  • Опубліковано 25 сер 2024

КОМЕНТАРІ • 74

  • @TomaszWota
    @TomaszWota 8 років тому +107

    This is gold.

  • @LewisCampbellTech
    @LewisCampbellTech Рік тому +11

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

  • @user-dd6zz8vq7b
    @user-dd6zz8vq7b 7 років тому +51

    This format of question-answer between experts is so useful

  • @sLiv256
    @sLiv256 2 роки тому +2

    This is the best video on actor model in the universe

  • @augustinmouchot7358
    @augustinmouchot7358 9 років тому +19

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

  • @robertcannon3190
    @robertcannon3190 Рік тому +5

    RIP Carl Hewitt

  • @TheSlimshader
    @TheSlimshader 4 роки тому +6

    "we all have a future" I miss simpler times

    • @ximono
      @ximono Рік тому

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

  • @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.

  • @austinejei
    @austinejei 5 років тому +17

    "i meant Bing" looool

  • @slavsquatch7
    @slavsquatch7 3 роки тому +2

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

  • @vtr8427
    @vtr8427 Рік тому +2

    RIP

  • @AlesNajmann
    @AlesNajmann 5 років тому +2

    couple of years later... still gold!

  • @borncrusader
    @borncrusader 9 років тому +4

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

  • @SteeleDynamics
    @SteeleDynamics 2 роки тому +1

    Thanks for the video! Great conversation!

  • @FourWheelMotion
    @FourWheelMotion 8 років тому +1

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

  • @hepin1989
    @hepin1989 2 роки тому +1

    thanks for this

  • @linz4213
    @linz4213 5 місяців тому

    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)

  • @edenasharpie
    @edenasharpie Рік тому +1

    oh my, i still wanted to know more 8|

  • @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.

  • @shibu1000
    @shibu1000 7 років тому +9

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

  • @comprehend-ug3st
    @comprehend-ug3st Рік тому

    great video indeed

  • @VulpisLarvalis
    @VulpisLarvalis 7 років тому +5

    Mind blown

  • @PamirTea
    @PamirTea 9 років тому +7

    Dope shirt.

    • @god5535
      @god5535 3 роки тому

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

  • @emmanuelbakare7311
    @emmanuelbakare7311 4 роки тому +2

    Great content

  • @mwgkgk
    @mwgkgk 7 років тому +2

    Very accessible!

  • @danilomenoli
    @danilomenoli Місяць тому

    I find funny all his talks and papers never mention Erlang which is the greatest actor implementation in the world.

  • @yenwel8541
    @yenwel8541 5 років тому +1

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

  • @ManyouRisms
    @ManyouRisms 4 роки тому +7

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

  • @erionomeri007
    @erionomeri007 Рік тому

    Great info thanks!

  • @ikinci4473
    @ikinci4473 2 роки тому

    Thanks.

  • @jamescoppe
    @jamescoppe Рік тому

    Nice

  • @taggosaurus
    @taggosaurus 9 місяців тому

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

  • @ProgrammerinToronto
    @ProgrammerinToronto 3 роки тому

    Heroes!!!

  • @innerpeace5763
    @innerpeace5763 8 років тому +3

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

  • @v.baranov450
    @v.baranov450 9 місяців тому

    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?

  • @TimScarfe
    @TimScarfe 7 років тому +1

    Great video very enjoyable

  • @mishamovdivar
    @mishamovdivar 3 роки тому

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

  • @StephenPaulKing
    @StephenPaulKing 10 років тому +1

    Has anyone implemented the Actor Model using Fraglets?

  • @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.

  • @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 11 місяців тому +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 10 місяців тому

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

  • @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 10 місяців тому

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

  • @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

  • @TheVincent0268
    @TheVincent0268 6 місяців тому

    ik snap er nog steeds geen reet van

  • @driziiD
    @driziiD 3 роки тому +1

    sepuku chickens

  • @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 9 років тому +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