Modeling & design multi-core NUMA simulator

30
Design & Modeling Multi-core NUMA simulator and protocols

Transcript of Modeling & design multi-core NUMA simulator

Page 1: Modeling & design multi-core NUMA simulator

Design & Modeling Multi-core NUMA

simulator and protocols

Page 2: Modeling & design multi-core NUMA simulator

Why simulator?Propose SolutionWhat is NUMA?ProblemsModeling processSimulation integrationDemo

Page 3: Modeling & design multi-core NUMA simulator

Why simulator?

Page 4: Modeling & design multi-core NUMA simulator

Propose Solution

Modeling & Design a tool that simulate Multi-core NUMA hardware and protocols

Page 5: Modeling & design multi-core NUMA simulator

What is NUMA?

Page 6: Modeling & design multi-core NUMA simulator

What is NUMA?

CPU 1

CPU 2

RAM 1

GPU 1GPU 2GPU 3

Page 7: Modeling & design multi-core NUMA simulator

Problems

Software problems Mapping Scheduling

Hardware problems Fixed topologies So expensive Not customable

Page 8: Modeling & design multi-core NUMA simulator

Modeling process

Page 9: Modeling & design multi-core NUMA simulator

Define basic function

Core Functions

Load()

Compute()

Store()

Page 10: Modeling & design multi-core NUMA simulator

Define basic function

Bank Memory Functions

Read()

Write()

Page 11: Modeling & design multi-core NUMA simulator

Define basic function

Inter Connection Network

Functions Receive()

Send()

Page 12: Modeling & design multi-core NUMA simulator

Hierarchical representation

Page 13: Modeling & design multi-core NUMA simulator

Package diagram

Page 14: Modeling & design multi-core NUMA simulator

Class diagram

Page 15: Modeling & design multi-core NUMA simulator

Interface diagram

Page 16: Modeling & design multi-core NUMA simulator

( example of second class)

( example of fixed parameter )

Page 17: Modeling & design multi-core NUMA simulator

Whole model

Page 18: Modeling & design multi-core NUMA simulator

local memory access

Page 19: Modeling & design multi-core NUMA simulator

Remote memory access

Page 20: Modeling & design multi-core NUMA simulator

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

Events based model

Core 1

BUS

LM

Page 22: Modeling & design multi-core NUMA simulator

Simulation integration

Page 23: Modeling & design multi-core NUMA simulator

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

JAVASIM

Page 25: Modeling & design multi-core NUMA simulator

Core 1

BUS

LM

JavaSim

Local Memory Access

Page 26: Modeling & design multi-core NUMA simulator

Implementing INumaEventListner class

Page 27: Modeling & design multi-core NUMA simulator

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

NUMA machine modelJavaSim

Page 29: Modeling & design multi-core NUMA simulator

DEMO

https://github.com/NUMASimulator/NUMAModel

Page 30: Modeling & design multi-core NUMA simulator

Thank you

[email protected]

@abed_maatalla