Enviar pesquisa
Carregar
The design and implementation of a scalable concurrent virtual machine (Robert Virding)
•
1 gostou
•
243 visualizações
Ontico
Seguir
Tecnologia
Notícias e política
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 24
Baixar agora
Baixar para ler offline
Recomendados
The design and implementation of a scalable concurrent virtual machine (Rober...
The design and implementation of a scalable concurrent virtual machine (Rober...
Ontico
Демонстрируем результаты заказчику: How to и how to not (Евгения Фирсова)
Демонстрируем результаты заказчику: How to и how to not (Евгения Фирсова)
Ontico
Сергей Рыжиков, Александр Сербул (1С-Битрикс)
Сергей Рыжиков, Александр Сербул (1С-Битрикс)
Ontico
Erlang
Erlang
Ontico
Модификация алгоритма кластеризации Fris Cluster для работы с большими данными
Модификация алгоритма кластеризации Fris Cluster для работы с большими данными
Chargered
Clusters With Glusterfs
Clusters With Glusterfs
Ontico
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
Ontico
Artisto: опыт запуска нейросетей в production / Эдуард Тянтов (Mail.ru Group)
Artisto: опыт запуска нейросетей в production / Эдуард Тянтов (Mail.ru Group)
Ontico
Mais conteúdo relacionado
Semelhante a The design and implementation of a scalable concurrent virtual machine (Robert Virding)
Erlang os
Erlang os
Pinche12345
A sip of Elixir
A sip of Elixir
Emanuele DelBono
Embedded erlang-fscons-2010
Embedded erlang-fscons-2010
FSCONS
Thinking in a Highly Concurrent, Mostly-functional Language - Cesarini
Thinking in a Highly Concurrent, Mostly-functional Language - Cesarini
Codemotion
Erlang workshopdrammen
Erlang workshopdrammen
Reidar Sollid
Deluxe techperl
Deluxe techperl
Martin Houston
Running Tensorflow In Production: Challenges and Solutions on YARN 3.x
Running Tensorflow In Production: Challenges and Solutions on YARN 3.x
Wangda Tan
OSAC16: Unikernel-powered Transient Microservices: Changing the Face of Softw...
OSAC16: Unikernel-powered Transient Microservices: Changing the Face of Softw...
Russell Pavlicek
"erlang, webmail and hibari" at Rakuten tech talk
"erlang, webmail and hibari" at Rakuten tech talk
CLOUDIAN KK
Openerp Rise Web
Openerp Rise Web
David Janssens
The dream BEAM - A former DevOps perspective
The dream BEAM - A former DevOps perspective
Jeffrey Chan
Real World Elixir Deployment
Real World Elixir Deployment
Pete Gamache
Repeating History...On Purpose...with Elixir
Repeating History...On Purpose...with Elixir
Barry Jones
Erlang and Scalability
Erlang and Scalability
Jan Henry Nystrom
Building the ideal betting stack | London Erlang User Group presentation
Building the ideal betting stack | London Erlang User Group presentation
Erlang Solutions
Papyrus for real-time embedded
Papyrus for real-time embedded
Charles Rivet
EMC Unified Analytics Platform. Gintaras Pelenis
EMC Unified Analytics Platform. Gintaras Pelenis
Lietuvos kompiuterininkų sąjunga
Redefine Big Data
Redefine Big Data
DataWorks Summit
The Openflow Soft Switch
The Openflow Soft Switch
Krzysztof Rutka
MPI, Erlang and the web
MPI, Erlang and the web
Lenz Gschwendtner
Semelhante a The design and implementation of a scalable concurrent virtual machine (Robert Virding)
(20)
Erlang os
Erlang os
A sip of Elixir
A sip of Elixir
Embedded erlang-fscons-2010
Embedded erlang-fscons-2010
Thinking in a Highly Concurrent, Mostly-functional Language - Cesarini
Thinking in a Highly Concurrent, Mostly-functional Language - Cesarini
Erlang workshopdrammen
Erlang workshopdrammen
Deluxe techperl
Deluxe techperl
Running Tensorflow In Production: Challenges and Solutions on YARN 3.x
Running Tensorflow In Production: Challenges and Solutions on YARN 3.x
OSAC16: Unikernel-powered Transient Microservices: Changing the Face of Softw...
OSAC16: Unikernel-powered Transient Microservices: Changing the Face of Softw...
"erlang, webmail and hibari" at Rakuten tech talk
"erlang, webmail and hibari" at Rakuten tech talk
Openerp Rise Web
Openerp Rise Web
The dream BEAM - A former DevOps perspective
The dream BEAM - A former DevOps perspective
Real World Elixir Deployment
Real World Elixir Deployment
Repeating History...On Purpose...with Elixir
Repeating History...On Purpose...with Elixir
Erlang and Scalability
Erlang and Scalability
Building the ideal betting stack | London Erlang User Group presentation
Building the ideal betting stack | London Erlang User Group presentation
Papyrus for real-time embedded
Papyrus for real-time embedded
EMC Unified Analytics Platform. Gintaras Pelenis
EMC Unified Analytics Platform. Gintaras Pelenis
Redefine Big Data
Redefine Big Data
The Openflow Soft Switch
The Openflow Soft Switch
MPI, Erlang and the web
MPI, Erlang and the web
Mais de Ontico
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
Ontico
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Ontico
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Ontico
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Ontico
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Ontico
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
Ontico
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Ontico
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Ontico
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
Ontico
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
Ontico
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Ontico
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Ontico
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Ontico
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Ontico
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
Ontico
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Ontico
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Ontico
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
Ontico
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Ontico
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Ontico
Mais de Ontico
(20)
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Último
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
SkyPlanner
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Aijun Zhang
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
Brian Pichman
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UbiTrack UK
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IES VE
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Will Schroeder
20150722 - AGV
20150722 - AGV
Jamie (Taka) Wang
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
Mahmoud Rabie
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
Seth Reyes
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
Christian Posta
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
bruanjhuli
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
Asko Soukka
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
Liveplex
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
Jamie (Taka) Wang
201610817 - edge part1
201610817 - edge part1
Jamie (Taka) Wang
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
shyamraj55
Designing A Time bound resource download URL
Designing A Time bound resource download URL
Runcy Oommen
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Commit University
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
Matsuo Lab
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
IES VE
Último
(20)
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
20150722 - AGV
20150722 - AGV
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
201610817 - edge part1
201610817 - edge part1
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Designing A Time bound resource download URL
Designing A Time bound resource download URL
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
The design and implementation of a scalable concurrent virtual machine (Robert Virding)
1.
Robert Virding
Principle Language Expert at Erlang Solutions Ltd. Erlang Solutions Ltd. The Design and Implementation of a Scalable, Concurrent Virtual Machine © 1999-2011 Erlang Solutions Ltd.
2.
Erlang Solutions Ltd. •
The one stop shop for all your Erlang needs • Founded in 1999, Offices in UK, Sweden and Poland • Clients on six continents • System development experience in: - Telecom, banking, e-commerce, track & trace, VOIP, etc. • We do: - In-house system development, on-site consultancy, and contracting, - Erlang-based recruitment and Professional training at all levels © 1999-2011 Erlang Solutions Ltd. 2
3.
Concurrency vs. Parallelism •
Parallelism is what the system provides • Concurrency is a property of the problem/ solution (as good a definition as any) © 1999-2011 Erlang Solutions Ltd. 3
4.
Erlang is COP Concurrency
Oriented Programming © 1999-2011 Erlang Solutions Ltd. 4
5.
Problem domain/Erlang properties •
Light-weight concurrency • Asynchronous message passing • Process isolation • Error handling • Complex coordination • Soft real-time • Continuous evolution of system © 1999-2011 Erlang Solutions Ltd. 5
6.
Erlang is a
functional language • Immutable data • No looping constructs • Pattern matching is ubiquitous © 1999-2011 Erlang Solutions Ltd. 6
7.
The BEAM The main
Erlang implementation Will cover: • Processes/scheduling • Memory management • Communication • Error handling (Bogdan’s Erlang Abstract Machine) © 1999-2011 Erlang Solutions Ltd. 7
8.
Processes and scheduling •
Want light-weight concurency • Must have processes (isolation) ➡Implement processes ourselves (green processes) + They are really light-weight + Complete control of scheduling - Not a general machine © 1999-2011 Erlang Solutions Ltd. 8
9.
Processes and scheduling •
One run-queue per thread • Scheduled as cooperating coroutines • Multi-core/multi-thread ➡ multi-queues - Process stealing • No really viable alternatives © 1999-2011 Erlang Solutions Ltd. 9
10.
Memory management/GC • Soft
real-time requires unobtrusive GC • Must ensure process isolation • Stop-the-world collector vs. interactive/concurrent collector - independent of parallelism © 1999-2011 Erlang Solutions Ltd. 10
11.
Memory management/GC Alternatives: • Shared
heap • Separate process heaps • Hybrid Erlang does NOT require separate heaps and message copying! © 1999-2011 Erlang Solutions Ltd. 11
12.
Memory management/GC • Shared
heap • Reduces copying of data • Complicates GC - must use incremental/concurrent collector • Less well-suited to multi-core • Complicates handling of processes © 1999-2011 Erlang Solutions Ltd. 12
13.
Memory management/GC • Separate
process heaps • Increases copying of data • Simplifies GC - can use stop-the-world per process collector • Fits well on multi-core • Scales well • Simplifies handling of processes © 1999-2011 Erlang Solutions Ltd. 13
14.
Memory management/GC • Hybrid
heaps • Reduces copying of data - messages on shared heap • May in part determined at compile-time • Complicates GC • Less well-suited on multi-core • Erlang BEAM uses very restricted hybrid heaps © 1999-2011 Erlang Solutions Ltd. 14
15.
Communication - asynchronous message
passing • Scales well • Suits multi-core - needs only limited synchronisation • Suitable as a building block © 1999-2011 Erlang Solutions Ltd. 15
16.
Erjang - Erlang
on the JVM • A real Erlang on the JVM • Will cover: • Why the JVM? • How it runs Erlang code • How it does concurrency • How it does scheduling • Memory management/GC • Miscellaneous © 1999-2011 Erlang Solutions Ltd. 16
17.
Erjang - Why
the JVM? • Wide-spread VM • Very mature VM • Improved interface between Erlang and other JVM languages • Access to libraries (Kresten wanted to learn Erlang) © 1999-2011 Erlang Solutions Ltd. 17
18.
Erjang - Running
Erlang code • Uses BEAM VM assembler code as source to generate Java - helps ensure compatibility © 1999-2011 Erlang Solutions Ltd. 18
19.
Erjang - Concurrency •
Uses Kilim to provide concurrency and message passing - ??description?? • Cooperative coroutines • Asynchronous message passing © 1999-2011 Erlang Solutions Ltd. 19
20.
Erjang - Scheduling •
One run-queue per thread • Scheduled as cooperating coroutines • Multi-core/multi-thread ➡ multi-queues © 1999-2011 Erlang Solutions Ltd. 20
21.
Erjang - Memory
management/GC • Uses standard JVM memory management/GC - shared heap - stop-the-world collector ➡Cannot guarantee soft real-time behaviour (yet) © 1999-2011 Erlang Solutions Ltd. 21
22.
Erjang - Miscellaneous •
Needs special handling for tail-call optimisation (a must for functional languages) © 1999-2011 Erlang Solutions Ltd. 22
23.
•
The Erlang User Conference brings together the best minds and names in Erlang Programming • This year, the Erlang User Conference will be held in a brand new location – the exciting, spacious building of the München Bryggeriet. • An enticing addition to the 2011 conference will be two further tracks. • We will also be holding a day of tutorials on 4 November. • In the 3 days prior to the conference, 31 October – 2 November, we will be holding an Erlang University with a selection of Erlang courses suitable for all levels of expertise. © 1999-2011 Erlang Solutions Ltd. 23
24.
Questions?
Thank you Robert Virding robert.virding@erlang-solutions.com © 1999-2011 Erlang Solutions Ltd. 24
Baixar agora