Questions To Ask When Considering Designing Asymmetric Multiprocessing Systems George Cox.

Slides:



Advertisements
Similar presentations
2013/06/10 Yun-Chung Yang Kandemir, M., Yemliha, T. ; Kultursay, E. Pennsylvania State Univ., University Park, PA, USA Design Automation Conference (DAC),
Advertisements

WHAT IS AN OPERATING SYSTEM? An interface between users and hardware - an environment "architecture ” Allows convenient usage; hides the tedious stuff.
Background Computer System Architectures Computer System Software.
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
03/26/2010CSCI 315 Operating Systems Design1 Virtual Memory Notice: The slides for this lecture have been largely based on those accompanying an earlier.
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
Multiprocessors ELEC 6200: Computer Architecture and Design Instructor : Agrawal Name: Nam.
1: Operating Systems Overview
Computer Organization and Architecture
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Processes.
OPERATING SYSTEMS Introduction
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Layers and Views of a Computer System Operating System Services Program creation Program execution Access to I/O devices Controlled access to files System.
Basics of Operating Systems March 4, 2001 Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard.
Memory Management ◦ Operating Systems ◦ CS550. Paging and Segmentation  Non-contiguous memory allocation  Fragmentation is a serious problem with contiguous.
Computer System Architectures Computer System Software
Review of Memory Management, Virtual Memory CS448.
LOGO OPERATING SYSTEM Dalia AL-Dabbagh
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
Summary and Review. Course Objectives The main objectives of the course are to –introduce different concepts in operating system theory and implementation;
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 9: Virtual Memory.
1 Rutgers UniversityCS 416: Operating Systems Final exam details December 22, pm-3pm. Venue: SEC 118. Tips: Spend time reading the questions before.
Silberschatz, Galvin and Gagne  Operating System Concepts Virtual Memory Virtual memory – separation of user logical memory from physical memory.
Lecture 19 Virtual Memory Demand Paging. Background Virtual memory – separation of user logical memory from physical memory. –Only part of the program.
Principles of Operating Systems Lecture 18: Review and Future Prof. Joseph Pasquale University of California, San Diego March 13, 2013 © 2013 by Joseph.
What is an Operating System? Various systems and their pros and cons –E.g. multi-tasking vs. Batch OS definitions –Resource allocator –Control program.
Chapter 3: Processes. 3.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7 th Edition, Feb 7, 2006 Chapter 3: Processes Process Concept.
UDI Technology Benefits Slide 1 Uniform Driver Interface UDI Technology Benefits.
10.1 Chapter 10: Virtual Memory Background Demand Paging Process Creation Page Replacement Allocation of Frames Thrashing Operating System Examples.
Background Computer System Architectures Computer System Software.
1 Contents Memory types & memory hierarchy Virtual memory (VM) Page replacement algorithms in case of VM.
Chapter 9: Virtual Memory. 9.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Background Virtual memory – separation of user logical memory.
Added Value to XForms by Web Services Supporting XML Protocols Elina Vartiainen Timo-Pekka Viljamaa T Research Seminar on Digital Media Autumn.
Computer Architecture Lecture 12: Virtual Memory I
Introduction to Kernel
Overview Parallel Processing Pipelining
Processes and threads.
Distributed Processors
Andy Wang COP 5611 Advanced Operating Systems
Threads and Scheduling
Andy Wang COP 5611 Advanced Operating Systems
Memory Management © 2004, D. J. Foreman.
I/O Resource Management: Software
Operating System I/O System Monday, August 11, 2008.
Overview Parallel Processing Pipelining
Final Review CS144 Review Session 9 June 4, 2008 Derrick Isaacson
Lecture 28: Virtual Memory-Address Translation
Chapter 9: Virtual-Memory Management
Lecture 27: Virtual Memory
Threads, SMP, and Microkernels
ICS 143 Principles of Operating Systems
Page Replacement.
Multiprocessors - Flynn’s taxonomy (1966)
Mid Term review CSC345.
Operating Systems.
Information Security - 2
What time is it?. What time is it? Major Concepts: a data structure model: basic representation of data, such as integers, logic values, and characters.
Computer Architecture: A Science of Tradeoffs
Contents Memory types & memory hierarchy Virtual memory (VM)
Andy Wang COP 5611 Advanced Operating Systems
CSE 471 Autumn 1998 Virtual memory
Evolution in memory management techniques
January 15, 2004 Adrienne Noble
CSE 542: Operating Systems
Evolution in memory management techniques
Evolution in memory management techniques
CSE 542: Operating Systems
Andy Wang COP 5611 Advanced Operating Systems
Virtual Memory.
Multiprocessors and Multi-computers
Presentation transcript:

Questions To Ask When Considering Designing Asymmetric Multiprocessing Systems George Cox

Agenda Context of Asymmetric Multiprocessing Systems design Including Asymmetric Multicore Systems Closeness Sharing – tight to loose, up the semantics stack Communication overheads – tight to loose physical connection Closer => less latency => less overheads => Better performance? Lower power? Integrating New Functionality Continuing new types Natural tendency to want to integrate support to improve Performance Power Cost Competitiveness

Context Asymmetric Multiprocessing Systems Including Asymmetric Multicore Systems You have a multi-dimensional space in which to work We will describe a two (2) space example You must pick the optimal(?) point(s) within your design constraints You rarely get a “clean sheet of paper” Historical I/O models – driver-based, “through” data flow Historical coprocessor models – driver-based, “in and back out” data flow

Sharing Equivalent shared semantics Between processing elements Up the semantics stack Physical addressing – size, shared or separated, movement between Logical addressing – address translation (e.g., paging) Virtual addressing – uniform (or not) swapping model Caching – same number of levels, line length, sizes, replacement algorithms, consistency model, inter-core/processor handshakes Processing element functionality Same ISA (or not) Virtual machines – uniform semantics, representation, migration across ISA/performance differences

Communication Overheads Tight to loose physical connection – less to more latency Intra-die Inter-die Inter-package Shared memory Via bus Via network

Design Space Sharing Virtual Addressing Physical Addressing Logical Addressing Caching Processing Element Functionality Virtual Machines Better? Worse? Intra-Die Inter-Die Inter Package Shared Memory Via Bus Via Network Communication Overheads

Integrating New Functionality New types Cryptography, graphics, radios, sensors Granularity Which kind of interface to use Instruction Accelerator(s) - ISA (synchronous or asynchronous) interface I/O – driver (asynchronous) interface Coprocessor – driver (asynchronous) interface Sequencing Synchronous Long running functions can pose response latency for OS; Divide function into sequence of smaller functions (e.g., AESNI) Asynchronous – fork, join In the end We have tried lots of kinds of interfaces over time Instructions (almost always eventually) win