150 likes | 292 Views
Wind River Simics: A Simulation Environment for Research and Development. Abhinav Srivastava. QUARBZ. What Is Wind River Simics?. Wind River Simics is a full system simulator used by software & system developers to simulate the hardware of large and complex electronic systems.
E N D
Wind River Simics:A Simulation Environment for Research and Development Abhinav Srivastava QUARBZ
What Is Wind River Simics? Wind River Simics is a full systemsimulator used by software & system developers to simulate the hardware of large and complex electronic systems. Wind River Simics • Simulate any size of target system. • Run unmodified target binaries. Any Target System QUARBZ
Simics is a full system simulator for:Microprocessor design;Memory studies;Device development;Operating system emulation;OS development;Debugging Wind River Simics simulates your complete digital hardware system QUARBZ
Simulate Any Embedded System Rack of Boards Connected via VME or other backplane Multiple Boards Connected via Ethernet or other communication buses Complete Customized Digital System Containing hundreds of boardsrepresenting an integratedavionics suite Single Board Your own custom board ora standard reference/production board including CPU and all devices on the board QUARBZ Wind River Simics simulates your complete digital hardware system
Simics Virtual Platforms • It is a functional accurate model of your complete target hardware system and runs your unmodified target software • It runs unmodified target binaries QUARBZ
Simics Transforms the Product Life Cycle • Use virtual target for architectural analysis: • Pre-silicon architecture analysis using actual target software • Legacy system upgrade analysis using actual target software SystemDefinition • Eliminate hardware availability and flaw issues: • Hardware and software co-development • Develop target software before hardware is available Deployand Maintain PlatformCustomizationand Stabilization • Utilize virtual target instead of host-based development: • Target hardware for everyone • Easily collaborate amongst entire team • Time-to-Market • TCO • CapEx • OpEx • Eliminate system availability issues: • Iterative and incremental integration and test • Debug at the system level SystemIntegrationand Test ApplicationDevelopment • Utilize virtual platform even after development is complete: • Maintain legacy products for 5, 10, 20+ years • Support many different customer configurations Reusable Assets Enable Agile and Iterative Development QUARBZ
Simics Use Cases : Teaching OS QUARBZ • Operating System Course • Allow to debug kernel code, interrupt handlers, system calls • Measuring Interrupt Latencies • Device Driver Programming • Physical Memory and Virtual Memory • User Space and Kernel Space differences • etc • An OS course designed by CMU (Carnegie Mellon University) and exported by many other universities.
Simics Use Cases : Processor Architecture QUARBZ There are some ready-to-use research frameworks available for computer architecture study based on Simics, including The University of Wisconsin Madison has developed General Execution-driven Multiprocessor Simulator (GEMS) The University of Illinois at Urbana-Champaign and the University of Pennsylvania have developed FeS2, a Full-system Execution-driven Simulator for x86 Carnegie-Mellon University and EPFL has developed SimFlex targeting fast, accurate and flexible simulation of large-scale systems
Simics Use Cases : Memory System Study QUARBZ • Cache Behavior under different cache organizations • Cache Profiling • Cache Timing • Cache Content Simulation • Effect of TLB on Memory Access Time (translation lookaside buffer)
Simics Use Case: Fault Injection Study Example fault actions: Dropping packets on networks Injecting bad checksums Network partitioning Delaying hardware replies Transient memory corruption Permanent memory corruption Transient register corruption Permanent register corruption Data bus transmission errors Address bus transmission errors Triggering spurious interrupts Permanent subsystem failures (disconnecting from system) Processor crash Temperature sensor reporting overheating Error reporting registers flagged Simics target control Access any part of target Change any part of target state or configuration Scripting for precise targeting and replay of faults No permanent damage to target Purpose Test fault low-level fault detection Model failing hardware QUARBZ
Simics Unique Capabilities QUARBZ
Reverse Debugging Stop and go back in time No rerunning program from start Breakpoints and watchpoints backward in time Investigate exactly what happened this time This control is very powerful for parallel code and race conditions Discover Bug Reverse execute and find source of bug On virtual hardware, debugging is much easier. QUARBZ
Repeatable Fault Injection Discover Bug Rerun, bug doesn’t show up Rerun, bug doesn’t show up Rerun, different bug Rerun, initial bug occurs On hardware, only some runs reproduce an error. QUARBZ • Every time we start the script we get the same sequence of packets dropped • The packet drop is driven by a random number generator • We set the seed to a known value at the start of each run • Totally repeatable behavior, but random from the perspective of the target, and unpredictable for an outside observer
Wind River Simics Customers Aerospace and Defense Industrial and Medical Network Equipment • Alcatel-Lucent • Cisco • Ericsson • IP Wireless • Huawei • Motorola • Nortel • Airbus • BAE Systems • Boeing • GE Aviation • General Dynamics • Honeywell • Iridium • JAXA • L3 Communications • Lockheed Martin • NASA • Northrop Grumman • Raytheon • AMCC • Emerson • Freescale • IBM • Intel • Hitachi • Rockwell Automation • Tektronix • Xerox QUARBZ