• Aucun résultat trouvé

Large-scale network simulation over heterogeneous computing architecture : Issues, opportunities and challenges

N/A
N/A
Protected

Academic year: 2022

Partager "Large-scale network simulation over heterogeneous computing architecture : Issues, opportunities and challenges"

Copied!
67
0
0

Texte intégral

(1)

Large-scale Network Simulation over Heterogeneous Computing

Architecture

Issues, Opportunities and Challenges

N. Nikaein and B. B. Romdhanne Mobile Communication Department

Eurecom

2014

(2)

Outline

Introduction

& Background Cunetsim Hybrid scheduling

CMW

& GP-CMW

NS-3 as proof

of concept Conclusion &

Future work

17/03/2014 ©Navid Nikaein 2014 2

(3)

About This Tutorial

• Explore efficiency and s calability horizons in network emulation and simulation field

Execution time and runtime

Number of nodes, traffic load, and mobility

• Applicability to popular simulation/emulation tools,

– NS-3

Introduction

& Background

(4)

Network Experiment

Simulation

– No interaction with the external entities (closed environment) – Part or all of the elements of a network/system is modeled or

abstracted

Emulation

– Bring the external elements with their I/O streams (open environment)

– Decision on which element is real or modeled depends on the use case and purpose of the experiments

– At least one thing is modeled

Real testbed field trial

– All the elements are real

– Part of the testbed maybe controlled

Introduction

& Background

4

17/03/2014 ©Navid Nikaein 2014

(5)

Network Experiment Human Perspective

Live Cyber-Physical?

Virtual Constructive

Introduction

& Background

Real Simulated

Re al Si m ul at ed Sy st em

Human

(6)

Network Experiment

Introduction

& Background

6

Analytical

• UML

• FreeMat

• IDL

• Matlab

• SciLab

• Octave

Simulation

• Sinalgo

• NetSim

• GloMoSim/Qualnet

• NS3

• Opnet

• Omnet++

Emulation

• NS3

• NistNEt

• CORE

• USPR2

• WARP

• CMU-DSR

• ORBIT

• OAI

Real Testbed

• PlanetLab/OneLab

• NITOS

• GnuRadio

• WARP

• ORBIT

• Sundance, BEE2, WiTestLab

• USPR2

• OAI

Scalability Reproducibility Applicability

Abstraction Level Realism Level

17/03/2014 ©Navid Nikaein 2014

(7)

Network Experiment

Introduction

& Background

Evaluation

methodology Channel PHY MAC TRP

&

NET

App Real testbed

Emulation Medium case1

Emulation Medium case2

Emulation App & protocol

Simulation APP

TRP &

Net

MAC PHY

APP

MAC PHY TRP &

Net

Small scale

Large

Node 1 Node 2

(8)

Network Experiment

Introduction

& Background

8

17/03/2014 ©Navid Nikaein 2014

Discrete event simulation model

Entity, e.g. node, packet, channel, proto, models Link, e.g. relationships among entities

Event-driven discrete System, e.g. Event occurs at

discrete point of time changing the state of the system

Components

– State, clock, event list, counters, configure, time and event routines

Primitives

– run, stop, now, schedule, cancel, remove, release

(9)

Network Experiment Discrete Event Simulation

Introduction

& Background

static void my_function (MyModel *model) { // }

Void main () { mod model;

ev event;

initialize(&mod,&ev);

configure(&mod,&ev);

schedule(time, &my_func, &mod);

… schedule_end_simu (ev);

run();

release ();

}

void Run() {

while (! end_of_simulation()) { time=get_timestamp();

ev = extract_event (global_event_list);

execute(ev);

(10)

Discrete Event Simulation

• A composition of a group of elementary entities

– Finite state machine per component – Event triggers state changes

– System state evolves over discrete and atomic time

10

Introduction

& Background

• Sequential execution limits the scalability and efficiency

Scheduler

Generation Event Execution

List

New events

Recursive/isolated events

17/03/2014 ©Navid Nikaein 2014

Node

(11)

Parallel and Distributed Simulation

• Simulations executing over multiple computing systems

– Tightly and/or loosely coupled multiprocessor systems

Introduction

& Background

Parallel simulation involves the execution of a single simulation program on a collection of tightly coupled processors (e.g., a shared memory multiprocessor).

Distributed simulation involves the execution of a single or multiple

simulation program on a collection of

loosely coupled processors (e.g., PCs

interconnected by a LAN or WAN).

(12)

Parallel and Distributed Simulation

Communication Mechanisms:

– Message Passing

– Unicast, multicast, broadcast; publish/subscribe – Shared Memory

– Remote Procedure Call (RPC)

– Remote Method Invocation (RMI)

Event Synchronization:

– Clocks and Time – Event ordering

12

Introduction

& Background

17/03/2014 ©Navid Nikaein 2014

Source: M. Loper

(13)

Parallel and Distributed DES

Parallel simulation

• Typically Shared memory context

• Several execution resources

• Centralized scheduling

• Memory-based

communication mechanism

• Local synchronization

Distributed simulation

• Typically several independent simulation instance

• Different machines

• Independent scheduling

• Message-based communication

• Distributed synchronization

Introduction

& Background

• Care must be taken for simulation correctness,

synchronization overhead as well stability issues

(14)

Parallelism Efficiency and

auto-scaling Heterogeneity

Hardware Context

14

Introduction

& Background

17/03/2014 ©Navid Nikaein 2014

(15)

Hardware Context GPU Features and Specification

• Generally used for the graphical rendering.

• Current Trend

• Able to ensures additional computing work.

• Evolves on the sense of a co-processor

• Large number of computing cores

• Rapid dedicated memory

• Hardware schedulers (threads and instructions)

• GPU cores are grouped into several streaming multi processor SM (like SIMD processors)

Introduction

& Background

(16)

Parallelism Distributed

Software Context for HPC

16

Introduction

& Background

17/03/2014 ©Navid Nikaein 2014

GridMPI™

openMPI

(17)

Content of This Tutorial

Cunetsim: GPU-based simulation framework

Hybrid-scheduler: Conservative event scheduler targeting multi-target execution, both GPU & CPU.

CMW / GP-CMW: optimized distributed and parallel simulation model targeting very large scale scenarios

NS-3: proof-of-concept

Introduction

& Background

(18)

Outline

Introduction

& Background Cunetsim Hybrid scheduling

CMW

& GP-CMW

NS-3 as proof

of concept Conclusion &

Future work

17/03/2014 ©Navid Nikaein 2014 18

(19)

General Idea

Fully GPU based simulator

One dedicated GPU core per node.

– At a given time Ti each node executes one event

• Only GPU executes, CPU controls

• Master-Worker simulation model

– CPU is the master – GPU is the worker

Cunetsim

(20)

Classification

Cunetsim

20

Approaches CPU based

Sinalgo NS3

Distributed

QualNet Distributed

NS3

Accelerated GPU FPGA

DSP

GPU based Cunetsim

17/03/2014 ©Navid Nikaein 2014

(21)

Event Descriptor

• Representation of an event used for management

Cunetsim

• Extend the event descriptor to support parallelism

Grouping info for the events that only differs in their data Cloned Independent Events (CIE) represented as a single entry

Descriptor Timestamps callback Arguments

Descriptor Timestamps callback Arguments Grouping Info

• Break the 1:1 relationship between an event and its descriptor

(22)

Event Descriptor

22

Cunetsim

Grouping info for CIE events

Descriptor Timestamps callback Arguments Grouping Info

17/03/2014 ©Navid Nikaein 2014

(23)

Event Grouping

Cunetsim

Master Scheduler

move<<<64,1>>>( T1, *position)

Si mul at io n t ime =T 1 Ea ch s ubg ro up w ill be e xe cut ed in a g iv en re al ti m e

• Events are

– Compressed during the generation (grouping info added)

– Expanded during the execution by hardware scheduler

No strict order during execution inside a group

– Decision is made by the hardware scheduler

– Events must be designed such that, the execution order

of parallel events does not affect the correctness.

(24)

Workers Master

Framework Architecture

24

Cunetsim

Mobility Connectivity

APP Proto Msg services

Mobility Connectivity

APP Proto Msg services

Mobility Connectivity

APP Proto Msg services

Mobility Connectivity

APP Proto Msg services

Mobility Connectivity

APP Proto Msg services

Channel Msg Service

TRP/NET Connectivity

Mobility APP

GPU context Generator

Scheduler Tracer Helper

Tester

CPU context

Hardware scheduler

17/03/2014 ©Navid Nikaein 2014

(25)

Evaluation Scenario

Cunetsim

• Benchmarking Scenarios

– 4-64k Nodes

– 1600x1600x1600(3D) – 600 seconds

– RWP mobility – UDG Conectivity – Flooding Proto

• Comparative Evaluation

– NS-3 (distributed version- 6 LPs) – Sinalgo (asynchronous 6 threads )

– Cunetsim-CPU (OMP – 6 threads) (via openACC) – Cunetsim-GPU (1 master+ 1 GPU )

• Software context

Scenario A Scenario B

(26)

Performance Results

1 10 100 1000 10000 100000

1k 4k 8k 16k 32k 64k

NS-3 Sinalgo

Cunetsim CPU Cunetsim GPU

Cunetsim

26

Gain obtained by grouped events

– 6x on the CPU target – 100x on the GPU target

Scenario A: Homogeneous nodes

Ru nt im e (s )

Number of nodes

17/03/2014 ©Navid Nikaein 2014

(27)

Performance Results

Cunetsim

1 10 100 1000 10000 100000

8k 16k 32k 64k

NS-3 Sinalgo

Cunetsim CPU Cunetsim GPU Scenario B: Heterogeneous nodes

CPU-based grouping remains stable

GPU-based grouping runtime increased by a factor of 16 Higher number of isolated events

Ru nt im e (s )

Number of nodes

(28)

Outline

Introduction

& Background Cunetsim Hybrid scheduling

CMW

& GP-CMW

NS-3 as proof

of concept Conclusion &

Future work

17/03/2014 ©Navid Nikaein 2014 28

(29)

CPU Execution GPU Execution

General Idea

• Maximize the hardware usage rate for both CPU and GPU targets

• Hybrid scheduling

– Execute grouped events on the GPU – Execute isolated events on the CPU

Hybrid scheduling

Hybrid Scheduler

Generation FEL

New events

CPU Execution GPU Execution

Recursive/isolated events

Isolated events Grouped events

Node

(30)

Related Works

30

Scheduling Approaches oriented CPU-

Parallel LPs Event-

based Thread-

based

GPU- oriented

Thread- based Agent-

based

Data- oriented

Distributed FEL

Fault- tolerant Calendar

Hybrid Hybrid scheduler

Hybrid scheduling

17/03/2014 ©Navid Nikaein 2014

(31)

Parallelize Events

• 3-dimensional array list (3D-AL) data structure

1. Timestamps : having sequential and strict order

2. Foreign independent events: having the same timestamps 3. Cloned independent events: having the same time stamp

and instruction

Hybrid

scheduling

(32)

Parallelize Events

• 3-dimensional array list (3D-AL) data structure

1. Timestamps : having sequential and strict order

2. Foreign independent events: having the same timestamps 3. Cloned independent events: having the same time stamp

and instruction

32

Hybrid scheduling

17/03/2014 ©Navid Nikaein 2014

(33)

Events Flow and Stability

• Approach of dynamic system where events are flowing between producers and consumers

sharing buffers

• System Bottleneck may change over time

 use feedback to maintain dynamically event rate stability to maximize the simulation

efficiency

Hybrid

scheduling

(34)

Architecture

34

Hybrid scheduling

17/03/2014 ©Navid Nikaein 2014

Event flow

(35)

Validation Scenario

• Experiment setup

– Cunetsim framework

– 3 independent activity areas – 3 types of nodes

– 525 K nodes per AA

– 50 G packets each 128B – 600m 3 Per AA

• Hardware setup

– i7 3730k (6cores) – 64 Go of RAM – 3 GPUs : GTX 680

• Objective : Scalability

Hybrid

scheduling

(36)

Comparative Results

36

Hybrid scheduling

No rmal ize d Sp ee du p

1 10 100 1000

CPU M-CPU GPU M-GPU H-scheduler

Normalized Speedup

H-Scheduler outperforms M-CPU by 150x and M-GPU by 2x

Higher scheduling cost for H-Scheduler

17/03/2014 ©Navid Nikaein 2014

(37)

Discussion

• Scalability gain achieved by

– Maximizing the hardware usage rate in a shared memory context

• Limitations

– Simulation scalability due to limited memory size – Simulation instability due to data locality issue

when swapping the target

Hybrid

scheduling

(38)

Locality Problem

• Consider the locality between the data and the event to determine the execution target Hybrid

scheduling

38

GPU 1 GPU 2

17/03/2014 ©Navid Nikaein 2014

(39)

Comparative Results

Hybrid scheduling

Event rate stability is achieved (Event flow) increase scalability

(40)

Outline

Introduction

& Background Cunetsim Hybrid scheduling

CMW

& GP-CMW

NS-3 as proof

of concept Conclusion &

Future work

17/03/2014 ©Navid Nikaein 2014 40

(41)

General Idea

• Shared memory context limits the scalability

• MW performs well in parallel or distributed simulation, but not in both at the same time

• Coordinator-Master-worker CMW

– CM is optimized for distributed simulation – MW is optimized for parallel simulation

& GP-CMW CMW

Coordinator

Master

• Synchronization

• Communication management

• Load balancing

• User interface

• Synchronization

• Hybrid scheduler

• Communication services for workers

So ftw ar e de sig n sig n Extended LP

(42)

Related Works

42

& GP-CMW CMW

Parallel & Distributed Simulation

Shared Memory

Parallel Simulation

Pointer based Thread-

based

LP-based Message

based Realtine Simulation

Generic Architecture

HLA

Realtime Experiment

Parallel and Distributed CMW

GP-CMW

17/03/2014 ©Navid Nikaein 2014

(43)

CMW Model

& GP-CMW CMW

Coordinator

W1

W2

W3

B u f f e r

Data & control flow

Master-Master service

Master Master

B u f f e r

W1 W4 W4 W4

W1 W4

W4 W5

(44)

Addressing Space

& GP-CMW CMW

17/03/2014 ©Navid Nikaein 2014 44

(45)

CMW Synchronization

& GP-CMW CMW

Work Unit 0 Work Unit 1 Work Unit 2

I 1 I 2 I 3 I 4 I I 6 I 7 I 8 I 9 I 10 I 11

I 7

E1 E2 E3 E4

Coordinator

Time-driven clock

Master

Time-driven clock + Lookahead protocol

Worker

(46)

Validation Scenario

• Extension of the H-scheduler scenario.

• 250 M nodes

• P2P interconnection.

• 1-144 ELPs, 6002 seconds.

• TGCC Curie Infrastructure

– Hybrid Nodes (144)

• 2 CPU (8 cores)

• 2 GPU (1024 Cores)

– 192 Tflops , 528 Go GRAM, 46 To RAM

• Benchmarking: MW and CMW models

46

& GP-CMW CMW

17/03/2014 ©Navid Nikaein 2014

(47)

Result ( simulation runtime )

& GP-CMW CMW

0 2000 4000 6000 8000 10000 12000 14000

1 4 8 16 32 48 64 80 96 112 128 144

MW

Ru nt im e(s ) CMW

Number of ELP

Runtime stability is achieved

Gain of 10 times compared to MW

(48)

General Idea

• GP-CMW : Management overhead and locality

– Priority Abstraction layer

• Separates control plane from data plane

– Hardware abstraction layer

• Exploits data and communication locality

48

& GP-CMW CMW

Coordinator

Master

So ftw ar e de sig n Hw /Sw co -de sig n

PAL

HAL

Master

Worker Worker

Worker

Worker Worker

Worker

CPU GPU

HAL

Worker Worker

Worker

Worker Worker

Worker

CPU GPU

Extended LP

17/03/2014 ©Navid Nikaein 2014

(49)

Event Lifecycle

& GP-CMW CMW

(50)

& GP-CMW CMW Experiment Setup

• Massive multi-player online game simulation

– Command and conquer

• 144worlds, 25k-50k players/world, 1-20 bases/ players, 1-3 plans per base, 1-40 elements per plan

• Only 10% of players communicate with different worlds Simulating one year of the game with 144 ELPs

• Time stamp is 1 minute (1 Year is 525600)

• TGCC Curie Infrastructure

50

17/03/2014 ©Navid Nikaein 2014

(51)

Results

Ru nt im e (h )

& GP-CMW CMW

1 10 100 1000

1 4 8 16 32 64 144

GP-CMW CMW MW-CPU

Number of world

GP-CMW outperforms CMW by 4.5 times

(52)

Conclusion

• GP-CMW combines parallel and distributed simulation in one optimized architecture

– Introduce a Coordinator as a top level actor

• Limitation

– Worker migration (mobility conditions) – Load balancing

– System observation overhead

52

& GP-CMW CMW

17/03/2014 ©Navid Nikaein 2014

(53)

Outline

Introduction

& Background Cunetsim Hybrid scheduling

CMW

& GP-CMW

NS-3 as proof

of concept Conclusion &

Future work

(54)

Highlights

• NS-3 : most popular DES network simulator.

– Layered software architecture – Sequential execution

– Scalability is achieved through distributed simulation (official branch)

• When targeting parallel simulation

the event scheduler is identified as the main bottleneck

NS-3 as proof of concept

54

17/03/2014 ©Navid Nikaein 2014

(55)

General Idea

NS-3 as proof of concept

Explicit CPU

parallelism Implicit CPU parallelism offloading GPU Hybrid

scheduling

(56)

Proposed Modifications

NS-3 as proof of concept

56

Event execution is made by a pool of threads.

The scheduler make the decision

The event execution is made by a pool of threads but the scheduler see only

one event (framework:

OpenMP)

Selected events will be offloaded to the GPU (Framework: OpenACC)

Selected events will be forwarded to dedicated process that choose their

executed target.

(OpenMP+MPI+OpenACC)

17/03/2014 ©Navid Nikaein 2014

(57)

Explicit CPU Parallelism

NS-3 as proof of concept

Event execution is made by a pool of threads.

The scheduler make the

decision

(58)

Implicit CPU Parallelism

17/03/2014 ©Navid Nikaein 2014 58

NS-3 as proof of concept

The event execution is made by a pool of threads but the scheduler see only

one event (framework:

OpenMP)

(59)

GPU Offloading

NS-3 as proof of concept

Selected events will be

offloaded to the GPU

(Framework: OpenACC)

(60)

Hybrid Scheduler

17/03/2014 ©Navid Nikaein 2014 60

NS-3 as proof of concept

Selected events will be forwarded to dedicated process that choose their

executed target.

(OpenMP+MPI+OpenACC)

(61)

Experiment Setup

NS-3 as proof of concept

• Benchmarking Scenarios

– 64k Nodes

– 1600*1600*1600(3D) – RWP mobility,

– UDG Connectivity – Flooding Proto

• Fair comparison

– Stop the simulation when reaching 250 M events

– Limiting the modification to the scheduler or the event generator

• Framework used

– MPI, – OMP – OpenACC

PGI compiler

(62)

Performance Results (1K nodes, 250K events)

1 10 100 1000

1 Core 4 Cores 8 Cores 16 Cores 32 Cores

Distributed Explicit CPU Implicit CPU GPU Offloading Hybrid

17/03/2014

• Distributed architecture introduces an overhead but scales well

• Explicit CPU parallelism caps with 8 cores (due to the scheduling bottleneck)

• Implicit CPU parallelism handles easily large CPUs

• GPU offloading provides a real gain if used as a co-processor

• Hybrid approach maximize the hardware usage and scale well with heterogeneous resources.

Runtime (s)

NS-3 as proof of concept

©Navid Nikaein 2014 62

(63)

Outline

Introduction

& Background Cunetsim Hybrid scheduling

CMW

& GP-CMW

NS-3 as proof

of concept Conclusion &

Future work

(64)

Conclusion

64

Conclusion &

Future work

Approach\

characteristic Efficiency Scalability Overhead Stability Hybrid

Scheduling +++ ++ -- --

GP-CMW +++ +++ +++

1. Event grouping

2. Multi-target execution with locality consideration

3. Overhead management

– Separation of control and data plane – Simulation data aggregation

17/03/2014 ©Navid Nikaein 2014

(65)

Conclusion

• Recent hardware is heterogeneous and massively programmable.

– Heterogeneous Execution

– Smart usage of available resources allows a new scalability level.

– To simplify the operation we need:

• More high level API.

• More intelligent IDE.

• More integrated Hardware (SoC+ unified memory)

Conclusion &

Future work

(66)

Future Work

• Massively parallel X86 processors

– Hybrid execution of existing framework over such

infrastructure guarantees a smooth migration to next software.

• Efficient hardware abstraction

– Automatic parallelism and hardware detection – Automatic memory management

• Simulation as a service

– Multi-target execution on virtual infrastructure without full knowledge of hardware

• Hardware abstraction

66

Conclusion &

Future work

17/03/2014 ©Navid Nikaein 2014

(67)

Future Work

• Tracing and Data management

– With the increasing number of events the data size and the required throughput becomes

imposing.

• E.g. Layers-based compression

• Worker migration

• Load balancing across ELPs Conclusion &

Future work

Références

Documents relatifs

Horizontal cross-sections on 23 July 2009 at 1500 UTC: (a) envelop of the fire front (in black) at the ground superimposed on the 10-m wind vectors (arrows) of the “coupled”

Figure 1 : Activité mondiale de transplantation d’organes solides en 2013 ... 28 Figure 4 : Répartition des patients admis au laboratoire d’immunologie du CHIS en fonction de

The left sequence flow diagram shows the normal execution of Figure 1 without applying our Moka extension: each task is executed according to its “normal” time (normal time is the

In our case, in a parallel machine every node are asynchronous, so there is no appropriate discrete time (as for instance a global clock signal) on which to base the simulation, so

the magnetic anisotropy problem which has received considerable attention both theoretically [8] and experimentally [9] : let us consider a 3D Ising magnet with an

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des