Table of contentsBigSim Tutorial
Outline
Simulation-based Performance Prediction
BigSim Objective
Slide 5
Architecture of BigSim (online mode)
Architecture of BigSim (postmortem mode)
Slide 8
Emulator
BigSim Emulator: functional view
BigSim Programming API
User’s API
Examples
BigSim application example - Ring
Emulator Compilation
Execute Application on the Emulator
Running with bgconfig file
Ring Output
Slide 19
BigSim Charm++/AMPI
BigSim Charm++
Build Charm++ on BigSim
Running Charm++/AMPI Applications
Example - simplearrayhello
Example – AMPI Cjacobi3D
Slide 26
Slide 27
Performance Prediction
How to Ensure Simulation Accuracy
Timestamp Correction (Jacobi1D)
Structured Dagger (Jacobi1D)
Timestamp correction
Structured Dagger
Sequential time - BgElapse
Sequential Time – using Wallclock
Sequential Time – performance counters
Simple Network Model
Choose Network Model at Run-time
How to Add a New Network Model
How to Obtain Predicted Time
How to Obtain Predicted Time (cont.)
Running Applications with Simulator
With bgconfig
BigSim Trace Log
ASCII Log Sample
Example (Jacobi1D)
Output
Example (AMPI CJacobi3D)
Output (using BgPrint)
Final Predictions (using BgPrint)
Slide 51
Postmortem Simulation
Slide 53
Compile Postmortem Simulator
Example (AMPI CJacobi3D cont.)
Slide 56
Big Network Simulator
BigNetSim Overview
Networks
Implementation
POSE
Slide 62
Slide 63
HiSim API: Extensibility
Slide 65
slide 10
slide 11
Slide 68
Building POSE
Building HiSim
Running
Configuring HiSim
Slide 73
Transceiver
HiSim: Data Flow
Future
Case Study - NAMD
Validation with Simple Network Model
Network Communication Pattern Analysis
Slide 80
Contention Encountered by Messages
Slide 82
Performance Analysis/Visualization
Generate Projections Logs
Generate Projections Logs (the hideous secret)
Projections with Jacobi
Slide 85
Slide 86
Performance Analysis Tool: Projections
Slide 88
Slide 90
|