Post on 07-Aug-2015
Design & Modeling Multi-core NUMA
simulator and protocols
Why simulator?Propose SolutionWhat is NUMA?ProblemsModeling processSimulation integrationDemo
Why simulator?
Propose Solution
Modeling & Design a tool that simulate Multi-core NUMA hardware and protocols
What is NUMA?
What is NUMA?
CPU 1
CPU 2
RAM 1
GPU 1GPU 2GPU 3
Problems
Software problems Mapping Scheduling
Hardware problems Fixed topologies So expensive Not customable
Modeling process
Define basic function
Core Functions
Load()
Compute()
Store()
Define basic function
Bank Memory Functions
Read()
Write()
Define basic function
Inter Connection Network
Functions Receive()
Send()
Hierarchical representation
Package diagram
Class diagram
Interface diagram
( example of second class)
( example of fixed parameter )
Whole model
local memory access
Remote memory access
Events based model
We have a model that is totally independent from simulator.
Core 1
BUS
LM
Simulator
Events based model
Core 1
BUS
LM
Simulation integration
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();
JAVASIM
Core 1
BUS
LM
JavaSim
Local Memory Access
Implementing INumaEventListner class
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
NUMA machine modelJavaSim
DEMO
https://github.com/NUMASimulator/NUMAModel