Modeling & design multi-core NUMA simulator
-
Upload
abed-maatalla -
Category
Engineering
-
view
108 -
download
2
Transcript of Modeling & design multi-core NUMA simulator
![Page 1: Modeling & design multi-core NUMA simulator](https://reader030.fdocuments.net/reader030/viewer/2022032619/55c3a52ebb61eb42338b47a6/html5/thumbnails/1.jpg)
Design & Modeling Multi-core NUMA
simulator and protocols
![Page 2: Modeling & design multi-core NUMA simulator](https://reader030.fdocuments.net/reader030/viewer/2022032619/55c3a52ebb61eb42338b47a6/html5/thumbnails/2.jpg)
Why simulator?Propose SolutionWhat is NUMA?ProblemsModeling processSimulation integrationDemo
![Page 3: Modeling & design multi-core NUMA simulator](https://reader030.fdocuments.net/reader030/viewer/2022032619/55c3a52ebb61eb42338b47a6/html5/thumbnails/3.jpg)
Why simulator?
![Page 4: Modeling & design multi-core NUMA simulator](https://reader030.fdocuments.net/reader030/viewer/2022032619/55c3a52ebb61eb42338b47a6/html5/thumbnails/4.jpg)
Propose Solution
Modeling & Design a tool that simulate Multi-core NUMA hardware and protocols
![Page 5: Modeling & design multi-core NUMA simulator](https://reader030.fdocuments.net/reader030/viewer/2022032619/55c3a52ebb61eb42338b47a6/html5/thumbnails/5.jpg)
What is NUMA?
![Page 6: Modeling & design multi-core NUMA simulator](https://reader030.fdocuments.net/reader030/viewer/2022032619/55c3a52ebb61eb42338b47a6/html5/thumbnails/6.jpg)
What is NUMA?
CPU 1
CPU 2
RAM 1
GPU 1GPU 2GPU 3
![Page 7: Modeling & design multi-core NUMA simulator](https://reader030.fdocuments.net/reader030/viewer/2022032619/55c3a52ebb61eb42338b47a6/html5/thumbnails/7.jpg)
Problems
Software problems Mapping Scheduling
Hardware problems Fixed topologies So expensive Not customable
![Page 8: Modeling & design multi-core NUMA simulator](https://reader030.fdocuments.net/reader030/viewer/2022032619/55c3a52ebb61eb42338b47a6/html5/thumbnails/8.jpg)
Modeling process
![Page 9: Modeling & design multi-core NUMA simulator](https://reader030.fdocuments.net/reader030/viewer/2022032619/55c3a52ebb61eb42338b47a6/html5/thumbnails/9.jpg)
Define basic function
Core Functions
Load()
Compute()
Store()
![Page 10: Modeling & design multi-core NUMA simulator](https://reader030.fdocuments.net/reader030/viewer/2022032619/55c3a52ebb61eb42338b47a6/html5/thumbnails/10.jpg)
Define basic function
Bank Memory Functions
Read()
Write()
![Page 11: Modeling & design multi-core NUMA simulator](https://reader030.fdocuments.net/reader030/viewer/2022032619/55c3a52ebb61eb42338b47a6/html5/thumbnails/11.jpg)
Define basic function
Inter Connection Network
Functions Receive()
Send()
![Page 12: Modeling & design multi-core NUMA simulator](https://reader030.fdocuments.net/reader030/viewer/2022032619/55c3a52ebb61eb42338b47a6/html5/thumbnails/12.jpg)
Hierarchical representation
![Page 13: Modeling & design multi-core NUMA simulator](https://reader030.fdocuments.net/reader030/viewer/2022032619/55c3a52ebb61eb42338b47a6/html5/thumbnails/13.jpg)
Package diagram
![Page 14: Modeling & design multi-core NUMA simulator](https://reader030.fdocuments.net/reader030/viewer/2022032619/55c3a52ebb61eb42338b47a6/html5/thumbnails/14.jpg)
Class diagram
![Page 15: Modeling & design multi-core NUMA simulator](https://reader030.fdocuments.net/reader030/viewer/2022032619/55c3a52ebb61eb42338b47a6/html5/thumbnails/15.jpg)
Interface diagram
![Page 16: Modeling & design multi-core NUMA simulator](https://reader030.fdocuments.net/reader030/viewer/2022032619/55c3a52ebb61eb42338b47a6/html5/thumbnails/16.jpg)
( example of second class)
( example of fixed parameter )
![Page 17: Modeling & design multi-core NUMA simulator](https://reader030.fdocuments.net/reader030/viewer/2022032619/55c3a52ebb61eb42338b47a6/html5/thumbnails/17.jpg)
Whole model
![Page 18: Modeling & design multi-core NUMA simulator](https://reader030.fdocuments.net/reader030/viewer/2022032619/55c3a52ebb61eb42338b47a6/html5/thumbnails/18.jpg)
local memory access
![Page 19: Modeling & design multi-core NUMA simulator](https://reader030.fdocuments.net/reader030/viewer/2022032619/55c3a52ebb61eb42338b47a6/html5/thumbnails/19.jpg)
Remote memory access
![Page 20: Modeling & design multi-core NUMA simulator](https://reader030.fdocuments.net/reader030/viewer/2022032619/55c3a52ebb61eb42338b47a6/html5/thumbnails/20.jpg)
Events based model
We have a model that is totally independent from simulator.
Core 1
BUS
LM
Simulator
![Page 21: Modeling & design multi-core NUMA simulator](https://reader030.fdocuments.net/reader030/viewer/2022032619/55c3a52ebb61eb42338b47a6/html5/thumbnails/21.jpg)
Events based model
Core 1
BUS
LM
![Page 22: Modeling & design multi-core NUMA simulator](https://reader030.fdocuments.net/reader030/viewer/2022032619/55c3a52ebb61eb42338b47a6/html5/thumbnails/22.jpg)
Simulation integration
![Page 23: Modeling & design multi-core NUMA simulator](https://reader030.fdocuments.net/reader030/viewer/2022032619/55c3a52ebb61eb42338b47a6/html5/thumbnails/23.jpg)
Why existing simulator?
Because it has already a whole engine system from:
Entity object Simulation object Event manager object Queue
Also, a lots of functions: Cancel(); Start(); Suspends();
![Page 24: Modeling & design multi-core NUMA simulator](https://reader030.fdocuments.net/reader030/viewer/2022032619/55c3a52ebb61eb42338b47a6/html5/thumbnails/24.jpg)
JAVASIM
![Page 25: Modeling & design multi-core NUMA simulator](https://reader030.fdocuments.net/reader030/viewer/2022032619/55c3a52ebb61eb42338b47a6/html5/thumbnails/25.jpg)
Core 1
BUS
LM
JavaSim
Local Memory Access
![Page 26: Modeling & design multi-core NUMA simulator](https://reader030.fdocuments.net/reader030/viewer/2022032619/55c3a52ebb61eb42338b47a6/html5/thumbnails/26.jpg)
Implementing INumaEventListner class
![Page 27: Modeling & design multi-core NUMA simulator](https://reader030.fdocuments.net/reader030/viewer/2022032619/55c3a52ebb61eb42338b47a6/html5/thumbnails/27.jpg)
Mach
ine s
tart
Gen
era
tion o
f to
polo
gy
Sta
rt p
roce
ssin
g t
ask
s
Com
pu
tin
g
Com
mu
nic
ati
on
Sen
d r
eq
uest
to b
us
Sen
d r
eq
uest
to M
em
ory
Read d
ata
Pro
cess
requ
est
Sen
d r
esp
on
se t
o B
us
Sen
d r
esp
onse
to C
ore
Pro
cess
resp
on
se
Task 01
Mach
ine
Sto
p
Task 02
Task N
Expected Scenario
![Page 28: Modeling & design multi-core NUMA simulator](https://reader030.fdocuments.net/reader030/viewer/2022032619/55c3a52ebb61eb42338b47a6/html5/thumbnails/28.jpg)
NUMA machine modelJavaSim
![Page 29: Modeling & design multi-core NUMA simulator](https://reader030.fdocuments.net/reader030/viewer/2022032619/55c3a52ebb61eb42338b47a6/html5/thumbnails/29.jpg)
DEMO
https://github.com/NUMASimulator/NUMAModel