Concurrent Systems Architecture Group University of California, San Diego and University of Illinois at Urbana-Champaign Morph 9/21/98 Morph: Supporting.

Slides:



Advertisements
Similar presentations
Virtualization Technology
Advertisements

Department of Computer Science and Engineering University of Washington Brian N. Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
Department of Computer Science iGPU: Exception Support and Speculative Execution on GPUs Jaikrishnan Menon, Marc de Kruijf Karthikeyan Sankaralingam Vertical.
WHAT IS AN OPERATING SYSTEM? An interface between users and hardware - an environment "architecture ” Allows convenient usage; hides the tedious stuff.
CMSC 414 Computer (and Network) Security Lecture 13 Jonathan Katz.
Virtual Memory Chapter 18 S. Dandamudi To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer,  S. Dandamudi.
May 7, A Real Problem  What if you wanted to run a program that needs more memory than you have?
1 A Real Problem  What if you wanted to run a program that needs more memory than you have?
Architectural Support for OS March 29, 2000 Instructor: Gary Kimura Slides courtesy of Hank Levy.
1: Operating Systems Overview
OPERATING SYSTEM OVERVIEW
Memory Management 2010.
State Machines Timing Computer Bus Computer Performance Instruction Set Architectures RISC / CISC Machines.
1 Last Class: Introduction Operating system = interface between user & architecture Importance of OS OS history: Change is only constant User-level Applications.
Early OS security Overview by: Greg Morrisett Cornell University, Edited (by permission) for CSUS CSc250 by Bill Mitchell.
Vir. Mem II CSE 471 Aut 011 Synonyms v.p. x, process A v.p. y, process B v.p # index Map to same physical page Map to synonyms in the cache To avoid synonyms,
1 OS & Computer Architecture Modern OS Functionality (brief review) Architecture Basics Hardware Support for OS Features.
11/10/2005Comp 120 Fall November 10 8 classes to go! questions to me –Topics you would like covered –Things you don’t understand –Suggestions.
1 RAKSHA: A FLEXIBLE ARCHITECTURE FOR SOFTWARE SECURITY Computer Systems Laboratory Stanford University Hari Kannan, Michael Dalton, Christos Kozyrakis.
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Operating System A program that controls the execution of application programs An interface between applications and hardware 1.
A Portable Virtual Machine for Program Debugging and Directing Camil Demetrescu University of Rome “La Sapienza” Irene Finocchi University of Rome “Tor.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: System Structures.
Safe and Protected Execution in Adaptive Architectures Andrew A. Chien Computer Science and Engineering University of California, San Diego Project Kickoff.
Protection and the Kernel: Mode, Space, and Context.
Disco : Running commodity operating system on scalable multiprocessor Edouard et al. Presented by Jonathan Walpole (based on a slide set from Vidhya Sivasankaran)
LOGO OPERATING SYSTEM Dalia AL-Dabbagh
Chapter 1. Introduction What is an Operating System? Mainframe Systems
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
Cosc 3P92 Week 9 & 10 Lecture slides
G53SEC 1 Reference Monitors Enforcement of Access Control.
Architecture Support for OS CSCI 444/544 Operating Systems Fall 2008.
Ranga Rodrigo. The purpose of software engineering is to find ways of building quality software.
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
July 30, 2001Systems Architecture II1 Systems Architecture II (CS ) Lecture 8: Exploiting Memory Hierarchy: Virtual Memory * Jeremy R. Johnson Monday.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
G53SEC 1 Reference Monitors Enforcement of Access Control.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
Disco : Running commodity operating system on scalable multiprocessor Edouard et al. Presented by Vidhya Sivasankaran.
UNIX System Protection. Unix History Developed by Dennis Ritchie and Ken Thompson at AT&T Bell Labs Adapted some ideas from the Multics project in 1969.
1 Some Real Problem  What if a program needs more memory than the machine has? —even if individual programs fit in memory, how can we run multiple programs?
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.
1: Operating Systems Overview 1 Jerry Breecher Fall, 2004 CLARK UNIVERSITY CS215 OPERATING SYSTEMS OVERVIEW.
Full and Para Virtualization
Efficient software-based fault isolation Robert Wahbe, Steven Lucco, Thomas Anderson & Susan Graham Presented by: Stelian Coros.
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
Lecture 4 Page 1 CS 111 Online Modularity and Memory Clearly, programs must have access to memory We need abstractions that give them the required access.
Computer Security: Chapter 5 Operating Systems Security.
Translation Lookaside Buffer
Memory COMPUTER ARCHITECTURE
Some Real Problem What if a program needs more memory than the machine has? even if individual programs fit in memory, how can we run multiple programs?
Morgan Kaufmann Publishers
Modularity and Memory Clearly, programs must have access to memory
Real-time Software Design
Lecture 14 Virtual Memory and the Alpha Memory Hierarchy
Virtual Memory 4 classes to go! Today: Virtual Memory.
Computer-System Architecture
UNIX System Protection
Architectural Support for OS
Morgan Kaufmann Publishers Memory Hierarchy: Virtual Memory
CSE 451: Operating Systems Autumn 2003 Lecture 2 Architectural Support for Operating Systems Hank Levy 596 Allen Center 1.
CSE 451: Operating Systems Autumn 2001 Lecture 2 Architectural Support for Operating Systems Brian Bershad 310 Sieg Hall 1.
CSE451 Virtual Memory Paging Autumn 2002
CSE 451: Operating Systems Winter 2003 Lecture 2 Architectural Support for Operating Systems Hank Levy 412 Sieg Hall 1.
Outline Operating System Organization Operating System Examples
Architectural Support for OS
CSE 471 Autumn 1998 Virtual memory
Paging and Segmentation
Synonyms v.p. x, process A v.p # index Map to same physical page
Cache writes and examples
Presentation transcript:

Concurrent Systems Architecture Group University of California, San Diego and University of Illinois at Urbana-Champaign Morph 9/21/98 Morph: Supporting Safe Architectural Adaptation Andrew Chien, Jay Byun AMRM Project Kickoff Meeting

Concurrent Systems Architecture Group University of California, San Diego and University of Illinois at Urbana-Champaign Morph 9/21/98 Challenges in Integrated Adaptive Computing Integration with core system mechanisms enables high performance »Multiprocess environments fundamental, even for embedded systems »Errors in synthesis, hardware, software are common. »How to build robust, adaptive systems? Adaptation of core presents protection, validation, and fault-containment challenges »How to ensure process isolation? »How to contain synthesis or hardware faults in the system architecture? »How to validate a late-binding adaptation?

Concurrent Systems Architecture Group University of California, San Diego and University of Illinois at Urbana-Champaign Morph 9/21/98 Process Isolation: Motivation Multiprocess protection is a fundamental modularity element in software systems »Non-modular systems are not robust: MacOS, Win95, Win98, etc. »Software faults are not contained »Systems cannot be safely extended (restraining progress) Adaptive systems take this one level further »Software-software interactions »Software-adapted hardware interactions (sharing) »Adapted hardware - adapted hardware interactions (sharing) »=> how can we support flexibly extensible adaptable systems?

Concurrent Systems Architecture Group University of California, San Diego and University of Illinois at Urbana-Champaign Morph 9/21/98 Process Isolation Processes and reconfigured hardware must be isolated to enable robust, extensible systems Goal: Develop an Architectural Framework for Safe Adaptation »Formalize OS notion of process and access control »Identify control points in base and adaptive hardware for access control »Synthesize reverse maps for the OS protection constraints –Isolation hardware –Fault mapping to OS semantics (meaningful faults to software) »Example: privilege level control, control register access, address generation, special instructions

Concurrent Systems Architecture Group University of California, San Diego and University of Illinois at Urbana-Champaign Morph 9/21/98 Progress Study of Operating System and Hardware Protection mechanisms in the R4000 (w/ Jay Byun) »Detailed study of the instruction set »Detailed study of operating systems protection mode changes »=> conclusions for simple RISC processors (designed for Unix style protection structures), other operating systems/processors differ significantly »Written report 5/11/98. »Basis for formalization of current protection structure, basis for design of a protection structure for adaptable hardware

Concurrent Systems Architecture Group University of California, San Diego and University of Illinois at Urbana-Champaign Morph 9/21/98 Instruction Set Features for Protection Modal Orientation »Key processor state: CP0 registers »Access controlled by special instructions which check processor mode for execution »Processor state reflects the CPU mode »Unauthorized accesses are trapped and handled by a privileged routine Privilege mode: Kernel, supervisor, user »changes via: traps to privileged handlers which limit functionality and entry points »Base protection bootstrapped with special power-on traps and bootstrap routines

Concurrent Systems Architecture Group University of California, San Diego and University of Illinois at Urbana-Champaign Morph 9/21/98 ISA Features for Protection (cont.) Instructions to modify protection data structures are privileged »processor state, segment registers, TLB entries »control much of the access to the shared system data structures which isolate processes

Concurrent Systems Architecture Group University of California, San Diego and University of Illinois at Urbana-Champaign Morph 9/21/98 Operating System Usage Basic User/Supervisor Mode Distinction »Supervisor mode allows modification of protection data structures »Special instructions used to modify these data structures check for privilege mode, trap otherwise »Bootstrap to privilege mode, initial execution loophole must correctly setup these data structures »=> Most of the isolation is ensured indirectly through implicit instruction execution constraints –Address checking in the translation lookaside buffer –Mode checking based on instruction type –Simple mechanisms in hardware, all conventions in software

Concurrent Systems Architecture Group University of California, San Diego and University of Illinois at Urbana-Champaign Morph 9/21/98 Observations/Conclusions Requirements/Observations for a Process Isolation Scheme »Out of line implicit checking through modes, external units (e.g. addressing) »Complex schemes *not* used (e.g. protection rings, capabilities, ACL’s, etc.) at the hardware level »Nearly all of the hardware within a conventional processor core is potentially configurable… more sensitive is the TLB/Address checking, a few choice bits of machine state (e.g. privilege level) and a few key instructions –novel operations, instructions, use of registers, datapath, caches, and anything else? Plans: Complete analysis and write an architecture requirements / capabilities document for protected execution in the presence of reconfigurable hardware »Can we make all of the useful distinctions yet? (unclear)

Concurrent Systems Architecture Group University of California, San Diego and University of Illinois at Urbana-Champaign Morph 9/21/98 Observations/Questions (cont.) Modal architecture has limitations -- high ILP, fast traps, can it last? What impact does object orientation have on the likely protection granularity? What impact does multithreading have on this analysis? Impact of speculation/prediction?

Concurrent Systems Architecture Group University of California, San Diego and University of Illinois at Urbana-Champaign Morph 9/21/98 Online Validation: Motivation Classical system design depends on off-line testing/validation of hardware designs »Huge cost/ effort for complex designs, many errors get through »CAD tools / Compilers often generate erroneous code (see errata lists!) »Correct by construction doesn’t work (at least not yet!). Adaptive systems inherently involve »Unpredictable interactions (new hardware and software) »Cross process interactions? »Dynamic adaptation? Would you fly on an airplane with an adaptive computer in the landing system?

Concurrent Systems Architecture Group University of California, San Diego and University of Illinois at Urbana-Champaign Morph 9/21/98 Validating Adaptation Idea: Exploit additional hardware (unused gates) for additional redundancy and validation »Increases system reliability without major resource cost »High Level generation of Validation circuits; invariants, complements, etc. (automatic and manual) »Wide range of redundancy possible, validation can be partial to multiple in time and versions »Can detect and signal errors or failures »=> May be the only approach possible for dynamic adaptation

Concurrent Systems Architecture Group University of California, San Diego and University of Illinois at Urbana-Champaign Morph 9/21/98 Approach Explore multi-version hardware synthesis »low-overhead hardware for validation »high-overhead hardware for validation Invariants »Explore automatic derivation of invariants »Exploit hardware invariant annotations for test »(still need automatic synthesis for dynamic adaptation)

Concurrent Systems Architecture Group University of California, San Diego and University of Illinois at Urbana-Champaign Morph 9/21/98 Open Questions How to generate designs that are distinct and not subject to the same algorithmic errors? How to automatically derive minimal / flexible validation constraints from a hardware specification? From a computation specification -- include the software? How to perform hardware synthesis for validation with maximum isolation and coverage?

Concurrent Systems Architecture Group University of California, San Diego and University of Illinois at Urbana-Champaign Morph 9/21/98 Summary Develop a deep understanding of isolation and compatibility issues. Devise a set of architectural classifications and mechanisms which can enable process isolation and validation Understand the protection / validation implications of design choices / features Design a series of working systems which demonstrate the robustness of these results in the presence of errors Demonstrate them on prototype hardware (UCI?)

Concurrent Systems Architecture Group University of California, San Diego and University of Illinois at Urbana-Champaign Morph 9/21/98 Challenges How to perform experiments? »What are reasonable application workloads? »What are reasonable error models? »What are reasonable fault models? »What tools/vehicles are available for experiments? »What are good metrics? What constitutes a good design? »Single architecture? »Knowledge to design a set of architectures subject to application and technology constraints rationally?

Concurrent Systems Architecture Group University of California, San Diego and University of Illinois at Urbana-Champaign Morph 9/21/98 Fault Containment (just beginning) Develop an Architectural Framework for Fault Containment »Simple software, synthesis, and hardware fault models »Exploit Process Isolation and Validation mechanisms for fast-fail »Design hardware and software structures which enable containment and reconfiguration –Controlled synthesis and hardware mapping –Synthesis of Hardware structures which provide modularization