Модель акторов для параллельных вычислений

  Рет қаралды 8,296

Timur Shemsedinov

Timur Shemsedinov

Күн бұрын

Пікірлер: 22
@korniychuk
@korniychuk 4 жыл бұрын
Тимур, Вы самый крутой, опытный и понятно-доносящий спикер/лектор и js-разработчик которого мне доводилось слушать! Примного Вам благодарен за ваши труды.
@TimurSevimli
@TimurSevimli Жыл бұрын
Спасибо вам огромное Тимур Гафарович! Тема была очень интересная и так же полезная
@Lov3Catch
@Lov3Catch 3 жыл бұрын
Да это же кладезь знаний! Спасибо Вам!
@andreymaslikov3901
@andreymaslikov3901 3 жыл бұрын
Добрый день Тимур. Спасибо вам за лекции! Тут опечатку нашел, вы указали worker.id а его нету, правильно worker.threadId, в multiThread примере в файле master.js(line:73) у вас указано actor.id === id а надо actor.threadId === id.
@Antonio-fm1sq
@Antonio-fm1sq 2 жыл бұрын
Спасибо!
@mdezh
@mdezh 2 жыл бұрын
На 36:19 хорошо было бы break добавить после перекладывания инстанса в ready - нам ведь незачем, вроде бы, просматривать остаток массива, если мы уже нашли актора с нужным pid.
@maksimsergeevich5939
@maksimsergeevich5939 2 жыл бұрын
Спасибо за лекцию! Интересный материал! Подскажите пожалуйста, что мы выигрываем используя модель акторов в приложении? Какие должны быть юзкейсы для использования модели акторов чтобы этот выбор был прагматичным? Модель достаточно сложная по сравнению с тем чтобы просто использовать асинхронные функции и промисы. А если ядер много можно просто использовать worker_threads. Также получается есть накладные расходы на копировании данных и модель акторов точно не может приносить вместе с собой высочайшую производительность. Может я не понял потому что пример использования в лекции не самый удачный? По идее мы хотели бы добиться модели параллельных вычислений без проблем которые есть в многопоточном программировании с расшаренными ресурсами - deadlocks, race conditions и тд. А пример который в лекции не особо практичен. Лучше тогда использовать worker_threads, с пулом воркеров и раскидывать задачи по ним. Или воркер_треды и есть нативная для ноды реализация акторов?) И мы по сути используя воркер_треды используем модель акторов? Вообщем повторю свой вопрос, в каком случае модель акторов может быть лучшим выбором?
@TimurShemsedinov
@TimurShemsedinov 2 жыл бұрын
Идея в однородности акторов, в том, чтобы не быть ограниченным одной машиной в распределенной системе, производительность будет не самая высокая, но за то, инстансы могут подниматься и уничтожаться миллионами, а взаимодействие между ними совершенно одинаковое, что на одной машине, что на соседней, что в другом датацентре. В идеальном мире, масштабирование, конечно, должно учитывать, как далеко находятся инстансы, в одном потоке они могут общаться через колбеки, в разных через общую память, в разных процессах - через memory mapped files, на соседней машине - через высокоскоростные интерфейсы, если в разных датацентрах, то уже по каналам связи.
@maksimsergeevich5939
@maksimsergeevich5939 2 жыл бұрын
@@TimurShemsedinovСпасибо Тимур! То-есть лучший и возможно единственный прагматичный юз кейс для акторов это распределенные системы? В работе на одной машине в них нет никакого смысла?
@TimurShemsedinov
@TimurShemsedinov 2 жыл бұрын
@@maksimsergeevich5939 Да, на одной машине только для проверки и отладки
@ИванПетров-б8в6щ
@ИванПетров-б8в6щ 3 жыл бұрын
более менее понятно до примеров с многопроцессорностью , дальше будет понятно тем кто по ноде в теме , знает её основы .
@TimurShemsedinov
@TimurShemsedinov 3 жыл бұрын
Ну это же лекция в плане не первая, до нее js, асинхронщина и нода
@ИванПетров-б8в6щ
@ИванПетров-б8в6щ 3 жыл бұрын
@@TimurShemsedinov ну да , надо наверстать )
@recycle-bin-camp
@recycle-bin-camp 3 жыл бұрын
@@TimurShemsedinov а вы откуда про такую модель акторов узнали/прочитали?
@TimurShemsedinov
@TimurShemsedinov 3 жыл бұрын
@@recycle-bin-camp в основном из статей и докладов, обсуждений проектов, когда занимаюсь консалтингом, то во многом нужно покопаться
@TimurSevimli
@TimurSevimli Жыл бұрын
@@TimurShemsedinov А в этих докладов или статьей есть ли примеры реализации или вы сами обдумываете реализацию на ноде, после того как тема становится вам известным ?))
@delimobilstories6781
@delimobilstories6781 4 жыл бұрын
Вопросик: почему вы во втором примере в функции subscribe достаем pid из message? Разве он не должен браться из process?
@mdezh
@mdezh 2 жыл бұрын
Добрый день! Досмотрел пока до 23:55. А разве в однопоточном примере не будет все время вызываться "Graceful shutdown", не зависимо от возможного зависания акторов? Таймер на "Abnormal termination', похоже, не сработает никогда.
@renatn8484
@renatn8484 4 жыл бұрын
тема интересная, но подача немного сложная. Если бы была какая-нибудь лит-ра как конспект, то воспринимать было бы проще имхо
@Mytest437
@Mytest437 4 жыл бұрын
Можно изучить Erlang. Язык полностью построенный на модели акторов. Думаю с него все это и пошло развиваться.
Асинхронные коллекторы данных
26:28
Timur Shemsedinov
Рет қаралды 4,2 М.
ТЮРЕМЩИК В БОКСЕ! #shorts
00:58
HARD_MMA
Рет қаралды 2,6 МЛН
А я думаю что за звук такой знакомый? 😂😂😂
00:15
Денис Кукояка
Рет қаралды 4,3 МЛН
If people acted like cats 🙀😹 LeoNata family #shorts
00:22
LeoNata Family
Рет қаралды 18 МЛН
🎧 Have Objects Failed? Или что не так с ООП?
1:14:04
Timur Shemsedinov
Рет қаралды 9 М.
Atomics, SharedArrayBuffer, worker_threads в Node.js
45:52
Timur Shemsedinov
Рет қаралды 10 М.
Семафоры и мьютексы в JavaScript и Node.js
1:19:06
Timur Shemsedinov
Рет қаралды 10 М.
Акторная модель
1:29:19
HWd Tech
Рет қаралды 378
Скаффолдинг для API, UI и данных
31:03
Timur Shemsedinov
Рет қаралды 5 М.
ТЮРЕМЩИК В БОКСЕ! #shorts
00:58
HARD_MMA
Рет қаралды 2,6 МЛН