MACCE and RealTime Schedulers - PowerPoint PPT Presentation

1 / 29
About This Presentation
Title:

MACCE and RealTime Schedulers

Description:

Linux based C architecture. Takes advantage of multiple CPUs. MACCE System Diagram ... for MACCE commands from MACCE Clients. Forwards those commands to the ... – PowerPoint PPT presentation

Number of Views:69
Avg rating:3.0/5.0
Slides: 30
Provided by: longwoo
Category:

less

Transcript and Presenter's Notes

Title: MACCE and RealTime Schedulers


1
MACCE andReal-Time Schedulers
  • Steve Roberts
  • EEL 6897

2
Who Am I?
  • Masters in Modeling and Simulation
  • Employed by Veraxx Engineering Corp.
  • Undergraduate in Computer Engineering from UCF
  • Worked in the simulation industry 4 years

3
Agenda
  • Discuss some different simulation issues
  • Define a scheduler or real-time executive
  • What is MACCE?
  • A MACCE configuration file
  • Conclusion
  • Questions

4
Some Simulation Issues
  • Real-Time cards
  • Interrupts
  • Multiple Language Support
  • Callbacks
  • Shared Memory
  • Multi-Threading

5
Real Time Cards
  • Sync cards
  • Provide interrupts
  • Interrupts can occur at different frequencies
  • More accurate than software interrupts

6
Multiple Language Support
  • Fortran
  • ADA/ADA 95
  • C
  • C
  • Many simulators that are upgraded are comprised
    of legacy code and code from other simulators are
    pulled in to these legacy systems

7
Callbacks
  • A pointer to a function
  • Usually the function is in a high level language
  • The function pointer is passed to a low level
    language
  • May also exist within the same application (high
    level/high level)

8
Shared Memory
  • Block of memory used by different processes
  • Hardware shared memory
  • Multiple CPUs
  • Software shared memory
  • Single CPU

9
SCRAMNet
  • Shared Common Random Access Memory Network
  • Ring architecture
  • Fiber Optic Network
  • Large Throughput
  • gt200MB/s
  • Automatically updates other CPUs

10
Multi-Threading
  • Multiple processes running at the same time
  • Multiple CPU
  • Multiple threads/callbacks on a single CPU

11
What Is A Scheduler?
  • A scheduler is a piece of software that is an
    integration point for a simulation. It is where
    all the variables are instantiated, where the
    functions are called, where proper timing and
    order of execution happens, and where a
    simulation is initialized, executed and
    terminated.

12
Why Have a Scheduler?
  • Simplifies and automates integration
  • Wraps many low level details
  • Automatically handles many low level details
  • Provides a common simulation environment
  • Provides simple debuggin and analysis tools

13
What is MACCE?
  • Marine Aviation Common Computing Environment
  • Manages and controls a Vehicle Simulation
    Environment in real-time and standalone modes
  • Linux based C architecture
  • Takes advantage of multiple CPUs

14
MACCE System Diagram
15
MACCE Architecture
  • Server
  • Client
  • Daemon
  • Graphical User Interface (GUI)

16
MACCE Server
  • This is the main process
  • Reads the configuration file
  • Creates the control table in shared memory
  • Starts all the clients
  • Monitors the command line
  • Does not perform real-time tasks

17
MACCE Server Cont.
  • Configures MACCE Memory Manager (M3) global areas
  • Can be started in debug mode
  • Debugger such as GDB can be used to step through
    any of the callbacks in the simulation

18
MACCE Client
  • MACCEC
  • This is a process
  • Connects to the control table
  • All callbacks are initiated by the client
  • One MACCEC per CPU is recommended
  • Has top level exception handling
  • Can manage multiple threads.

19
MACCE Daemon
  • Monitors a port for MACCE commands from MACCE
    Clients
  • Forwards those commands to the MACCE server
  • Runs on a Linux machine
  • One instance runs

20
MACCE GUI
  • More of a text-based UI
  • Provides interface for printing and watching
    variables
  • Provides timing statistics
  • Displays log messages
  • Used to terminate a MACCE Server instance

21
MACCE Memory Manager (M3)
  • Lays out shared data areas
  • Reads in a memory config file
  • Generates Fortran scan file
  • Generates C, C header file
  • Generates Ada records

22
MACCE API
23
MACCE Configuration File
  • Variables
  • SETENV
  • GLOBAL
  • Clocks
  • Modes
  • Callbacks
  • Tables
  • Threads
  • Processes

24
Sample MACCE Configuration
  • //////////
  • // clocks
  • //////////
  • CLOCKS
  • external 0
  • internal 60
  • standalone 10
  • /////////
  • // modes
  • /////////
  • MODE
  • name STARTUP_MODE
  • description Startup mode
  • type ONESHOT
  • next FREEFLIGHT_MODE

25
Cont
  • /////////////
  • // callbacks
  • /////////////
  • CALLBACK
  • name EOM_STARTUP_CALLBACK
  • description Equations of motion startup
    callback
  • symbol eom_startup
  • language CPP
  • CALLBACK
  • name EOM_SHUTDOWN_CALLBACK
  • description Equations of motion shutdown
    callback
  • symbol eom_shutdown
  • language CPP
  • CALLBACK
  • name EOM_SIMULATE_CALLBACK
  • description Equations of motion simulate
    callback

26
Cont
  • ///////////
  • // threads
  • ///////////
  • THREAD
  • name STARTUP_THREAD
  • description Startup Thread
  • mode STARTUP_MODE
  • frequency 1
  • phase 0
  • callback EOM_STARTUP_CALLBACK
  • callback UHF_RADIO_STARTUP_CALLBACK
  • callback TACAN_STARTUP_CALLBACK
  • THREAD
  • name SHUTDOWN_THREAD
  • description Shutdown Thread
  • mode SHUTDOWN_MODE
  • frequency 1

27
Cont
  • /////////////
  • // processes
  • /////////////
  • PROCESS
  • name TUTORIAL1_PROCESS
  • description tutorial1 process
  • filter 1
  • cpu 1
  • thread STARTUP_THREAD
  • thread SHUTDOWN_THREAD
  • thread FREEFLIGHT_60HZ_THREAD
  • thread FREEFLIGHT_30HZ_PHASE0_THREAD
  • thread FREEFLIGHT_30HZ_PHASE1_THREAD

28
Conclusion
  • MACCE is a great tool that allows software
    engineers the ability to pull together many
    different pieces of simulators and combine them
    to build a new simulator
  • MACCE also provides software engineers with a
    debugging environment
  • MACCE can save time and headaches

29
Questions?
Write a Comment
User Comments (0)
About PowerShow.com