October 2007Susan Eggers: SOSP Women's Workshop 1 Your Speaker in a Nutshell BA in Economics 1965 PhD University of CA, Berkeley 1989 Technical skills.

Slides:



Advertisements
Similar presentations
Concurrency The need for speed. Why concurrency? Moore’s law: 1. The number of components on a chip doubles about every 18 months 2. The speed of computation.
Advertisements

WHAT IS AN OPERATING SYSTEM? An interface between users and hardware - an environment "architecture ” Allows convenient usage; hides the tedious stuff.
Introduction CSCI 444/544 Operating Systems Fall 2008.
Prof. Srinidhi Varadarajan Director Center for High-End Computing Systems.
Distributed systems Programming with threads. Reviews on OS concepts Each process occupies a single address space.
Background Computer System Architectures Computer System Software.
March 18, 2008SSE Meeting 1 Mary Hall Dept. of Computer Science and Information Sciences Institute Multicore Chips and Parallel Programming.
Distributed systems Programming with threads. Reviews on OS concepts Each process occupies a single address space.
1 COMP 206: Computer Architecture and Implementation Montek Singh Mon, Dec 5, 2005 Topic: Intro to Multiprocessors and Thread-Level Parallelism.
1: Operating Systems Overview
OPERATING SYSTEM OVERVIEW
CS533 Concepts of Operating Systems Class 2 Thread vs Event-Based Programming.
1 New Architectures Need New Languages A triumph of optimism over experience! Ian Watson 3 rd July 2009.
A. Frank - P. Weisberg Operating Systems Introduction to Tasks/Threads.
PRASHANTHI NARAYAN NETTEM.
Project Proposal (Title + Abstract) Due Wednesday, September 4, 2013.
Introduction to Symmetric Multiprocessors Süha TUNA Bilişim Enstitüsü UHeM Yaz Çalıştayı
Highly Available ACID Memory Vijayshankar Raman. Introduction §Why ACID memory? l non-database apps: want updates to critical data to be atomic and persistent.
Computer System Architectures Computer System Software
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
UNIX System Administration OS Kernal Copyright 2002, Dr. Ken Hoganson All rights reserved. OS Kernel Concept Kernel or MicroKernel Concept: An OS architecture-design.
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
1 Lecture 2 Introduction, OS History n objective of an operating system n OS history u no OS u batch system u multiprogramming u multitasking.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
LOGO OPERATING SYSTEM Dalia AL-Dabbagh
 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.
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
CS 1308 Computer Literacy and the Internet. Introduction  Von Neumann computer  “Naked machine”  Hardware without any helpful user-oriented features.
ICOM Noack Operating Systems - Administrivia Prontuario - Please time-share and ask questions Info is in my homepage amadeus/~noack/ Make bookmark.
Composition and Evolution of Operating Systems Introduction to Operating Systems: Module 2.
Multi-core Programming Introduction Topics. Topics General Ideas Moore’s Law Amdahl's Law Processes and Threads Concurrency vs. Parallelism.
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
CS 346 – Chapter 1 Operating system – definition Responsibilities What we find in computer systems Review of –Instruction execution –Compile – link – load.
Invitation to Computer Science 5 th Edition Chapter 6 An Introduction to System Software and Virtual Machine s.
INVITATION TO COMPUTER SCIENCE, JAVA VERSION, THIRD EDITION Chapter 6: An Introduction to System Software and Virtual Machines.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
Games Development 2 Concurrent Programming CO3301 Week 9.
COMP 111 Threads and concurrency Sept 28, Tufts University Computer Science2 Who is this guy? I am not Prof. Couch Obvious? Sam Guyer New assistant.
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
Distributed Computing Systems CSCI 4780/6780. Geographical Scalability Challenges Synchronous communication –Waiting for a reply does not scale well!!
Operating System 2 Overview. OPERATING SYSTEM OBJECTIVES AND FUNCTIONS.
Spring 2003CSE P5481 Issues in Multiprocessors Which programming model for interprocessor communication shared memory regular loads & stores message passing.
1: Operating Systems Overview 1 Jerry Breecher Fall, 2004 CLARK UNIVERSITY CS215 OPERATING SYSTEMS OVERVIEW.
Operating Systems: Wrap-Up Questions answered in this lecture: What is an Operating System? Why are operating systems so interesting? What techniques can.
1 Copyright © 2010, Elsevier Inc. All rights Reserved Chapter 2 Parallel Hardware and Parallel Software An Introduction to Parallel Programming Peter Pacheco.
Distributed Computing Systems CSCI 6900/4900. Review Distributed system –A collection of independent computers that appears to its users as a single coherent.
Thread basics. A computer process Every time a program is executed a process is created It is managed via a data structure that keeps all things memory.
6.894: Distributed Operating System Engineering Lecturers: Frans Kaashoek Robert Morris
Lecture 4 Page 1 CS 111 Online Modularity and Virtualization CS 111 On-Line MS Program Operating Systems Peter Reiher.
Parallel IO for Cluster Computing Tran, Van Hoai.
SMP Basics KeyStone Training Multicore Applications Literature Number: SPRPxxx 1.
Background Computer System Architectures Computer System Software.
Introduction Goal: connecting multiple computers to get higher performance – Multiprocessors – Scalability, availability, power efficiency Job-level (process-level)
Page 1 2P13 Week 1. Page 2 Page 3 Page 4 Page 5.
Intro to Distributed Systems Hank Levy. 23/20/2016 Distributed Systems Nearly all systems today are distributed in some way, e.g.: –they use –they.
1  2004 Morgan Kaufmann Publishers Fallacies and Pitfalls Fallacy: the rated mean time to failure of disks is 1,200,000 hours, so disks practically never.
Cofax Scalability Document Version Scaling Cofax in General The scalability of Cofax is directly related to the system software, hardware and network.
Spring 2003CSE P5481 WaveScalar and the WaveCache Steven Swanson Ken Michelson Mark Oskin Tom Anderson Susan Eggers University of Washington.
Computer Organization and Architecture Lecture 1 : Introduction
COMPSCI 110 Operating Systems
Done By: Ashlee Lizarraga Ricky Usher Jacinto Roches Eli Gomez
Many-core Software Development Platforms
Chapter 15, Exploring the Digital Domain
What is Concurrent Programming?
Language Processors Application Domain – ideas concerning the behavior of a software. Execution Domain – Ideas implemented in Computer System. Semantic.
- When you approach operating system concepts there might be several confusing terms that may look similar but in fact refer to different concepts:  multiprogramming, multiprocessing, multitasking,
Chapter-1 Computer is an advanced electronic device that takes raw data as an input from the user and processes it under the control of a set of instructions.
Distributed Systems and Concurrency: Distributed Systems
Lecture Topics: 11/1 Hand back midterms
Presentation transcript:

October 2007Susan Eggers: SOSP Women's Workshop 1 Your Speaker in a Nutshell BA in Economics 1965 PhD University of CA, Berkeley 1989 Technical skills and innovations that married architecture & compilers. Mostly collaborations. Pushed for quality over quantity, technology transfer & impact I have always loved my job. Thesis: better understanding of sharing behavior MVP: Simultaneous Multithreading Current work: a new life for dataflow machines Transitioning to retirement (golf, gardening & landscaping, food snob).

October 2007Susan Eggers: SOSP Women's Workshop 2 Challenge in Computer Architecture There’s one biggie: programs run faster

October 2007Susan Eggers: SOSP Women's Workshop 3 The Underlying Cause

October 2007Susan Eggers: SOSP Women's Workshop 4 How Architects are Addressing the Challenge Some things we have some idea how to do: More aggressive speculation (threads, memory, value) More aggressive recovery mechanisms (transactional memory) Lighter-weight locking mechanisms Exploiting super-fine-grain parallelism with dataflow execution Adding a few more processors The engineering: building hardware for sharing and concurrency

October 2007Susan Eggers: SOSP Women's Workshop 5 How Architects are Addressing the Challenge Some things we have not a clue about: Writing parallel codes for 100s or 1000s of processors Discovering other than embarrassingly parallel, coarse-grain parallelism Determining the best programming model for writing parallel codes Should the programmer detect parallelism or should the compiler do it automatically? Devising language constructs to express parallelism Exploiting the concurrency once we’ve discovered it Avoiding race conditions, deadlock, livelock Doing all this in a way that is simple and intuitive for the programmer

October 2007Susan Eggers: SOSP Women's Workshop 6 How Architects are Addressing the Challenge Some things we have not a clue about: Executing with 100s or 1000s of processors Making good trade-offs between load balancing & locality Recovering from failing processors (RAID issues)

October 2007Susan Eggers: SOSP Women's Workshop 7 Rules of Thumb for Picking New Research Projects How to develop a nose for good research ideas. What in the underlying technology or application space has changed? How has it changed? How does that affect my area of interest? In what areas can I no longer do business as usual? Where are the new performance bottlenecks? What opportunities does the change bring? What technology or techniques that went out of style can be resurrected? Caveat: technology trends don’t always turn out the way you expect CCDs failed in computers; Prologue failed Are supercomputers failing? Will quantum and DNA computing succeed?

October 2007Susan Eggers: SOSP Women's Workshop 8 Examples of OS Research that are Driven by Computer Architecture The operating system: How do you design an OS for 1000s of processors? How do current OSs hinder scalability? Where are the bottlenecks? Where are the centralized software structures? Do you start from scratch? Great opportunity to design free of tradition & an industry standard What should be the key design criteria? Do you use virtual machines to execute programs on small clusters of processors and then build a programming environment that hides that?

October 2007Susan Eggers: SOSP Women's Workshop 9 Examples of OS Research that are Driven by Computer Architecture Transactional memory: How should programs written with transactions interface with the OS? What does rollback mean over a network? Security: What if everyone is a parallel programmer? latent concurrency bugs, deadlock, livelock What are the implications for security?

October 2007Susan Eggers: SOSP Women's Workshop 10 Examples of OS Research that are Driven by Computer Architecture Fine-grain threads: The OS has to support more than pthreads. How fine-grain can/should they be? And stepping back, what is a thread? Can it be data centric? Virtual machine support in hardware: What if virtual machines were very light-weight? What might you use them for and how? Can a virtual machine replace a process? a protection domain?

October 2007Susan Eggers: SOSP Women's Workshop 11 Examples of OS Research that are Driven by Something Else New applications: How will Google’s needs change the OS? How should the OS manage fast I/O between CPUs (10Gb)? How can the OS make up for its absence? Phase-change memory (fast, non-volatile, but high power) How would you build a file system if you didn’t need disks? Third-world computing: Low-cost, low-power, multi-lingual, multiple education levels, different apps What does the OS look like? More powerful processor, same number of pins? How do you feed it?