What Is Async, How Does It Work, And When Should I Use It?

What Is Async,
How Does It Work,
A. Jesse Jiryu Davis


@jessejiryudavis


MongoDB
When Should I Use It?
&
Food in NYC
• Subs
• Pizza
• Omakase
Subs
Counter
⚇!
client
⚇!
sandwich!
maker
pool
☺
CPU-bound web app
Client ServerClients
• Throughput bound by computation

• No async
Pizza
5
Counter
⚇!
client
⚇!
pizza

cook
☺
oven
🍕
⚇⚇⚇
Normal web app
Client Server
• Throughput bound by memory

• Async
Backend
Database,
OAuth service,
etc.
Clients
Omakase
7
Counter
⚇!
waiter
kitchen
⚇⚇⚇!
clients
Websocket application
Client Server
sockets
Events
sockets
Clients
• Number of clients bound by memory

• Async
What’s async for?
Minimizes resources per connection.
C10K
kegel.com/c10k.html
Why is async hard to code?
BackendClient Server
request
response
store state
request
response
time
Why is async hard to code?
BackendClient Server
websocket
event
store state
register for events
event
time
Ways to store state:
Coding difficulty
Threads
Callbacks
Memoryperconnection
Ways to store state:
• Threads
• Callbacks
!
... and:
!
• Coroutines
• Greenlets
!
and so on....
So, what is async?
• Single-threaded
• I/O concurrency

• Non-blocking sockets
• epoll / kqueue
• Event loop
asyncio
• AKA “Tulip”
• Python 3.4 standard library
• Implements PEP 3156
• Standard event loop
• Coroutines
17
Layers
18
Application
Protocol
Transport
Event Loop
Selectors
asyncio {
autobahn websockets
example.py
from autobahn import (WebSocketServerProtocol,!
WebSocketServerFactory)!
example.py
clients = set()!
!
class ChatProtocol(WebSocketServerProtocol):!
def onConnect(self):!
clients.add(self)!
!
def onMessage(self, msg):!
for c in clients:!
if c is not self:!
c.sendMessage(msg)!
!
def onClose(self):!
clients.remove(self)!
example.py
How is this called?
Let’s look at this
example.py
factory = WebSocketServerFactory(!
"ws://localhost:8888")!
!
factory.protocol = ChatProtocol!
!
loop = asyncio.get_event_loop()!
asyncio.Task(!
loop.create_server(factory, '127.0.0.1', 8888))!
!
loop.run_forever()!
class BaseEventLoop(events.AbstractEventLoop):!
def create_server(!
self, protocol_factory, host, port):!
!
sock = socket.socket(...)!
sock.bind(...)!
sock.listen()!
sock.setblocking(False)!
!
fd = sock.fileno()!
self._selector.register(!
fd,!
selectors.EVENT_READ,!
(self._accept_connection, None))!
Magic
Let’s look at this
asyncio
reader, writer
asyncio
class BaseEventLoop(events.AbstractEventLoop):!
def _accept_connection(!
self, protocol_factory, sock):!
conn, addr = sock.accept()!
conn.setblocking(False)!
!
protocol = protocol_factory()!
_SelectorSocketTransport(!
self, conn, protocol)!
class _SelectorSocketTransport(_SelectorTransport):!
def __init__(self, loop, sock, protocol):!
super().__init__(loop, sock, protocol)!
self._protocol.connection_made(self)!
ChatProtocol
This was our goal
asyncio
class BaseEventLoop(events.AbstractEventLoop):!
def _accept_connection(!
self, protocol_factory, sock):!
conn, addr = sock.accept()!
conn.setblocking(False)!
!
protocol = protocol_factory()!
_SelectorSocketTransport(!
self, conn, protocol)!
But how exactly is this called?
Let’s look at this
example.py
factory = WebSocketServerFactory(!
"ws://localhost:8888")!
!
factory.protocol = ChatProtocol!
!
loop = asyncio.get_event_loop()!
asyncio.Task(!
loop.create_server(factory, '127.0.0.1', 8888))!
!
loop.run_forever()!
asyncio
magic
class BaseEventLoop(events.AbstractEventLoop):!
def run_forever(self):!
while True:!
event_list = self._selector.select()!
!
for fd, mask, data in event_list:!
reader, writer = data!
!
if reader and mask & EVENT_READ:!
self._ready.append(reader)!
!
if writer and mask & EVENT_WRITE:!
self._ready.append(writer)!
!
ntodo = len(self._ready)!
for i in range(ntodo):!
callback = self._ready.popleft()!
callback()!
accept_connection
Application asyncio’s event loop
start_server()
register(fd,!
accept_connection)
accept_connection()
run_forever()
onConnect()
Review

• asyncio uses non-blocking sockets.
!
• Event loop tracks sockets, and the
callbacks waiting for them.
!
• selectors: wait for network events.
!
• Event loop runs callbacks.
Should I Use It?
Yes:
• Slow backend
• Websockets
• Many connections
29
No:
• CPU-bound
• No async driver
• No async expertise
🍕
A. Jesse Jiryu Davis


@jessejiryudavis


MongoDB
1 of 30

Recommended

aiohttp intro by
aiohttp introaiohttp intro
aiohttp introAnton Kasyanov
1.8K views32 slides
asyncio community, one year later by
asyncio community, one year laterasyncio community, one year later
asyncio community, one year laterVictor Stinner
1.4K views25 slides
LvivPy4 - Threading vs asyncio by
LvivPy4 - Threading vs asyncioLvivPy4 - Threading vs asyncio
LvivPy4 - Threading vs asyncioRoman Rader
2.9K views8 slides
HOW TO DEAL WITH BLOCKING CODE WITHIN ASYNCIO EVENT LOOP by
HOW TO DEAL WITH BLOCKING CODE WITHIN ASYNCIO EVENT LOOPHOW TO DEAL WITH BLOCKING CODE WITHIN ASYNCIO EVENT LOOP
HOW TO DEAL WITH BLOCKING CODE WITHIN ASYNCIO EVENT LOOPMykola Novik
3.5K views22 slides
BUILDING APPS WITH ASYNCIO by
BUILDING APPS WITH ASYNCIOBUILDING APPS WITH ASYNCIO
BUILDING APPS WITH ASYNCIOMykola Novik
712 views39 slides
Ansible basics workshop by
Ansible basics workshopAnsible basics workshop
Ansible basics workshopDavid Karban
383 views12 slides

More Related Content

What's hot

Introducing Ansible by
Introducing AnsibleIntroducing Ansible
Introducing AnsibleFrancesco Pantano
949 views35 slides
Async java8 by
Async java8Async java8
Async java8Murali Pachiyappan
207 views53 slides
Ansible is the simplest way to automate. MoldCamp, 2015 by
Ansible is the simplest way to automate. MoldCamp, 2015Ansible is the simplest way to automate. MoldCamp, 2015
Ansible is the simplest way to automate. MoldCamp, 2015Alex S
4.4K views46 slides
Jenkins and ansible reference by
Jenkins and ansible referenceJenkins and ansible reference
Jenkins and ansible referencelaonap166
668 views23 slides
What's Special About Elixir by
What's Special About ElixirWhat's Special About Elixir
What's Special About ElixirNeven Rakonić
211 views27 slides
Socket.IO by
Socket.IOSocket.IO
Socket.IOArnout Kazemier
7K views42 slides

What's hot(20)

Ansible is the simplest way to automate. MoldCamp, 2015 by Alex S
Ansible is the simplest way to automate. MoldCamp, 2015Ansible is the simplest way to automate. MoldCamp, 2015
Ansible is the simplest way to automate. MoldCamp, 2015
Alex S4.4K views
Jenkins and ansible reference by laonap166
Jenkins and ansible referenceJenkins and ansible reference
Jenkins and ansible reference
laonap166668 views
Using Ansible Dynamic Inventory with Amazon EC2 by Brian Schott
Using Ansible Dynamic Inventory with Amazon EC2Using Ansible Dynamic Inventory with Amazon EC2
Using Ansible Dynamic Inventory with Amazon EC2
Brian Schott18.6K views
#OktoCampus - Workshop : An introduction to Ansible by Cédric Delgehier
#OktoCampus - Workshop : An introduction to Ansible#OktoCampus - Workshop : An introduction to Ansible
#OktoCampus - Workshop : An introduction to Ansible
Cédric Delgehier435 views
Vagrant plugin development intro by Budh Ram Gurung
Vagrant plugin development introVagrant plugin development intro
Vagrant plugin development intro
Budh Ram Gurung437 views
IT Automation with Ansible by Rayed Alrashed
IT Automation with AnsibleIT Automation with Ansible
IT Automation with Ansible
Rayed Alrashed15.7K views
A quick intro to Ansible by Dan Vaida
A quick intro to AnsibleA quick intro to Ansible
A quick intro to Ansible
Dan Vaida503 views
Nodejs Intro - Part2 Introduction to Web Applications by Budh Ram Gurung
Nodejs Intro - Part2 Introduction to Web ApplicationsNodejs Intro - Part2 Introduction to Web Applications
Nodejs Intro - Part2 Introduction to Web Applications
Budh Ram Gurung2.6K views
Ansible Introduction - Ansible Brno #1 - David Karban by ansiblebrno
Ansible Introduction - Ansible Brno #1 - David KarbanAnsible Introduction - Ansible Brno #1 - David Karban
Ansible Introduction - Ansible Brno #1 - David Karban
ansiblebrno317 views
Fabric workshop(1) - (MOSG) by Soshi Nemoto
Fabric workshop(1) - (MOSG)Fabric workshop(1) - (MOSG)
Fabric workshop(1) - (MOSG)
Soshi Nemoto533 views
Node worshop Realtime - Socket.io by Caesar Chi
Node worshop Realtime - Socket.ioNode worshop Realtime - Socket.io
Node worshop Realtime - Socket.io
Caesar Chi2.3K views
GPerf Using Jesque by ctoestreich
GPerf Using JesqueGPerf Using Jesque
GPerf Using Jesque
ctoestreich1.2K views

Viewers also liked

My job as a Programming Consultant by
My job as a Programming ConsultantMy job as a Programming Consultant
My job as a Programming Consultantchaniadevs
377 views13 slides
Informe datos del paciente criterio by
Informe datos del paciente criterioInforme datos del paciente criterio
Informe datos del paciente criterioNathalia Sanchez
287 views6 slides
IG2 Assignment Brief by
IG2 Assignment BriefIG2 Assignment Brief
IG2 Assignment Briefsophiemcavoy1
207 views5 slides
кино дасгал by
кино дасгалкино дасгал
кино дасгалpvsa_8990
903 views25 slides
Board presentation 11-11 by
Board presentation 11-11Board presentation 11-11
Board presentation 11-11Tech with Intent
1.2K views11 slides
Monday latin america by
Monday latin americaMonday latin america
Monday latin americaTravis Klein
336 views6 slides

Viewers also liked(20)

My job as a Programming Consultant by chaniadevs
My job as a Programming ConsultantMy job as a Programming Consultant
My job as a Programming Consultant
chaniadevs377 views
кино дасгал by pvsa_8990
кино дасгалкино дасгал
кино дасгал
pvsa_8990903 views
Monday latin america by Travis Klein
Monday latin americaMonday latin america
Monday latin america
Travis Klein336 views
Biynees khemjee awah by pvsa_8990
Biynees khemjee awahBiynees khemjee awah
Biynees khemjee awah
pvsa_8990301 views
Tues ind rev problems pollution by Travis Klein
Tues ind rev problems pollutionTues ind rev problems pollution
Tues ind rev problems pollution
Travis Klein277 views
Chromatography lect 2 by FLI
Chromatography lect 2Chromatography lect 2
Chromatography lect 2
FLI675 views
Creating a VMware Software-Defined Data Center Reference Architecture by EMC
Creating a VMware Software-Defined Data Center Reference Architecture Creating a VMware Software-Defined Data Center Reference Architecture
Creating a VMware Software-Defined Data Center Reference Architecture
EMC1.3K views
El cas del... oriol, oriol i nil by mgonellgomez
El cas del... oriol, oriol i nilEl cas del... oriol, oriol i nil
El cas del... oriol, oriol i nil
mgonellgomez255 views
Day 8 economic issues by Travis Klein
Day 8 economic issuesDay 8 economic issues
Day 8 economic issues
Travis Klein333 views
Occupational therapy by Laurel Blond
Occupational therapyOccupational therapy
Occupational therapy
Laurel Blond347 views
Delivering ITaaS With a Software-Defined Data Center by EMC
Delivering ITaaS With a Software-Defined Data CenterDelivering ITaaS With a Software-Defined Data Center
Delivering ITaaS With a Software-Defined Data Center
EMC1.3K views
Keeping a Marriage Healthy and Happy by Muslims4Marriage
Keeping a Marriage Healthy and HappyKeeping a Marriage Healthy and Happy
Keeping a Marriage Healthy and Happy
Muslims4Marriage390 views
Monday factors of production by Travis Klein
Monday factors of productionMonday factors of production
Monday factors of production
Travis Klein495 views
Social media-för dina studier.24feb14 by Mikael Rosell
Social media-för dina studier.24feb14Social media-för dina studier.24feb14
Social media-för dina studier.24feb14
Mikael Rosell319 views

Similar to What Is Async, How Does It Work, And When Should I Use It?

Introdution to Node.js by
Introdution to Node.jsIntrodution to Node.js
Introdution to Node.jsAriejan de Vroom
633 views30 slides
Maximize your Cache for No Cash by
Maximize your Cache for No CashMaximize your Cache for No Cash
Maximize your Cache for No CashYorick Phoenix
887 views43 slides
Palestra VCR by
Palestra VCRPalestra VCR
Palestra VCRCássio Marques
4.7K views67 slides
Building production websites with Node.js on the Microsoft stack by
Building production websites with Node.js on the Microsoft stackBuilding production websites with Node.js on the Microsoft stack
Building production websites with Node.js on the Microsoft stackCellarTracker
9.3K views36 slides
Going realtime with Socket.IO by
Going realtime with Socket.IOGoing realtime with Socket.IO
Going realtime with Socket.IOChristian Joudrey
7.6K views22 slides
"You Don't Know NODE.JS" by Hengki Mardongan Sihombing (Urbanhire) by
"You Don't Know NODE.JS" by Hengki Mardongan Sihombing (Urbanhire)"You Don't Know NODE.JS" by Hengki Mardongan Sihombing (Urbanhire)
"You Don't Know NODE.JS" by Hengki Mardongan Sihombing (Urbanhire)Tech in Asia ID
657 views84 slides

Similar to What Is Async, How Does It Work, And When Should I Use It?(20)

Maximize your Cache for No Cash by Yorick Phoenix
Maximize your Cache for No CashMaximize your Cache for No Cash
Maximize your Cache for No Cash
Yorick Phoenix887 views
Building production websites with Node.js on the Microsoft stack by CellarTracker
Building production websites with Node.js on the Microsoft stackBuilding production websites with Node.js on the Microsoft stack
Building production websites with Node.js on the Microsoft stack
CellarTracker9.3K views
"You Don't Know NODE.JS" by Hengki Mardongan Sihombing (Urbanhire) by Tech in Asia ID
"You Don't Know NODE.JS" by Hengki Mardongan Sihombing (Urbanhire)"You Don't Know NODE.JS" by Hengki Mardongan Sihombing (Urbanhire)
"You Don't Know NODE.JS" by Hengki Mardongan Sihombing (Urbanhire)
Tech in Asia ID657 views
Asynchronous Web Programming with HTML5 WebSockets and Java by James Falkner
Asynchronous Web Programming with HTML5 WebSockets and JavaAsynchronous Web Programming with HTML5 WebSockets and Java
Asynchronous Web Programming with HTML5 WebSockets and Java
James Falkner21.1K views
Intro to Asynchronous Javascript by Garrett Welson
Intro to Asynchronous JavascriptIntro to Asynchronous Javascript
Intro to Asynchronous Javascript
Garrett Welson601 views
Site Performance - From Pinto to Ferrari by Joseph Scott
Site Performance - From Pinto to FerrariSite Performance - From Pinto to Ferrari
Site Performance - From Pinto to Ferrari
Joseph Scott3.5K views
Webinar AWS 201 Delivering apps without servers by Amazon Web Services
Webinar AWS 201 Delivering apps without serversWebinar AWS 201 Delivering apps without servers
Webinar AWS 201 Delivering apps without servers
Amazon Web Services1.5K views
Original slides from Ryan Dahl's NodeJs intro talk by Aarti Parikh
Original slides from Ryan Dahl's NodeJs intro talkOriginal slides from Ryan Dahl's NodeJs intro talk
Original slides from Ryan Dahl's NodeJs intro talk
Aarti Parikh2.1K views
Nodejs and WebSockets by Gonzalo Ayuso
Nodejs and WebSocketsNodejs and WebSockets
Nodejs and WebSockets
Gonzalo Ayuso13.5K views
Vert.x – The problem of real-time data binding by Alex Derkach
Vert.x – The problem of real-time data bindingVert.x – The problem of real-time data binding
Vert.x – The problem of real-time data binding
Alex Derkach4.2K views
Towards Scalable Service Composition on Multicores by Cesare Pautasso
Towards Scalable Service Composition on MulticoresTowards Scalable Service Composition on Multicores
Towards Scalable Service Composition on Multicores
Cesare Pautasso652 views
DDDing Tools = Akka Persistence by Konrad Malawski
DDDing Tools = Akka PersistenceDDDing Tools = Akka Persistence
DDDing Tools = Akka Persistence
Konrad Malawski5.4K views
CouchDB for Web Applications - Erlang Factory London 2009 by Jason Davies
CouchDB for Web Applications - Erlang Factory London 2009CouchDB for Web Applications - Erlang Factory London 2009
CouchDB for Web Applications - Erlang Factory London 2009
Jason Davies2.2K views
An Introduction to Twisted by sdsern
An Introduction to TwistedAn Introduction to Twisted
An Introduction to Twisted
sdsern1.6K views
introduction to node.js by orkaplan
introduction to node.jsintroduction to node.js
introduction to node.js
orkaplan3.7K views
A language for the Internet: Why JavaScript and Node.js is right for Internet... by Tom Croucher
A language for the Internet: Why JavaScript and Node.js is right for Internet...A language for the Internet: Why JavaScript and Node.js is right for Internet...
A language for the Internet: Why JavaScript and Node.js is right for Internet...
Tom Croucher9.4K views

More from emptysquare

Cat-Herd's Crook by
Cat-Herd's CrookCat-Herd's Crook
Cat-Herd's Crookemptysquare
835 views39 slides
MongoDB Drivers And High Availability: Deep Dive by
MongoDB Drivers And High Availability: Deep DiveMongoDB Drivers And High Availability: Deep Dive
MongoDB Drivers And High Availability: Deep Diveemptysquare
684 views32 slides
Python Performance Profiling: The Guts And The Glory by
Python Performance Profiling: The Guts And The GloryPython Performance Profiling: The Guts And The Glory
Python Performance Profiling: The Guts And The Gloryemptysquare
3.4K views26 slides
Python Performance: Single-threaded, multi-threaded, and Gevent by
Python Performance: Single-threaded, multi-threaded, and GeventPython Performance: Single-threaded, multi-threaded, and Gevent
Python Performance: Single-threaded, multi-threaded, and Geventemptysquare
9.4K views26 slides
Python Coroutines, Present and Future by
Python Coroutines, Present and FuturePython Coroutines, Present and Future
Python Coroutines, Present and Futureemptysquare
21.8K views39 slides
PyCon lightning talk on my Toro module for Tornado by
PyCon lightning talk on my Toro module for TornadoPyCon lightning talk on my Toro module for Tornado
PyCon lightning talk on my Toro module for Tornadoemptysquare
4.5K views8 slides

More from emptysquare(7)

Cat-Herd's Crook by emptysquare
Cat-Herd's CrookCat-Herd's Crook
Cat-Herd's Crook
emptysquare835 views
MongoDB Drivers And High Availability: Deep Dive by emptysquare
MongoDB Drivers And High Availability: Deep DiveMongoDB Drivers And High Availability: Deep Dive
MongoDB Drivers And High Availability: Deep Dive
emptysquare684 views
Python Performance Profiling: The Guts And The Glory by emptysquare
Python Performance Profiling: The Guts And The GloryPython Performance Profiling: The Guts And The Glory
Python Performance Profiling: The Guts And The Glory
emptysquare3.4K views
Python Performance: Single-threaded, multi-threaded, and Gevent by emptysquare
Python Performance: Single-threaded, multi-threaded, and GeventPython Performance: Single-threaded, multi-threaded, and Gevent
Python Performance: Single-threaded, multi-threaded, and Gevent
emptysquare9.4K views
Python Coroutines, Present and Future by emptysquare
Python Coroutines, Present and FuturePython Coroutines, Present and Future
Python Coroutines, Present and Future
emptysquare21.8K views
PyCon lightning talk on my Toro module for Tornado by emptysquare
PyCon lightning talk on my Toro module for TornadoPyCon lightning talk on my Toro module for Tornado
PyCon lightning talk on my Toro module for Tornado
emptysquare4.5K views
Python, async web frameworks, and MongoDB by emptysquare
Python, async web frameworks, and MongoDBPython, async web frameworks, and MongoDB
Python, async web frameworks, and MongoDB
emptysquare7.3K views

Recently uploaded

Astera Labs: Intelligent Connectivity for Cloud and AI Infrastructure by
Astera Labs:  Intelligent Connectivity for Cloud and AI InfrastructureAstera Labs:  Intelligent Connectivity for Cloud and AI Infrastructure
Astera Labs: Intelligent Connectivity for Cloud and AI InfrastructureCXL Forum
125 views16 slides
Java Platform Approach 1.0 - Picnic Meetup by
Java Platform Approach 1.0 - Picnic MeetupJava Platform Approach 1.0 - Picnic Meetup
Java Platform Approach 1.0 - Picnic MeetupRick Ossendrijver
25 views39 slides
Future of Learning - Yap Aye Wee.pdf by
Future of Learning - Yap Aye Wee.pdfFuture of Learning - Yap Aye Wee.pdf
Future of Learning - Yap Aye Wee.pdfNUS-ISS
38 views11 slides
MemVerge: Past Present and Future of CXL by
MemVerge: Past Present and Future of CXLMemVerge: Past Present and Future of CXL
MemVerge: Past Present and Future of CXLCXL Forum
110 views26 slides
[2023] Putting the R! in R&D.pdf by
[2023] Putting the R! in R&D.pdf[2023] Putting the R! in R&D.pdf
[2023] Putting the R! in R&D.pdfEleanor McHugh
38 views127 slides
Transcript: The Details of Description Techniques tips and tangents on altern... by
Transcript: The Details of Description Techniques tips and tangents on altern...Transcript: The Details of Description Techniques tips and tangents on altern...
Transcript: The Details of Description Techniques tips and tangents on altern...BookNet Canada
119 views15 slides

Recently uploaded(20)

Astera Labs: Intelligent Connectivity for Cloud and AI Infrastructure by CXL Forum
Astera Labs:  Intelligent Connectivity for Cloud and AI InfrastructureAstera Labs:  Intelligent Connectivity for Cloud and AI Infrastructure
Astera Labs: Intelligent Connectivity for Cloud and AI Infrastructure
CXL Forum125 views
Future of Learning - Yap Aye Wee.pdf by NUS-ISS
Future of Learning - Yap Aye Wee.pdfFuture of Learning - Yap Aye Wee.pdf
Future of Learning - Yap Aye Wee.pdf
NUS-ISS38 views
MemVerge: Past Present and Future of CXL by CXL Forum
MemVerge: Past Present and Future of CXLMemVerge: Past Present and Future of CXL
MemVerge: Past Present and Future of CXL
CXL Forum110 views
[2023] Putting the R! in R&D.pdf by Eleanor McHugh
[2023] Putting the R! in R&D.pdf[2023] Putting the R! in R&D.pdf
[2023] Putting the R! in R&D.pdf
Eleanor McHugh38 views
Transcript: The Details of Description Techniques tips and tangents on altern... by BookNet Canada
Transcript: The Details of Description Techniques tips and tangents on altern...Transcript: The Details of Description Techniques tips and tangents on altern...
Transcript: The Details of Description Techniques tips and tangents on altern...
BookNet Canada119 views
"How we switched to Kanban and how it integrates with product planning", Vady... by Fwdays
"How we switched to Kanban and how it integrates with product planning", Vady..."How we switched to Kanban and how it integrates with product planning", Vady...
"How we switched to Kanban and how it integrates with product planning", Vady...
Fwdays61 views
Spesifikasi Lengkap ASUS Vivobook Go 14 by Dot Semarang
Spesifikasi Lengkap ASUS Vivobook Go 14Spesifikasi Lengkap ASUS Vivobook Go 14
Spesifikasi Lengkap ASUS Vivobook Go 14
Dot Semarang35 views
Future of Learning - Khoong Chan Meng by NUS-ISS
Future of Learning - Khoong Chan MengFuture of Learning - Khoong Chan Meng
Future of Learning - Khoong Chan Meng
NUS-ISS31 views
MemVerge: Gismo (Global IO-free Shared Memory Objects) by CXL Forum
MemVerge: Gismo (Global IO-free Shared Memory Objects)MemVerge: Gismo (Global IO-free Shared Memory Objects)
MemVerge: Gismo (Global IO-free Shared Memory Objects)
CXL Forum112 views
AMD: 4th Generation EPYC CXL Demo by CXL Forum
AMD: 4th Generation EPYC CXL DemoAMD: 4th Generation EPYC CXL Demo
AMD: 4th Generation EPYC CXL Demo
CXL Forum126 views
AI: mind, matter, meaning, metaphors, being, becoming, life values by Twain Liu 刘秋艳
AI: mind, matter, meaning, metaphors, being, becoming, life valuesAI: mind, matter, meaning, metaphors, being, becoming, life values
AI: mind, matter, meaning, metaphors, being, becoming, life values
How to reduce cold starts for Java Serverless applications in AWS at JCON Wor... by Vadym Kazulkin
How to reduce cold starts for Java Serverless applications in AWS at JCON Wor...How to reduce cold starts for Java Serverless applications in AWS at JCON Wor...
How to reduce cold starts for Java Serverless applications in AWS at JCON Wor...
Vadym Kazulkin70 views
Samsung: CMM-H Tiered Memory Solution with Built-in DRAM by CXL Forum
Samsung: CMM-H Tiered Memory Solution with Built-in DRAMSamsung: CMM-H Tiered Memory Solution with Built-in DRAM
Samsung: CMM-H Tiered Memory Solution with Built-in DRAM
CXL Forum105 views
Combining Orchestration and Choreography for a Clean Architecture by ThomasHeinrichs1
Combining Orchestration and Choreography for a Clean ArchitectureCombining Orchestration and Choreography for a Clean Architecture
Combining Orchestration and Choreography for a Clean Architecture
ThomasHeinrichs168 views
Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu... by NUS-ISS
Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu...Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu...
Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu...
NUS-ISS32 views
MemVerge: Memory Viewer Software by CXL Forum
MemVerge: Memory Viewer SoftwareMemVerge: Memory Viewer Software
MemVerge: Memory Viewer Software
CXL Forum118 views
Empathic Computing: Delivering the Potential of the Metaverse by Mark Billinghurst
Empathic Computing: Delivering  the Potential of the MetaverseEmpathic Computing: Delivering  the Potential of the Metaverse
Empathic Computing: Delivering the Potential of the Metaverse
Mark Billinghurst449 views
JCon Live 2023 - Lice coding some integration problems by Bernd Ruecker
JCon Live 2023 - Lice coding some integration problemsJCon Live 2023 - Lice coding some integration problems
JCon Live 2023 - Lice coding some integration problems
Bernd Ruecker67 views

What Is Async, How Does It Work, And When Should I Use It?