Z13: Simultaneous Multithreading and System Level Testing Ali Duale Dennis Wittig Shailesh Gami.

Slides:



Advertisements
Similar presentations
Processes and Threads Chapter 3 and 4 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College,
Advertisements

Threads, SMP, and Microkernels
Contents Even and odd memory banks of 8086 Minimum mode operation
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Computer Systems/Operating Systems - Class 8
1 Lecture 2: Review of Computer Organization Operating System Spring 2007.
Architectural Support for Operating Systems. Announcements Most office hours are finalized Assignments up every Wednesday, due next week CS 415 section.
Chapter 12 Pipelining Strategies Performance Hazards.
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
Chapter Hardwired vs Microprogrammed Control Multithreading
State Machines Timing Computer Bus Computer Performance Instruction Set Architectures RISC / CISC Machines.
Figure 1.1 Interaction between applications and the operating system.
Computer System Structures memory memory controller disk controller disk controller printer controller printer controller tape-drive controller tape-drive.
Group 5 Alain J. Percial Paula A. Ortiz Francis X. Ruiz.
1 Instant replay  The semester was split into roughly four parts. —The 1st quarter covered instruction set architectures—the connection between software.
INPUT/OUTPUT ARCHITECTURE By Truc Truong. Input Devices Keyboard Keyboard Mouse Mouse Scanner Scanner CD-Rom CD-Rom Game Controller Game Controller.
Simultaneous Multithreading: Maximizing On-Chip Parallelism Presented By: Daron Shrode Shey Liggett.
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
Topic:The Motorola M680X0 Family Team:Ulrike Eckardt Frederik Fleck André Kudra Jan Schuster Date:Thursday, 12/10/1998 CS-350 Computer Organization Term.
Hardware Definitions –Port: Point of connection –Bus: Interface Daisy Chain (A=>B=>…=>X) Shared Direct Device Access –Controller: Device Electronics –Registers:
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Principles of I/0 hardware.
Operating Systems ECE344 Ashvin Goel ECE University of Toronto OS-Related Hardware.
High Performance Computing Processors Felix Noble Mirayma V. Rodriguez Agnes Velez Electric and Computer Engineer Department August 25, 2004.
Processes and Threads Processes have two characteristics: – Resource ownership - process includes a virtual address space to hold the process image – Scheduling/execution.
The Functions of Operating Systems Interrupts. Learning Objectives Explain how interrupts are used to obtain processor time. Explain how processing of.
Interrupts By Ryan Morris. Overview ● I/O Paradigm ● Synchronization ● Polling ● Control and Status Registers ● Interrupt Driven I/O ● Importance of Interrupts.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
1 Threads, SMP, and Microkernels Chapter Multithreading Operating system supports multiple threads of execution within a single process MS-DOS.
Interrupt driven I/O. MIPS RISC Exception Mechanism The processor operates in The processor operates in user mode user mode kernel mode kernel mode Access.
Processor Architecture
1 Lecture 1: Computer System Structures We go over the aspects of computer architecture relevant to OS design  overview  input and output (I/O) organization.
Chapter 6 Storage and Other I/O Topics. Chapter 6 — Storage and Other I/O Topics — 2 Introduction I/O devices can be characterized by Behaviour: input,
Interrupt driven I/O Computer Organization and Assembly Language: Module 12.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Operating Systems Overview: Using Hardware.
Processor Level Parallelism 1
What’s going on here? Can you think of a generic way to describe both of these?
Introduction to Operating Systems Concepts
Virtual Machine Monitors
Introduction to Operating Systems
Module 12: I/O Systems I/O hardware Application I/O Interface
Chapter 13: I/O Systems Modified by Dr. Neerja Mhaskar for CS 3SH3.
Distributed Processors
Concurrency, Processes and Threads
Steven Ge, Xinmin Tian, and Yen-Kuang Chen
Architecture & Organization 1
CS 286 Computer Organization and Architecture
Architecture Background
Introduction to Operating Systems
Threads, SMP, and Microkernels
Architecture & Organization 1
CGS 3763 Operating Systems Concepts Spring 2013
Chapter 17 Parallel Processing
Symmetric Multiprocessing (SMP)
Processor Fundamentals
Operating Systems Chapter 5: Input/Output Management
Operating System Concepts
13: I/O Systems I/O hardwared Application I/O Interface
CS703 - Advanced Operating Systems
Coe818 Advanced Computer Architecture
Lecture 4- Threads, SMP, and Microkernels
Concurrency, Processes and Threads
CSC3050 – Computer Architecture
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Concurrency, Processes and Threads
Module 12: I/O Systems I/O hardwared Application I/O Interface
Presentation transcript:

z13: Simultaneous Multithreading and System Level Testing Ali Duale Dennis Wittig Shailesh Gami

Systems Assurance Kernel (SAK) Main system level test for z Systems Architecture Implementations Enterprise/Business Class Hardware Software emulators Test Oriented Operating System and system level test exercisers In use for decades Architecture Compliance Backward compatible Tolerant for unstable implementations/early development Capability of error/test case reproducibility Operator controllable

Systems Assurance Kernel (SAK) - continued Test exercisers: CPU Memory hierarchy IO Crypto Any combinations of the above Pseudo-random test generation Capable of running n copies of same/different test exercisers Resource availability - limit Pseudo-Random Test case build and result prediction are done with full speed of the machine under test Millions of test cases per minute Endless combinations of test

Exerciser Focuses Single-processor (UNI) Multiple-Processor (MP) General and Control Instructions Branching Floating-Point (HFP, BFP and DFP) SIMD Cache coherency, Serializations, Memory access ordering IO Subsystem and Devices Crypto Devices etc

General Test Flow 1.Build Instruction Stream 2.Predict result to interruption point 3.Execute Instruction Stream 4.Post process result as required 5.Compare result 6.Report any errors 7.Repeat the process until stopped

6 Build pseudo-random instruction stream Execute the test case Interrupt predicted? no yes Predict test case result Valid compare Point? no Compare Mismatch ? yes no Report error yes

Simultaneous Multi Threading - SMT With SMT each core supports more than one instruction stream Each thread maintains a unique and complete CPU context All threads share/compete for core execution resources Each thread executes its own instruction stream Streams do not have to be based on same architectures Streams are totally independent of one another Each appears as if it runs on a complete CPU in non SMT systems Test challenge: Build basic infrastructure for SMT Build instruction streams for each thread SMT with random number of threads enabled SMT with streams of same/different architectures running on threads Capability of multiple instruction stream rebuild with a single seed Direct and indirect testing

SMT: Direct Testing Hardware Firmware TE1, CP1 SAK/OS TE2,CP1 TE1,CP2 TE2, CPn ……. TEi= Test Exerciser i CPj = Copy j

SMT: Indirect Testing Hardware Firmware TE1, CP1 SAK/OS TE2,CP1 TE1,CP2 TE2, CPn ……. PR/SM TEi= Test Exerciser i CPj = Copy j

SMT Test Case Build: Overview Enable Test Exercisers to test SMT Keep backward compatibility Exerciser must remain capable of testing prior z Systems implementations Stress new architecture features New test case build methodology Alternate SMT being on and off Randomly decided/operator controlled Transparency in result prediction Result prediction processor: oblivious to thread number etc

SMT: Test Case Generation Obtain needed memory buffers for all threads Randomize test environment for each thread Addressing mode Exceptions Address translation means Functions enablement/disablement Architecture mode Allow building different architectures for different threads etc Accommodate common control fields (as required by architecture)

SMT Test Sequence Build Test case for each enabled thread Predict results for each enabled thread (up to a compare point) Execute the test cases in parallel (SMT in action here) Drive all thread execution to the next compare point all threads may not reach the end of their test case at the same time Maintain execution history for error analysis Compare results Output human readable error and trace reports

All threads are at compare point Send Test Case to Execution Wait for test case ending/interruptions Re-drive threads which have not reached compare points compare Done test case yes no

SMT Test Case Execution Flow Execute the test case until all threads exit test cases Gather context of each thread Check for “early exit” of test case due to: Interruptible instruction in any thread Forced to exit: One of the threads completed before others Transaction Execution abort in any thread and may need retry “Early exit” cases require test case re-drive in one to n threads until all reach the next SMT compare point A completed thread is not re-dispatched into execution while other threads are re-driven into test case execution

Execution and Test Case Re-drive Flow Example Thread 0 (TID0) Thread 1 (TID1) Both at compare points TID0 forced out TID1 comes out first TID0 alone TID1 alone TID0 intrp pt1 TID0 intrp pt2 TID1 intrp pt1 TID1 intrp pt2 TID0 TC re-driven TID1 forced out TID1 TC re-driven TID0 comes out first Both at compare points

THANK YOU Q/A