OS support for Teraflux A Prototype

Slides:



Advertisements
Similar presentations
Multiple Processor Systems
Advertisements

Threads, SMP, and Microkernels
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 3: Operating Systems Computer Science: An Overview Tenth Edition.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
Computer Systems/Operating Systems - Class 8
1 Threads, SMP, and Microkernels Chapter 4. 2 Process: Some Info. Motivation for threads! Two fundamental aspects of a “process”: Resource ownership Scheduling.
Inter Process Communication:  It is an essential aspect of process management. By allowing processes to communicate with each other: 1.We can synchronize.
1 Operating Systems Ch An Overview. Architecture of Computer Hardware and Systems Software Irv Englander, John Wiley, Bare Bones Computer.
The Difficulties of Distributed Data Douglas Thain Condor Project University of Wisconsin
Using Two Queues. Using Multiple Queues Suspended Processes Processor is faster than I/O so all processes could be waiting for I/O Processor is faster.
CPS216: Advanced Database Systems (Data-intensive Computing Systems) How MapReduce Works (in Hadoop) Shivnath Babu.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
MULTICOMPUTER 1. MULTICOMPUTER, YANG DIPELAJARI Multiprocessors vs multicomputers Interconnection topologies Switching schemes Communication with messages.
Scheduling of Tiled Nested Loops onto a Cluster with a Fixed Number of SMP Nodes Maria Athanasaki, Evangelos Koukis, Nectarios Koziris National Technical.
Chapter 4 Threads, SMP, and Microkernels Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E.
COLLABORATIVE EXECUTION ENVIRONMENT FOR HETEROGENEOUS PARALLEL SYSTEMS Aleksandar Ili´c, Leonel Sousa 2010 IEEE International Symposium on Parallel & Distributed.
Jakub Szefer, Eric Keller, Ruby B. Lee Jennifer Rexford Princeton University CCS October, 2011 報告人:張逸文.
1 Lecture 4: Threads Operating System Fall Contents Overview: Processes & Threads Benefits of Threads Thread State and Operations User Thread.
 What is an operating system? What is an operating system?  Where does the OS fit in? Where does the OS fit in?  Services provided by an OS Services.
OS provide a user-friendly environment and manage resources of the computer system. Operating systems manage: –Processes –Memory –Storage –I/O subsystem.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 3: Operating Systems Computer Science: An Overview Tenth Edition.
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
A Comparative Study of the Linux and Windows Device Driver Architectures with a focus on IEEE1394 (high speed serial bus) drivers Melekam Tsegaye
Processes and Threads CS550 Operating Systems. Processes and Threads These exist only at execution time They have fast state changes -> in memory and.
Processes and Threads Processes have two characteristics: – Resource ownership - process includes a virtual address space to hold the process image – Scheduling/execution.
System Software Provides GUI Manages the resources of the computer system Defines the Software Platform Components of System Software Operating system.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster computers –shared memory model ( access nsec) –message passing multiprocessor.
Chapter 8-2 : Multicomputers Multiprocessors vs multicomputers Multiprocessors vs multicomputers Interconnection topologies Interconnection topologies.
Beowulf Software. Monitoring and Administration Beowulf Watch 
1 Threads, SMP, and Microkernels Chapter 4. 2 Process Resource ownership: process includes a virtual address space to hold the process image (fig 3.16)
1 Threads, SMP, and Microkernels Chapter Multithreading Operating system supports multiple threads of execution within a single process MS-DOS.
CS533 - Concepts of Operating Systems 1 The Mach System Presented by Catherine Vilhauer.
UNIX Unit 1- Architecture of Unix - By Pratima.
The Mach System Silberschatz et al Presented By Anjana Venkat.
THAWAN KOOBURAT MICHAEL SWIFT UNIVERSITY OF WISCONSIN - MADISON 1 The Best of Both Worlds with On-Demand Virtualization.
Microkernel Systems - Jatin Lodhia. What is Microkernel A microkernel is a minimal computer operating system kernel which, in its purest form, provides.
Chapter 3 Operating Systems. © 2005 Pearson Addison-Wesley. All rights reserved 3-2 Chapter 3 Operating Systems 3.1 The Evolution of Operating Systems.
Processes. Process Concept Process Scheduling Operations on Processes Interprocess Communication Communication in Client-Server Systems.
Lecture 5 Rootkits Hoglund/Butler (Chapters 1-3).
Introduction Contain two or more CPU share common memory and peripherals. Provide greater system throughput. Multiple processor executing simultaneous.
Chapter 4 Threads, SMP, and Microkernels Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E.
UDI Technology Benefits Slide 1 Uniform Driver Interface UDI Technology Benefits.
OPERATING SYSTEM REVIEW. System Software The programs that control and maintain the operation of the computer and its devices The two parts of system.
Find – used to find files corresponding to a certain criteria find starting_dir matching_criteria [options] Examples: find /usr –name startx find /usr.
Software.
Introduction to threads
Client-Server Communication
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.
Why VT-d Direct memory access (DMA) is a method that allows an input/output (I/O) device to send or receive data directly to or from the main memory, bypassing.
Operating System Review
Operating Systems CMPSC 473
Auburn University COMP7500 Advanced Operating Systems I/O-Aware Load Balancing Techniques (2) Dr. Xiao Qin Auburn University.
Operating System Review
Chapter 4 Multithreading programming
湖南大学-信息科学与工程学院-计算机与科学系
Threads, SMP, and Microkernels
Chapter 15, Exploring the Digital Domain
QNX Technology Overview
Operating Systems Chapter 5: Input/Output Management
CS703 - Advanced Operating Systems
Lecture 4- Threads, SMP, and Microkernels
Operating System Introduction.
Computer Startup.
Chapter 1: Introduction CSS503 Systems Programming
A very basic introduction
Chapter 13: I/O Systems “The two main jobs of a computer are I/O and [CPU] processing. In many cases, the main job is I/O, and the [CPU] processing is.
Presentation transcript:

OS support for Teraflux A Prototype Avi Mendelson Doron Shamia

System and Execution Models Data Flow Based System is made out of clusters. Each cluster contains 16 cores (may change) Each cluster is controlled by a single “OS kernel”; e.g., Linux, L4 Execution is made up of tasks; each task Has no side effects Are scheduled with their data (may use pointers) May return results If fail to complete, can be reschedule on the same core/other core Tasks can be executed on any (service) cluster and has a unified view of system memory All resource allocation/management is done in two levels, a local one and a global one Jan 17-18 2011, Rome, Italy

System Overview Target Protoyped System Cores View Memory View CPU Linux L4 Linux L4 Configuration Page Message Buffers CPU == Cluster Jan 17-18 2011, Rome, Italy

Target System OS Requirements Linux (Full OS) Each uK runs a job Jobs sent by full OS (FOS) Jobs have no side-effects Failed jobs are simply restarted Runs low level FT, reporting to FOS Single chip Multi cores CPU Linux L4 L4 (uKernel) Manages jobs on uKernel (uK) cores Proxies uKs I/O requests Remote debug uKs/self Runs high level (system) FT managing uK/self faults Jan 17-18 2011, Rome, Italy

Communications (1) Buffer L4 Ownership (L4/Linux) Ready flag Type Length (bytes) Data Fixups (optional) Configuration Page Message Buffers Linux Jan 17-18 2011, Rome, Italy

Communications (2) Ownership: who currently uses the buffer Linux L4 Configuration Page Message Buffers Buffer Ownership (L4/Linux) Ready flag Type Length (bytes) Data Fixups (optional) Ownership: who currently uses the buffer Ready: Signals the buffer is ready to be transferred to the other side (inverse owner) Type: The message type Data: simply the raw data (according to type) Fixups: A list of fixups in case we pass pointers Jan 17-18 2011, Rome, Italy

Current Prototype Goal: Quick development of OS support, and applications (later to move on COTson full prototype) Quick prototyping via VMs Linux on both ends (Fedora 13) Main node = Linux (host) Service Nodes = Linux (VMs) Using shared memory between Host and VMs Between VMs Shared memory uses kernel driver (ivshmem) Jan 17-18 2011, Rome, Italy

Prototype Architecture Linux F13 (Host) App Linux F13 QEMU Linux F13 QEMU User space Kernel space IVSHMEM Linux F13 QEMU Linux F13 QEMU Jan 17-18 2011, Rome, Italy

QEMU maps shared-memory into RAM IV Shared Memory Arch mmap to user level Exposed as a PCI BAR QEMU maps shared-memory into RAM Jan 17-18 2011, Rome, Italy

Communications App Linux F13 (Host) App Host App Logic Message queue API Host App Logic Linux F13 QEMU Linux F13 (Host) App Message queue API Data Flow App Linux F13 QEMU User space Kernel space Shared RAM Msg Msg Msg Linux F13 QEMU Linux F13 QEMU Jan 17-18 2011, Rome, Italy

Demo (toy) Apps Distributed sum app Distributed Mandelbrot Single work dispatcher (host) Multiple sum-engines (VMs) Distributed Mandelbrot Single work dispatcher – lines (host) Multiple compute engines – compute pixels of each line (VMs) Jan 17-18 2011, Rome, Italy

Futures Single Boot Distributed Fault Tolerance Cores Repurposing A TeraFlux chips boots a FOS FOS boots the uKs on the other cores Looks like a single boot process Distributed Fault Tolerance Allow uK/FOS to test each others health One step beyond FOS-centric FT Cores Repurposing If FOS cores fail, uK cores re-boot as FOS New FOS takes over using last valid data snapshot Jan 17-18 2011, Rome, Italy

References Inter-VM Shared memory Jan 17-18 2011, Rome, Italy