Simplifying the Development and Debug of 8572-Based SMP Embedded Systems. Wind River Workbench Development Tools

Size: px
Start display at page:

Download "Simplifying the Development and Debug of 8572-Based SMP Embedded Systems. Wind River Workbench Development Tools"

Transcription

1 Simplifying the Development and Debug of 8572-Based SMP Embedded Systems Wind River Workbench Development Tools

2 Agenda Introducing multicore systems Debugging challenges of multicore systems Development tool requirements for multicore Multicore development solutions from Wind River Wind River Systems, Inc.

3 What Is Multicore? Multicore: A single chip containing multiple distinct processing engines, with multiple independent program counters P C BUS P C L Wind River Systems, Inc.

4 Freescale Multicore Solutions Freescale MPC8572: High-performance dual-core processor Security Acceleration XOR Pattern Matching Engine 2 x Table Lookup Unit 32 KB L1 I-Cache E500 Core 32 KB L1 I-Cache 1MB L2 Cache Coherency Module System Bus 32 KB L1 I-Cache E500 Core 32 KB L1 I-Cache DDR2/DDR3 SDRAM Controller DDR2/DDR3 SDRAM Controller Local Bus Performance Monitor DART, MPIC, 2 x PC, Timers, GPIO, Interrupt Control 4 x Gigabit Ethernet 4 x SGMII PCI Express PCI Express On-Chip Network PCI Express Serial RapidIO 4-ch. DMA 4-ch. DMA 8-lane SerDes Wind River Systems, Inc.

5 Multiprocessing Business Issues Benefit Promise of better products Performance, capability, cost The ability to provide Increased horsepower More cost-efficiency Heterogeneous systems Stronger partitioning Reliability via redundancy Cost Increased development cost, time, and risk Algorithms, partitioning Hardware and software design Software development challenges No guaranteed benefits Wind River Systems, Inc.

6 Multicore Configuration Options Symmetric Multiprocessing (SMP) Asymmetric Multiprocessing (AMP) SMP OS OS OS OS P P P P P P Identical processors/cores Uniform access to shared memory Single OS Effort required to make data or resources private Multithreaded work distributed by OS at run-time Changed programming paradigm Higher level of kernel overhead Processors/cores may be different Each one has local memory Each one has an independent OS or control software, may be different Connected for communication and synchronization Work must be partitioned at design time and assigned to processors Not easily portable to different hardware Wind River Systems, Inc.

7 Embedded Development Embedded testing requirements Higher quality needs vs. desktop software Run-time debugging Debugging code on a target embedded system Difficult issues that developers face Memory issues and leaks Timing issues with multitasking Random crashes Resource access issues, especially with multicore Side effects and unintended consequences Integration of third-party code Performance or throughput bottlenecks Wind River Systems, Inc.

8 Multicore Development Challenges Multiple interacting contexts Parallel execution of threads in SMP Independent processors in AMP Race conditions, deadlocks, memory synchronization SMP Increased debug complexity in multicore Debug can change behavior May be very difficult to reproduce Different behavior on single core vs. multiple cores Synchronization issues Start, stop, and stepping through code Stopping one core but other runs then stops Latency causes skid AMP Wind River Systems, Inc.

9 A Day in the Life of a Developer Difficulty isolating problem cause and or location Crash, slow performance/throughput, undesired effect Don t know where or how to start the debug process Debugging tricky or confusing timing problems Hardware and software interaction cause random crashes Debug methodology can change system behavior, masks issue or gives misleading results AND Multicore development and debug is hard Confusing environments with multiple interacting contexts printf does not provide sufficient debug information Wind River Systems, Inc.

10 Why Is Multicore Debug Difficult? Simple example: Two threads execute at the same time accessing shared variable Thread 1 runs on Core 1 C Code global_var_x = global_var_x + 1; printf( added 1 to global_var_x ); Assembly Code MOV global_var_x, r0 ADD #1, r0 MOV r0, global_var_x JSR 0x Thread 2 runs on Core 2 C Code global_var_x = global_var_x - 1; printf( subtracted 1 from global_var_x ) Assembly Code MOV global_var_x, r0 SUB #1, r0 MOV r0, global_var_x JSR 0x Global_var_x starts at 10 Thread 1 and 2 execute once Final value ( ) = Wind River Systems, Inc.

11 Why Is Multicore Debug Difficult? Simple example: Two threads execute at the same time accessing shared variable Thread 1 runs on Core 1 C Code global_var_x = global_var_x + 1; printf( added 1 to global_var_x ); Assembly Code MOV global_var_x, r0 ADD #1, r0 MOV r0, global_var_x JSR 0x Thread 2 runs on Core 2 C Code global_var_x = global_var_x - 1; printf( subtracted 1 from global_var_x ) Assembly Code MOV global_var_x, r0 SUB #1, r0 MOV r0, global_var_x JSR 0x Global_var_x starts at 10 Thread 1 and 2 execute once Final value ( ) = 10 No problem If thread 1 and 2 run sequentially Error If thread 1 and 2 run concurrently incorrect result will be obtained Debug method Difficult to debug with printf May work sometimes, fails sporadically Wind River Systems, Inc.

12 Why Is Multicore Debug Difficult? Simple example: Two threads execute at the same time accessing shared variable Thread 1 runs on Core 1 C Code global_var_x = global_var_x + 1; printf( added 1 to global_var_x ); Assembly Code MOV global_var_x, r0 ADD #1, r0 MOV r0, global_var_x JSR 0x Thread 2 runs on Core 2 C Code global_var_x = global_var_x - 1; printf( subtracted 1 from global_var_x ) Assembly Code MOV global_var_x, r0 SUB #1, r0 MOV r0, global_var_x JSR 0x Global_var_x starts at 10 Thread 1 and 2 execute once Final value ( ) = 10 No problem If thread 1 and 2 run sequentially Error If thread 1 and 2 run concurrently incorrect result will be obtained Debug method Difficult to debug with printf May work sometimes, fails sporadically Debug solution requirement Breakpoint setting that works across cores Ability to synchronize cores to expose bugs Example: Works in single core but not in dual core Visibility needed to all cores simultaneously Observe race conditions Wind River Systems, Inc.

13 Confusing Race Conditions in Multicore Race conditions are among the hardest multicore problems to solve. They can occur when multiple threads have simultaneous access to the same data. The cause and effect are typically millions of cycles apart. Time Processor 1 Processor 2 1 read 2 modify 3 read 4 modify 5 write 6 write Wind River tools are good for race condition debugging Wind River Systems, Inc.

14 Multicore Debug Requirements Flexible solutions Visualize system events and system mode debug Visualizing See operating system events Observe timing and sequence Spot deadlock, race, and starvation conditions System mode debug Trigger when breakpoint is hit View local and global variables, registers, cache, and system state Stop all threads and processor on all cores Permits examination of variables, register, cache, etc. Minimizes skid with synchronized stop of cores Wind River Systems, Inc.

15 Addressing Challenges with Wind River Workbench, On-Chip Debugging Edition Full-Featured Debugger for Multicore Device Software Development Common environment for multicore Hardware bring-up Platform development Application development Multicore debugging methods JTAG on-chip device debugging Workbench debugging via target agent Debugging up to 16 cores simultaneously Architecture flexibility for multicore Target OS including VxWorks, Wind River Linux, and others Wide range of target processor support Wind River On-Chip Debugging Wind River ICE Wind River Systems, Inc.

16 Wind River ICE 2 JTAG server debugs multiple devices on same scan chain Debug up to 16 devices simultaneously, connects to 128 cores Start all, stop all, and correlated multicore breakpoints Synchronize commands to multiple cores simultaneously Responsive and fast interface JTAG accelerator maximizes JTAG interface bandwidth Fast response with target system LAN Target Firmware 1 Target Firmware 2 Target Firmware 3 Target Firmware 4 JTAG Server JTAG Accelerator JTAG Connection Hardware Design Wind River Systems, Inc.

17 Workbench On-Chip Debugging Eclipse-based Single interface Built for multicore Centralized debugging Project-oriented Simplified development Scalable, robust Visualized multicore operation Wind River Systems, Inc.

18 System Viewer for Multicore Processors Synchronized Timestamping Tasks Running in Parallel Wind River Systems, Inc.

19 VxWorks SMP Debug Support On-chip debugging support For latest VxWorks 6.6 with SMP Wind River Workbench, On-Chip Debugging Edition 3.0 Breakpoint setting Coordinated across all cores Triggered regardless of which core hits the breakpoint Run control Supports all, e.g., single step, step into, step out of, etc. Moves from core to core, when thread is rescheduled Flexible system configuration SMP across all cores SMP on a subset of cores Multiple SMP instances, each on a subset of cores Wind River Systems, Inc.

20 System Mode Debugging Problem Multiple threads accessing a shared resource, e.g., a global variable Synchronized threads to access only one at a time Incorrect use, lack of use leading to problems that are some of the most difficult issues to find and fix in programming Process 1 Thread A Thread B Process 2 Thread C Thread D Wind River on-chip debugging Ability to stop all cores in system Ability to see what is running in other core(s) at time of problem Agent-based debug solutions unable to stop the system SMP OS Core 1 Core Wind River Systems, Inc.

21 Remote Debugging Breakpoint Hit on Core 1 Network Wind River ICE 2 Target Remote User Breakpoint Hit on Core 1 Better core synchronization for accurate visibility and operability Other cores stopped in short time when breakpoint hit on core 1 Closer synchronization of cores resulting in less skid Ability to see what is occurring on each core at a point in time Wind River Systems, Inc.

22 Multiple Context Debugging Simultaneous debugging Multiple targets, boards Multiple cores, processors Multiple processes, tasks, threads Source, register, and stack back-trace views in each debug context On-chip debugging with Wind River ICE 2 One scan chain, one ICE, multiple devices Start all, stop all, and multicore breakpoints with system mode debug Flexible breakpoint capabilities Hardware breakpoint support Thread qualified breakpoints Developer Host Debugger TCP Network Core 0 Debug Proxy TIPC Shared Memory Core 1 Debug Agent Wind River Systems, Inc.

23 Bay N etworks Bay N etworks Bay N etworks Multiboard Debug Scenario Debugging Scenario One Workbench instance One target manager Three concurrent connections Two target OSes Three different target processors Three different device software applications Multiple Contexts Processor, process, or thread Each context with a set of views Source Stack Registers Processes/Threads Qualify breakpoints on a process or specific thread Stop the entire process or an individual thread OA&M Card Linux-based Shelf Controller VxWorks-based Line Card ThreadX-based No Ethernet for debug Wind River Solution Benefits Single Eclipse-based user interface for debug Works across a variety of target systems, processors, and boards Wind River Systems, Inc.

24 Benefits of Wind River On-Chip Debugging Find root cause with system mode debugging Breakpoint stops entire processor Avoids skid with other running cores Identify bugs faster Clearly see the order of instruction execution on all cores Find problems quickly Work with simpler, intuitive Eclipse-based user interface One window for viewing activity on all cores Clearly identified and color-coded Speed development with remote debugging Around-the-clock-access collaborative debugging Instantaneous response time with JTAG server Wind River Systems, Inc.

25 Wind River Multiprocessing Leadership Wind River Workbench Market-Specific Middleware Integrated Horizontal Middleware VxWorks Linux Integrated Partner Hardware Broadest range of technology Operating system choice Multiprocessing architecture choice Multicore-enabled networking Interprocessor communication Debug, analysis, and diagnostics Broad processor and board support Most complete solution Extensive partner ecosystem Professional services capability Most reliable corporate partner Proven experience/industry leadership Worldwide support capability Participation in standards Large, stable, financially secure Wind River Systems, Inc.

26 Demo Block Diagram Ethernet JTAG Connection On-Chip Debugging Wind River ICE 2 MPC8572 Board Wind River Systems, Inc.

27 Wind River Systems, Inc.

Software Development Using Full System Simulation with Freescale QorIQ Communications Processors

Software Development Using Full System Simulation with Freescale QorIQ Communications Processors Patrick Keliher, Simics Field Application Engineer Software Development Using Full System Simulation with Freescale QorIQ Communications Processors 1 2013 Wind River. All Rights Reserved. Agenda Introduction

More information

10 Steps to Virtualization

10 Steps to Virtualization AN INTEL COMPANY 10 Steps to Virtualization WHEN IT MATTERS, IT RUNS ON WIND RIVER EXECUTIVE SUMMARY Virtualization the creation of multiple virtual machines (VMs) on a single piece of hardware, where

More information

Multicore Challenges and Choices: Deciding Which Solution Is Right for You

Multicore Challenges and Choices: Deciding Which Solution Is Right for You Multicore Challenges and Choices: Deciding Which Solution Is Right for You Tomas Evensen Chief Technology Officer, Wind River Table of Contents Executive Summary... 1 Business and Technology Trends...

More information

Using a Hypervisor to Manage Multi-OS Systems Cory Bialowas, Product Manager

Using a Hypervisor to Manage Multi-OS Systems Cory Bialowas, Product Manager Using a Hypervisor to Manage Multi-OS Systems Cory Bialowas, Product Manager cory.bialowas@windriver.com Trends, Disruptions and Opportunity Wasn t life simple? Single-OS: SMP OS OS CPU Single Core Virtualization

More information

On-Chip Debugging of Multicore Systems

On-Chip Debugging of Multicore Systems Nov 1, 2008 On-Chip Debugging of Multicore Systems PN115 Jeffrey Ho AP Technical Marketing, Networking Systems Division of Freescale Semiconductor, Inc. All other product or service names are the property

More information

RTOS, Linux & Virtualization Wind River Systems, Inc.

RTOS, Linux & Virtualization Wind River Systems, Inc. taeyong.kim@windriver.com RTOS, Linux & Virtualization 2008 Wind River Systems, Inc. Simple Board Simple Code 2 2008 Wind River Systems, Inc. start: /* disable interrupts in CPU and switch to SVC32 mode

More information

Multi-core microcontroller design with Cortex-M processors and CoreSight SoC

Multi-core microcontroller design with Cortex-M processors and CoreSight SoC Multi-core microcontroller design with Cortex-M processors and CoreSight SoC Joseph Yiu, ARM Ian Johnson, ARM January 2013 Abstract: While the majority of Cortex -M processor-based microcontrollers are

More information

Using Industry Standards to Exploit the Advantages and Resolve the Challenges of Multicore Technology

Using Industry Standards to Exploit the Advantages and Resolve the Challenges of Multicore Technology Using Industry Standards to Exploit the Advantages and Resolve the Challenges of Multicore Technology September 19, 2007 Markus Levy, EEMBC and Multicore Association Enabling the Multicore Ecosystem Multicore

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 2018 Lecture 2 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 2 What is an Operating System? What is

More information

Operating Systems Overview. Chapter 2

Operating Systems Overview. Chapter 2 Operating Systems Overview Chapter 2 Operating System A program that controls the execution of application programs An interface between the user and hardware Masks the details of the hardware Layers and

More information

Operating Systems, Fall Lecture 9, Tiina Niklander 1

Operating Systems, Fall Lecture 9, Tiina Niklander 1 Multiprocessor Systems Multiple processor systems Ch 8.1 8.3 1 Continuous need for faster computers Multiprocessors: shared memory model, access time nanosec (ns) Multicomputers: message passing multiprocessor,

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2016 Lecture 2 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 2 System I/O System I/O (Chap 13) Central

More information

Simulation Based Analysis and Debug of Heterogeneous Platforms

Simulation Based Analysis and Debug of Heterogeneous Platforms Simulation Based Analysis and Debug of Heterogeneous Platforms Design Automation Conference, Session 60 4 June 2014 Simon Davidmann, Imperas Page 1 Agenda Programming on heterogeneous platforms Hardware-based

More information

Multiprocessor Systems Continuous need for faster computers Multiprocessors: shared memory model, access time nanosec (ns) Multicomputers: message pas

Multiprocessor Systems Continuous need for faster computers Multiprocessors: shared memory model, access time nanosec (ns) Multicomputers: message pas Multiple processor systems 1 Multiprocessor Systems Continuous need for faster computers Multiprocessors: shared memory model, access time nanosec (ns) Multicomputers: message passing multiprocessor, access

More information

FPGA Adaptive Software Debug and Performance Analysis

FPGA Adaptive Software Debug and Performance Analysis white paper Intel Adaptive Software Debug and Performance Analysis Authors Javier Orensanz Director of Product Management, System Design Division ARM Stefano Zammattio Product Manager Intel Corporation

More information

Tile Processor (TILEPro64)

Tile Processor (TILEPro64) Tile Processor Case Study of Contemporary Multicore Fall 2010 Agarwal 6.173 1 Tile Processor (TILEPro64) Performance # of cores On-chip cache (MB) Cache coherency Operations (16/32-bit BOPS) On chip bandwidth

More information

Motivation. Threads. Multithreaded Server Architecture. Thread of execution. Chapter 4

Motivation. Threads. Multithreaded Server Architecture. Thread of execution. Chapter 4 Motivation Threads Chapter 4 Most modern applications are multithreaded Threads run within application Multiple tasks with the application can be implemented by separate Update display Fetch data Spell

More information

Profiling and Debugging OpenCL Applications with ARM Development Tools. October 2014

Profiling and Debugging OpenCL Applications with ARM Development Tools. October 2014 Profiling and Debugging OpenCL Applications with ARM Development Tools October 2014 1 Agenda 1. Introduction to GPU Compute 2. ARM Development Solutions 3. Mali GPU Architecture 4. Using ARM DS-5 Streamline

More information

Wind River. All Rights Reserved.

Wind River. All Rights Reserved. 1 Using Simulation to Develop and Maintain a System of Connected Devices Didier Poirot Simics Technical Account Manager THE CHALLENGES OF DEVELOPING CONNECTED ELECTRONIC SYSTEMS 3 Mobile Networks Update

More information

Chapter 2 Operating System Overview

Chapter 2 Operating System Overview True / False Questions: Chapter 2 Operating System Overview 1. T / F An operating system controls the execution of applications and acts as an interface between applications and the computer hardware.

More information

CPSC 341 OS & Networks. Introduction. Dr. Yingwu Zhu

CPSC 341 OS & Networks. Introduction. Dr. Yingwu Zhu CPSC 341 OS & Networks Introduction Dr. Yingwu Zhu What to learn? Concepts Processes, threads, multi-processing, multithreading, synchronization, deadlocks, CPU scheduling, networks, security Practice:

More information

Markets Demanding More Performance

Markets Demanding More Performance The Tile Processor Architecture: Embedded Multicore for Networking and Digital Multimedia Tilera Corporation August 20 th 2007 Hotchips 2007 Markets Demanding More Performance Networking market - Demand

More information

ARM Processors for Embedded Applications

ARM Processors for Embedded Applications ARM Processors for Embedded Applications Roadmap for ARM Processors ARM Architecture Basics ARM Families AMBA Architecture 1 Current ARM Core Families ARM7: Hard cores and Soft cores Cache with MPU or

More information

Keil uvision development story (Adapted from (Valvano, 2014a))

Keil uvision development story (Adapted from (Valvano, 2014a)) Introduction uvision has powerful tools for debugging and developing C and Assembly code. For debugging a code, one can either simulate it on the IDE s simulator or execute the code directly on ta Keil

More information

Software Quality is Directly Proportional to Simulation Speed

Software Quality is Directly Proportional to Simulation Speed Software Quality is Directly Proportional to Simulation Speed CDNLive! 11 March 2014 Larry Lapides Page 1 Software Quality is Directly Proportional to Test Speed Intuitively obvious (so my presentation

More information

Operating Systems : Overview

Operating Systems : Overview Operating Systems : Overview Bina Ramamurthy CSE421 8/29/2006 B.Ramamurthy 1 Topics for discussion What will you learn in this course? (goals) What is an Operating System (OS)? Evolution of OS Important

More information

Computer System Overview

Computer System Overview Computer System Overview Introduction A computer system consists of hardware system programs application programs 2 Operating System Provides a set of services to system users (collection of service programs)

More information

Non-uniform memory access machine or (NUMA) is a system where the memory access time to any region of memory is not the same for all processors.

Non-uniform memory access machine or (NUMA) is a system where the memory access time to any region of memory is not the same for all processors. CS 320 Ch. 17 Parallel Processing Multiple Processor Organization The author makes the statement: "Processors execute programs by executing machine instructions in a sequence one at a time." He also says

More information

Parallel Simulation Accelerates Embedded Software Development, Debug and Test

Parallel Simulation Accelerates Embedded Software Development, Debug and Test Parallel Simulation Accelerates Embedded Software Development, Debug and Test Larry Lapides Imperas Software Ltd. larryl@imperas.com Page 1 Modern SoCs Have Many Concurrent Processing Elements SMP cores

More information

Software Design Challenges for heterogenic SOC's

Software Design Challenges for heterogenic SOC's Software Design Challenges for heterogenic SOC's René Janssen, Product manager Logic Technology 1 Agenda 1. Advantages of heterogenous devices 2. How to manage inter-processor communication 3. Example

More information

Flash: an efficient and portable web server

Flash: an efficient and portable web server Flash: an efficient and portable web server High Level Ideas Server performance has several dimensions Lots of different choices on how to express and effect concurrency in a program Paper argues that

More information

Gedae cwcembedded.com. The CHAMP-AV6 VPX-REDI. Digital Signal Processing Card. Maximizing Performance with Minimal Porting Effort

Gedae cwcembedded.com. The CHAMP-AV6 VPX-REDI. Digital Signal Processing Card. Maximizing Performance with Minimal Porting Effort Technology White Paper The CHAMP-AV6 VPX-REDI Digital Signal Processing Card Maximizing Performance with Minimal Porting Effort Introduction The Curtiss-Wright Controls Embedded Computing CHAMP-AV6 is

More information

Parallelism Marco Serafini

Parallelism Marco Serafini Parallelism Marco Serafini COMPSCI 590S Lecture 3 Announcements Reviews First paper posted on website Review due by this Wednesday 11 PM (hard deadline) Data Science Career Mixer (save the date!) November

More information

FPQ6 - MPC8313E implementation

FPQ6 - MPC8313E implementation Formation MPC8313E implementation: This course covers PowerQUICC II Pro MPC8313 - Processeurs PowerPC: NXP Power CPUs FPQ6 - MPC8313E implementation This course covers PowerQUICC II Pro MPC8313 Objectives

More information

Computer Architecture Crash course

Computer Architecture Crash course Computer Architecture Crash course Frédéric Haziza Department of Computer Systems Uppsala University Summer 2008 Conclusions The multicore era is already here cost of parallelism is dropping

More information

Chapter 07: Instruction Level Parallelism VLIW, Vector, Array and Multithreaded Processors. Lesson 06: Multithreaded Processors

Chapter 07: Instruction Level Parallelism VLIW, Vector, Array and Multithreaded Processors. Lesson 06: Multithreaded Processors Chapter 07: Instruction Level Parallelism VLIW, Vector, Array and Multithreaded Processors Lesson 06: Multithreaded Processors Objective To learn meaning of thread To understand multithreaded processors,

More information

Streaming mode snapshot mode Faster Troubleshooting Higher Quality Better Performance Control System Tuning Other Benefits

Streaming mode snapshot mode Faster Troubleshooting Higher Quality Better Performance Control System Tuning Other Benefits Tracealyzer provides an unprecedented level of insight into the runtime world of your embedded software system. Tracealyzer allows you to solve complex software problems in a fraction of the time otherwise

More information

Introduction to Operating Systems. Chapter Chapter

Introduction to Operating Systems. Chapter Chapter Introduction to Operating Systems Chapter 1 1.3 Chapter 1.5 1.9 Learning Outcomes High-level understand what is an operating system and the role it plays A high-level understanding of the structure of

More information

Multiprocessing and Scalability. A.R. Hurson Computer Science and Engineering The Pennsylvania State University

Multiprocessing and Scalability. A.R. Hurson Computer Science and Engineering The Pennsylvania State University A.R. Hurson Computer Science and Engineering The Pennsylvania State University 1 Large-scale multiprocessor systems have long held the promise of substantially higher performance than traditional uniprocessor

More information

Operating Systems Course 2 nd semester 2016/2017 Chapter 1: Introduction

Operating Systems Course 2 nd semester 2016/2017 Chapter 1: Introduction Operating Systems Course 2 nd semester 2016/2017 Chapter 1: Introduction Lecturer: Eng. Mohamed B. Abubaker Note: Adapted from the resources of textbox Operating System Concepts, 9 th edition What is an

More information

Operating System. Operating System Overview. Layers of Computer System. Operating System Objectives. Services Provided by the Operating System

Operating System. Operating System Overview. Layers of Computer System. Operating System Objectives. Services Provided by the Operating System Operating System Operating System Overview Chapter 2 A program that controls the execution of application programs An interface between applications and hardware 1 2 Operating System Objectives Layers

More information

Operating System Overview. Operating System

Operating System Overview. Operating System Operating System Overview Chapter 2 1 Operating System A program that controls the execution of application programs An interface between applications and hardware 2 1 Operating System Objectives Convenience

More information

T1042-based Single Board Computer

T1042-based Single Board Computer T1042-based Single Board Computer High Performance/Low Power DO-254 Certifiable SBC IP Features and Benefits Part of the COTS-D family of safety certifiable modules Single conduction-cooled rugged module

More information

Support for RISC-V. Lauterbach GmbH. Bob Kupyn Lauterbach Markus Goehrle - Lauterbach GmbH

Support for RISC-V. Lauterbach GmbH. Bob Kupyn Lauterbach Markus Goehrle - Lauterbach GmbH Company Lauterbach Profile Debug Support for RISC-V Lauterbach GmbH Bob Kupyn Lauterbach USA @2016 Markus Goehrle - Lauterbach GmbH Leading Manufacturer of Microprocessor Development Tools Founded in 1979

More information

A Predictable RTOS. Mantis Cheng Department of Computer Science University of Victoria

A Predictable RTOS. Mantis Cheng Department of Computer Science University of Victoria A Predictable RTOS Mantis Cheng Department of Computer Science University of Victoria Outline I. Analysis of Timeliness Requirements II. Analysis of IO Requirements III. Time in Scheduling IV. IO in Scheduling

More information

Intel System Studio 2014 Overview

Intel System Studio 2014 Overview Intel System Studio 2014 Overview What you will learn from this slide deck High level overview of each component for Intel System Studio, along with how they address these development environments System

More information

Ten Reasons to Optimize a Processor

Ten Reasons to Optimize a Processor By Neil Robinson SoC designs today require application-specific logic that meets exacting design requirements, yet is flexible enough to adjust to evolving industry standards. Optimizing your processor

More information

LabVIEW Programming for a Multicore Environment. Stefan Kreuzer Applications Engineer National Instruments

LabVIEW Programming for a Multicore Environment. Stefan Kreuzer Applications Engineer National Instruments LabVIEW Programming for a Multicore Environment Stefan Kreuzer Applications Engineer National Instruments Agenda Overview of LabVIEW Multithreading Parallel Programming Techniques Real-Time Considerations

More information

CS 571 Operating Systems. Midterm Review. Angelos Stavrou, George Mason University

CS 571 Operating Systems. Midterm Review. Angelos Stavrou, George Mason University CS 571 Operating Systems Midterm Review Angelos Stavrou, George Mason University Class Midterm: Grading 2 Grading Midterm: 25% Theory Part 60% (1h 30m) Programming Part 40% (1h) Theory Part (Closed Books):

More information

Introduction. TDDI04, K. Arvidsson, IDA, Linköpings universitet Contents. What is an Operating System (OS)?

Introduction. TDDI04, K. Arvidsson, IDA, Linköpings universitet Contents. What is an Operating System (OS)? TDDI04 Concurrent Programming, Operating Systems, and Real-time Operating Systems Introduction Copyright Notice: The lecture notes are mainly based on Silberschatz s, Galvin s and Gagne s book ( Operating

More information

Introduction to Operating. Chapter Chapter

Introduction to Operating. Chapter Chapter Introduction to Operating Systems Chapter 1 1.3 Chapter 1.5 1.9 Learning Outcomes High-level understand what is an operating system and the role it plays A high-level understanding of the structure of

More information

Example Networks on chip Freescale: MPC Telematics chip

Example Networks on chip Freescale: MPC Telematics chip Lecture 22: Interconnects & I/O Administration Take QUIZ 16 over P&H 6.6-10, 6.12-14 before 11:59pm Project: Cache Simulator, Due April 29, 2010 NEW OFFICE HOUR TIME: Tuesday 1-2, McKinley Exams in ACES

More information

Chapter 2 Computer-System Structure

Chapter 2 Computer-System Structure Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual

More information

Nexus Instrumentation architectures and the new Debug Specification

Nexus Instrumentation architectures and the new Debug Specification Nexus 5001 - Instrumentation architectures and the new Debug Specification Neal Stollon, HDL Dynamics Chairman, Nexus 5001 Forum neals@hdldynamics.com nstollon@nexus5001.org HDL Dynamics SoC Solutions

More information

ADVANCED trouble-shooting of real-time systems. Bernd Hufmann, Ericsson

ADVANCED trouble-shooting of real-time systems. Bernd Hufmann, Ericsson ADVANCED trouble-shooting of real-time systems Bernd Hufmann, Ericsson AGENDA 1 Introduction 2 3 Timing Analysis 4 References 5 Q&A Trace Compass Overview ADVANCED trouble-shooting of critical real-time

More information

CPU Scheduling. Operating Systems (Fall/Winter 2018) Yajin Zhou ( Zhejiang University

CPU Scheduling. Operating Systems (Fall/Winter 2018) Yajin Zhou (  Zhejiang University Operating Systems (Fall/Winter 2018) CPU Scheduling Yajin Zhou (http://yajin.org) Zhejiang University Acknowledgement: some pages are based on the slides from Zhi Wang(fsu). Review Motivation to use threads

More information

SimXMD Co-Debugging Software and Hardware in FPGA Embedded Systems

SimXMD Co-Debugging Software and Hardware in FPGA Embedded Systems University of Toronto FPGA Seminar SimXMD Co-Debugging Software and Hardware in FPGA Embedded Systems Ruediger Willenberg and Paul Chow High-Performance Reconfigurable Computing Group University of Toronto

More information

SimXMD: Simulation-based HW/SW Co-Debugging for FPGA Embedded Systems

SimXMD: Simulation-based HW/SW Co-Debugging for FPGA Embedded Systems FPGAworld 2014 SimXMD: Simulation-based HW/SW Co-Debugging for FPGA Embedded Systems Ruediger Willenberg and Paul Chow High-Performance Reconfigurable Computing Group University of Toronto September 9,

More information

Case Study: Using System Tracing to Improve Packet Forwarding Performance

Case Study: Using System Tracing to Improve Packet Forwarding Performance Case Study: Using System Tracing to Improve Packet Forwarding Performance Sebastien Marineau-Mes, Senior Networking Architect, sebastien@qnx.com Abstract Symmetric multiprocessing (SMP) can offer enormous

More information

CSE 120. Overview. July 27, Day 8 Input/Output. Instructor: Neil Rhodes. Hardware. Hardware. Hardware

CSE 120. Overview. July 27, Day 8 Input/Output. Instructor: Neil Rhodes. Hardware. Hardware. Hardware CSE 120 July 27, 2006 Day 8 Input/Output Instructor: Neil Rhodes How hardware works Operating Systems Layer What the kernel does API What the programmer does Overview 2 Kinds Block devices: read/write

More information

Carrier Grade Linux and VxWorks

Carrier Grade Linux and VxWorks Carrier Grade Linux and VxWorks A Complete Solution for Next Generation Telecom Systems based on ATCA and AMC Hardware Vinay Panchdhari Regional FAE Manager - Asia Pacific Wind River Systems Telecom Market

More information

CSE Opera+ng System Principles

CSE Opera+ng System Principles CSE 30341 Opera+ng System Principles Lecture 2 Introduc5on Con5nued Recap Last Lecture What is an opera+ng system & kernel? What is an interrupt? CSE 30341 Opera+ng System Principles 2 1 OS - Kernel CSE

More information

Mission-Critical Space Software For Multi- Core Processors

Mission-Critical Space Software For Multi- Core Processors -UNCLASSIFIED- Mission-Critical Space Software For Multi- Core Processors Steve Crago USC/ISI-East November 6, 2009 FSW-09 Pasadena, CA -UNCLASSIFIED- Outline Introduction Mission Critical Software Summary

More information

CIS 21 Final Study Guide. Final covers ch. 1-20, except for 17. Need to know:

CIS 21 Final Study Guide. Final covers ch. 1-20, except for 17. Need to know: CIS 21 Final Study Guide Final covers ch. 1-20, except for 17. Need to know: I. Amdahl's Law II. Moore s Law III. Processes and Threading A. What is a process? B. What is a thread? C. Modes (kernel mode,

More information

VxWorks Real-Time Kernel Connectivity Andrew Piñeiro CNT 4104 Janusz Zalewski FGCU December 9, 2011

VxWorks Real-Time Kernel Connectivity Andrew Piñeiro CNT 4104 Janusz Zalewski FGCU December 9, 2011 VxWorks Real-Time Kernel Connectivity Andrew Piñeiro CNT 4104 Janusz Zalewski FGCU December 9, 2011 1. Introduction VxWorks is a proprietary real-time operating system (RTOS) made and sold by Wind River

More information

Introduction to Operating Systems. Chapter Chapter

Introduction to Operating Systems. Chapter Chapter Introduction to Operating Systems Chapter 1 1.3 Chapter 1.5 1.9 Learning Outcomes High-level understand what is an operating system and the role it plays A high-level understanding of the structure of

More information

Stefan Koestner on behalf of the LHCb Online Group ( IEEE - Nuclear Science Symposium San Diego, Oct.

Stefan Koestner on behalf of the LHCb Online Group (  IEEE - Nuclear Science Symposium San Diego, Oct. Stefan Koestner on behalf of the LHCb Online Group (email: Stefan.Koestner@cern.ch) IEEE - Nuclear Science Symposium San Diego, Oct. 31 st 2006 Dedicated to B-physics : single arm forward spectrometer

More information

OS impact on performance

OS impact on performance PhD student CEA, DAM, DIF, F-91297, Arpajon, France Advisor : William Jalby CEA supervisor : Marc Pérache 1 Plan Remind goal of OS Reproducibility Conclusion 2 OS : between applications and hardware 3

More information

FCQ2 - P2020 QorIQ implementation

FCQ2 - P2020 QorIQ implementation Formation P2020 QorIQ implementation: This course covers NXP QorIQ P2010 and P2020 - Processeurs PowerPC: NXP Power CPUs FCQ2 - P2020 QorIQ implementation This course covers NXP QorIQ P2010 and P2020 Objectives

More information

Performance Analysis on SMP and Non-SMP for Multicore Technology

Performance Analysis on SMP and Non-SMP for Multicore Technology June, 2010 Performance Analysis on SMP and Non-SMP for Multicore Technology FTF-ENT-F0697 TieFei Zang Principle Software Engineer Introduction Multicore in communication processor technology Dual cores

More information

System Wide Tracing User Need

System Wide Tracing User Need System Wide Tracing User Need dominique toupin ericsson com April 2010 About me Developer Tool Manager at Ericsson, helping Ericsson sites to develop better software efficiently Background

More information

ARM TrustZone for ARMv8-M for software engineers

ARM TrustZone for ARMv8-M for software engineers ARM TrustZone for ARMv8-M for software engineers Ashok Bhat Product Manager, HPC and Server tools ARM Tech Symposia India December 7th 2016 The need for security Communication protection Cryptography,

More information

Misc. Third Generation Batch Multiprogramming. Fourth Generation Time Sharing. Last Time Evolution of OSs

Misc. Third Generation Batch Multiprogramming. Fourth Generation Time Sharing. Last Time Evolution of OSs Third Generation Batch Multiprogramming Misc. Problem: but I/O still expensive; can happen in middle of job Idea: have a pool of ready jobs in memory, switch to one when another needs I/O When one job

More information

An Intelligent NIC Design Xin Song

An Intelligent NIC Design Xin Song 2nd International Conference on Advances in Mechanical Engineering and Industrial Informatics (AMEII 2016) An Intelligent NIC Design Xin Song School of Electronic and Information Engineering Tianjin Vocational

More information

Multiprocessors and Thread Level Parallelism Chapter 4, Appendix H CS448. The Greed for Speed

Multiprocessors and Thread Level Parallelism Chapter 4, Appendix H CS448. The Greed for Speed Multiprocessors and Thread Level Parallelism Chapter 4, Appendix H CS448 1 The Greed for Speed Two general approaches to making computers faster Faster uniprocessor All the techniques we ve been looking

More information

NEWS 2018 CONTENTS SOURCE CODE COVERAGE WORKS WITHOUT CODE INSTRUMENTATION. English Edition

NEWS 2018 CONTENTS SOURCE CODE COVERAGE WORKS WITHOUT CODE INSTRUMENTATION. English Edition NEWS 2018 English Edition WORKS WITHOUT CODE INSTRUMENTATION SOURCE CODE COVERAGE CONTENTS Trace-based MCDC Coverage Code Coverage Live Tracing via PCI Express Transition Wind River to TRACE32 RISC-V Debugger

More information

Operating System Overview. Chapter 2

Operating System Overview. Chapter 2 Operating System Overview Chapter 2 1 Operating System A program that controls the execution of application programs An interface between applications and hardware 2 Operating System Objectives Convenience

More information

Chapter 5. Multiprocessors and Thread-Level Parallelism

Chapter 5. Multiprocessors and Thread-Level Parallelism Computer Architecture A Quantitative Approach, Fifth Edition Chapter 5 Multiprocessors and Thread-Level Parallelism 1 Introduction Thread-Level parallelism Have multiple program counters Uses MIMD model

More information

Task Partitioning and Placement in Multicore Microcontrollers. David Lacey 24 th September 2012

Task Partitioning and Placement in Multicore Microcontrollers. David Lacey 24 th September 2012 Task Partitioning and Placement in Multicore Microcontrollers David Lacey 24 th September 2012 Multicore Microcontrollers Many embedded systems are now multicore Maybe lots of cores: XMOS devices have

More information

Introduction to Parallel Performance Engineering

Introduction to Parallel Performance Engineering Introduction to Parallel Performance Engineering Markus Geimer, Brian Wylie Jülich Supercomputing Centre (with content used with permission from tutorials by Bernd Mohr/JSC and Luiz DeRose/Cray) Performance:

More information

A unified multicore programming model

A unified multicore programming model A unified multicore programming model Simplifying multicore migration By Sven Brehmer Abstract There are a number of different multicore architectures and programming models available, making it challenging

More information

Frequently Asked Questions about Real-Time

Frequently Asked Questions about Real-Time FAQ: RTX64 2014 Frequently Asked Questions about Real-Time What is Real-Time? Real-time describes an application which requires a response to an event within some small upper bounded time frame. Typically,

More information

Multicore and Multiprocessor Systems: Part I

Multicore and Multiprocessor Systems: Part I Chapter 3 Multicore and Multiprocessor Systems: Part I Max Planck Institute Magdeburg Jens Saak, Scientific Computing II 44/342 Symmetric Multiprocessing Definition (Symmetric Multiprocessing (SMP)) he

More information

Multiprocessors & Thread Level Parallelism

Multiprocessors & Thread Level Parallelism Multiprocessors & Thread Level Parallelism COE 403 Computer Architecture Prof. Muhamed Mudawar Computer Engineering Department King Fahd University of Petroleum and Minerals Presentation Outline Introduction

More information

Migrating RC3233x Software to the RC32434/5 Device

Migrating RC3233x Software to the RC32434/5 Device Migrating RC3233x Software to the RC32434/5 Device Application Note AN-445 Introduction By Harpinder Singh and Nebojsa Bjegovic Operating system kernels, board support packages, and other processor-aware

More information

Spring CS 170 Exercise Set 1 (Updated with Part III)

Spring CS 170 Exercise Set 1 (Updated with Part III) Spring 2015. CS 170 Exercise Set 1 (Updated with Part III) Due on May 5 Tuesday 12:30pm. Submit to the CS170 homework box or bring to the classroom. Additional problems will be added as we cover more topics

More information

Master Program (Laurea Magistrale) in Computer Science and Networking. High Performance Computing Systems and Enabling Platforms.

Master Program (Laurea Magistrale) in Computer Science and Networking. High Performance Computing Systems and Enabling Platforms. Master Program (Laurea Magistrale) in Computer Science and Networking High Performance Computing Systems and Enabling Platforms Marco Vanneschi Multithreading Contents Main features of explicit multithreading

More information

p5 520 server Robust entry system designed for the on demand world Highlights

p5 520 server Robust entry system designed for the on demand world Highlights Robust entry system designed for the on demand world IBM p5 520 server _` p5 520 rack system with I/O drawer Highlights Innovative, powerful, affordable, open and adaptable UNIX and Linux environment system

More information

Software Verification for Low Power, Safety Critical Systems

Software Verification for Low Power, Safety Critical Systems Software Verification for Low Power, Safety Critical Systems 29 Nov 2016, Simon Davidmann info@imperas.com, Imperas Software Ltd. Page 1 Software Verification for Low Power, Safety Critical Systems Page

More information

Hardware and Software solutions for scaling highly threaded processors. Denis Sheahan Distinguished Engineer Sun Microsystems Inc.

Hardware and Software solutions for scaling highly threaded processors. Denis Sheahan Distinguished Engineer Sun Microsystems Inc. Hardware and Software solutions for scaling highly threaded processors Denis Sheahan Distinguished Engineer Sun Microsystems Inc. Agenda Chip Multi-threaded concepts Lessons learned from 6 years of CMT

More information

CUDA Development Using NVIDIA Nsight, Eclipse Edition. David Goodwin

CUDA Development Using NVIDIA Nsight, Eclipse Edition. David Goodwin CUDA Development Using NVIDIA Nsight, Eclipse Edition David Goodwin NVIDIA Nsight Eclipse Edition CUDA Integrated Development Environment Project Management Edit Build Debug Profile SC'12 2 Powered By

More information

System Level Instrumentation using the Nexus specification

System Level Instrumentation using the Nexus specification System Level Instrumentation using the Nexus 5001-2012 specification Neal Stollon, HDL Dynamics Chairman, IEEE 5001 Nexus Forum neals@hdldynamics.com nstollon@nexus5001.org HDL Dynamics SoC Solutions System

More information

PRACE Autumn School Basic Programming Models

PRACE Autumn School Basic Programming Models PRACE Autumn School 2010 Basic Programming Models Basic Programming Models - Outline Introduction Key concepts Architectures Programming models Programming languages Compilers Operating system & libraries

More information

Computer-System Organization (cont.)

Computer-System Organization (cont.) Computer-System Organization (cont.) Interrupt time line for a single process doing output. Interrupts are an important part of a computer architecture. Each computer design has its own interrupt mechanism,

More information

Chapter 2: Computer-System Structures. Hmm this looks like a Computer System?

Chapter 2: Computer-System Structures. Hmm this looks like a Computer System? Chapter 2: Computer-System Structures Lab 1 is available online Last lecture: why study operating systems? Purpose of this lecture: general knowledge of the structure of a computer system and understanding

More information

Chapter 1: Distributed Systems: What is a distributed system? Fall 2013

Chapter 1: Distributed Systems: What is a distributed system? Fall 2013 Chapter 1: Distributed Systems: What is a distributed system? Fall 2013 Course Goals and Content n Distributed systems and their: n Basic concepts n Main issues, problems, and solutions n Structured and

More information

Uniprocessor Computer Architecture Example: Cray T3E

Uniprocessor Computer Architecture Example: Cray T3E Chapter 2: Computer-System Structures MP Example: Intel Pentium Pro Quad Lab 1 is available online Last lecture: why study operating systems? Purpose of this lecture: general knowledge of the structure

More information

TECHNOLOGY BRIEF. Compaq 8-Way Multiprocessing Architecture EXECUTIVE OVERVIEW CONTENTS

TECHNOLOGY BRIEF. Compaq 8-Way Multiprocessing Architecture EXECUTIVE OVERVIEW CONTENTS TECHNOLOGY BRIEF March 1999 Compaq Computer Corporation ISSD Technology Communications CONTENTS Executive Overview1 Notice2 Introduction 3 8-Way Architecture Overview 3 Processor and I/O Bus Design 4 Processor

More information

Chapter 4 Threads, SMP, and

Chapter 4 Threads, SMP, and Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 4 Threads, SMP, and Microkernels Dave Bremer Otago Polytechnic, N.Z. 2008, Prentice Hall Roadmap Threads: Resource ownership

More information

Lecture 3: Intro to parallel machines and models

Lecture 3: Intro to parallel machines and models Lecture 3: Intro to parallel machines and models David Bindel 1 Sep 2011 Logistics Remember: http://www.cs.cornell.edu/~bindel/class/cs5220-f11/ http://www.piazza.com/cornell/cs5220 Note: the entire class

More information