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

  Рет қаралды 122,609

jasonofthel33t

jasonofthel33t

Күн бұрын

Пікірлер: 76
@TomaszWota
@TomaszWota 9 жыл бұрын
This is gold.
@LewisCampbellTech
@LewisCampbellTech Жыл бұрын
RIP Carl Hewitt. One of the great pioneers of our field.
@kevinmcfarlane2752
@kevinmcfarlane2752 Жыл бұрын
Ah, didn't know! 😒
@user-dd6zz8vq7b
@user-dd6zz8vq7b 7 жыл бұрын
This format of question-answer between experts is so useful
@sLiv256
@sLiv256 3 жыл бұрын
This is the best video on actor model in the universe
@augustinmouchot7358
@augustinmouchot7358 9 жыл бұрын
39:30 "... we don't know much, and some of it's wrong." Thanks for the upload.
@NarendraPathai
@NarendraPathai 11 жыл бұрын
Great explanation for difference between non-determinism and in-determinism!!!
@RatneshEVAREEMA
@RatneshEVAREEMA 9 жыл бұрын
Could you please explain me how Future avoid deadlock?
@JaksaVuckovic
@JaksaVuckovic 9 жыл бұрын
+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.
@robertcannon3190
@robertcannon3190 Жыл бұрын
RIP Carl Hewitt
@faranak-cs
@faranak-cs 27 күн бұрын
Great explanation of Actor model
@borncrusader
@borncrusader 9 жыл бұрын
Nice talk! Thanks. And I'm really surprised about the amazing audio quality too.
@austinejei
@austinejei 5 жыл бұрын
"i meant Bing" looool
@TheSlimshader
@TheSlimshader 4 жыл бұрын
"we all have a future" I miss simpler times
@ximono
@ximono Жыл бұрын
We all do. Whether it's a good one is another question.
@SteeleDynamics
@SteeleDynamics 2 жыл бұрын
Thanks for the video! Great conversation!
@AlesNajmann
@AlesNajmann 5 жыл бұрын
couple of years later... still gold!
@slavsquatch7
@slavsquatch7 3 жыл бұрын
This guy sounds a little like David Lynch and I love it.
@linz4213
@linz4213 9 ай бұрын
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
@edenasharpie
@edenasharpie Жыл бұрын
oh my, i still wanted to know more 8|
@vtr8427
@vtr8427 2 жыл бұрын
RIP
@v.baranov450
@v.baranov450 Жыл бұрын
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?
@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 Жыл бұрын
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 Жыл бұрын
@@LusidDreaming That makes sense. Thanks for the great answer!
@FourWheelMotion
@FourWheelMotion 8 жыл бұрын
A good intro to Actors, its relationship with other model, and possible future concern.
@laughingvampire7555
@laughingvampire7555 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.
@hepin1989
@hepin1989 2 жыл бұрын
thanks for this
@comprehend-ug3st
@comprehend-ug3st Жыл бұрын
great video indeed
@StephenPaulKing
@StephenPaulKing 11 жыл бұрын
Has anyone implemented the Actor Model using Fraglets?
@cgdogan
@cgdogan 6 жыл бұрын
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 жыл бұрын
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.
@MrSuperrussianboy
@MrSuperrussianboy Жыл бұрын
RIP Hewitt (2022)
@lepinecode4298
@lepinecode4298 4 ай бұрын
RIP Carl Hewitt he was so funny and humble😂
@shibu1000
@shibu1000 7 жыл бұрын
Nice video, explained really well. Makes me wonder am I wasting my time not being academics.
@PamirTea
@PamirTea 9 жыл бұрын
Dope shirt.
@god5535
@god5535 4 жыл бұрын
acid wash + logic ... two of my favorite things
@yenwel8541
@yenwel8541 6 жыл бұрын
I've been waiting so long to see the answers in this video dammit. great video
@emmanuelbakare7311
@emmanuelbakare7311 5 жыл бұрын
Great content
@danilomenoli
@danilomenoli 5 ай бұрын
I find funny all his talks and papers never mention Erlang which is the greatest actor implementation in the world.
@mwgkgk
@mwgkgk 8 жыл бұрын
Very accessible!
@VulpisLarvalis
@VulpisLarvalis 8 жыл бұрын
Mind blown
@jamescoppe
@jamescoppe Жыл бұрын
Nice
@taggosaurus
@taggosaurus Жыл бұрын
Nobody is talking about how he made the list 0 indexed at 1:30
@erionomeri007
@erionomeri007 2 жыл бұрын
Great info thanks!
@ManyouRisms
@ManyouRisms 5 жыл бұрын
I feel like the camera is being operated from the sun via a joystick. Great video though.
@ryanleemartin7758
@ryanleemartin7758 4 жыл бұрын
that's 2012 for you
@ikinci4473
@ikinci4473 2 жыл бұрын
Thanks.
@TimScarfe
@TimScarfe 7 жыл бұрын
Great video very enjoyable
@mishamovdivar
@mishamovdivar 4 жыл бұрын
The guy in the background when they say "we'll suck!"
@innerpeace5763
@innerpeace5763 8 жыл бұрын
Great conversation :) Nice stand up idea. EazyPeezyJapaaneezy :D
@ProgrammerinToronto
@ProgrammerinToronto 4 жыл бұрын
Heroes!!!
@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 Жыл бұрын
Petabridge has some excellent documentation on Actors and how they interact. Recommended.
@BethKjos
@BethKjos Жыл бұрын
In Godel's defense, Turing machines don't have IRQs.
@samuelvidal3437
@samuelvidal3437 8 жыл бұрын
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 10 ай бұрын
ik snap er nog steeds geen reet van
@Blace007
@Blace007 9 жыл бұрын
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 жыл бұрын
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 Жыл бұрын
Or eventual consistency with CRDTs. I like the idea of coupling Actor Model and CRDT.
@driziiD
@driziiD 4 жыл бұрын
sepuku chickens
@no_more_free_nicks
@no_more_free_nicks 9 жыл бұрын
Can I donate you a nicer T-shirt?
@EmanueleDiSaverio
@EmanueleDiSaverio 10 жыл бұрын
uhm ... doesn't sound like a ... sound theory. Lots of stuff ... lots of "in practice"... bah
@michaelkohlhaas4427
@michaelkohlhaas4427 4 жыл бұрын
*As if these clowns would know anything!*
@canelonism
@canelonism 2 жыл бұрын
bold
@canelonism
@canelonism 2 жыл бұрын
lol
@ngc248
@ngc248 2 жыл бұрын
@michaelkohlhaas4427 oh clown king ... plz enlighten us
@sidekick3rida
@sidekick3rida Жыл бұрын
RIP
"The Mess We're In" by Joe Armstrong
45:50
Strange Loop Conference
Рет қаралды 383 М.
When you have a very capricious child 😂😘👍
00:16
Like Asiya
Рет қаралды 18 МЛН
She made herself an ear of corn from his marmalade candies🌽🌽🌽
00:38
Valja & Maxim Family
Рет қаралды 18 МЛН
REAL or FAKE? #beatbox #tiktok
01:03
BeatboxJCOP
Рет қаралды 18 МЛН
Brian Beckman: Don't fear the Monad
1:07:10
jasonofthel33t
Рет қаралды 402 М.
Actor Model Explained
4:33
Finematics
Рет қаралды 127 М.
React 2014 : Erik Meijer  - What does it mean to be Reactive?
46:39
React Conference
Рет қаралды 87 М.
Rich Hickey - The Database as a Value
56:23
jasonofthel33t
Рет қаралды 9 М.
Why Isn't Functional Programming the Norm? - Richard Feldman
46:09
Actors or Not: Async Event Architectures
54:00
InfoQ
Рет қаралды 28 М.
Functional Programming in 40 Minutes • Russ Olsen • GOTO 2018
41:35
GOTO Conferences
Рет қаралды 821 М.
Greg Young - A Decade of DDD, CQRS, Event Sourcing
48:04
Domain-Driven Design Europe
Рет қаралды 184 М.