WWW.GEDAE.COM 0 HPEC 2010 Automated Software Cache Management.

Slides:



Advertisements
Similar presentations
Effects of Virtual Cache Aliasing on the Performance of the NetBSD Operating System Rafal Boni CS 535 Project Presentation.
Advertisements

Code Transformations to Improve Memory Parallelism Vijay S. Pai and Sarita Adve MICRO-32, 1999.
Computer Organization CS224 Fall 2012 Lesson 44. Virtual Memory  Use main memory as a “cache” for secondary (disk) storage l Managed jointly by CPU hardware.
1 OS Structure, Processes & Process Management. 2 Recap OS functions  Coordinator  Protection  Communication  Resource management  Service provider.
Programming Multiprocessors with Explicitly Managed Memory Hierarchies ELEC 6200 Xin Jin 4/30/2010.
ECE 526 – Network Processing Systems Design Software-based Protocol Processing Chapter 7: D. E. Comer.
Virtual Memory Operating Systems Lecture # 8. Multi-tasking OS OS Excel MS Word Outlook 0x0000 0x7000 0x4000 0x8000 0x9000.
Phones OFF Please Operating System Introduction Parminder Singh Kang Home:
Memory Management 2010.
Figure 1.1 Interaction between applications and the operating system.
System Calls B.Ramamurthy (Adapted from Tannenbaum’s text)
Stack Management Each process/thread has two stacks  Kernel stack  User stack Stack pointer changes when exiting/entering the kernel Q: Why is this necessary?
Computer System Architectures Computer System Software
UNIX System Administration OS Kernal Copyright 2002, Dr. Ken Hoganson All rights reserved. OS Kernel Concept Kernel or MicroKernel Concept: An OS architecture-design.
Gedae, Inc. Implementing Modal Software in Data Flow for Heterogeneous Architectures James Steed, Kerry Barnes, William Lundgren Gedae, Inc.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
Dawn Pedersen. Flick the switch… What happens when you turn a computer on?
STRATEGIC NAMING: MULTI-THREADED ALGORITHM (Ch 27, Cormen et al.) Parallelization Four types of computing: –Instruction (single, multiple) per clock cycle.
Gedae Portability: From Simulation to DSPs to the Cell Broadband Engine James Steed, William Lundgren, Kerry Barnes Gedae, Inc
CS 444 Introduction to Operating Systems
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
The Central Processing Unit (CPU) and the Machine Cycle.
Instruction Set Architecture The portion of the machine visible to the programmer Issues: Internal storage model Addressing modes Operations Operands Encoding.
OPERATING SYSTEM SUPPORT DISTRIBUTED SYSTEMS CHAPTER 6 Lawrence Heyman July 8, 2002.
Linux Kernel Management. Module 9 – Kernel Administration ♦ Overview The innermost layer of Linux operating system is the kernel, which is a thin layer.
Computer Software Types Three layers of software Operation.
Chapter 4 Software. Chapter 4: Software Generations of Languages Each computer is wired to perform certain operations in response to an instruction. An.
Gedae, Inc. Gedae: Auto Coding to a Virtual Machine Authors: William I. Lundgren, Kerry B. Barnes, James W. Steed HPEC 2004.
CIS250 OPERATING SYSTEMS Chapter One Introduction.
An Efficient CUDA Implementation of the Tree-Based Barnes Hut n-body Algorithm By Martin Burtscher and Keshav Pingali Jason Wengert.
CS2100 Computer Organisation Virtual Memory – Own reading only (AY2015/6) Semester 1.
OSes: 2. Structs 1 Operating Systems v Objective –to give a (selective) overview of computer system architectures Certificate Program in Software Development.
Virtual Memory Review Goal: give illusion of a large memory Allow many processes to share single memory Strategy Break physical memory up into blocks (pages)
Chapter 1: Introduction to Visual Basic.NET: Background and Perspective Visual Basic.NET Programming: From Problem Analysis to Program Design.
Virtual Machines Mr. Monil Adhikari. Agenda Introduction Classes of Virtual Machines System Virtual Machines Process Virtual Machines.
Bootstrapping Introduction. Bootstrapping Introduction: Computers execute programs stored in main memory, and initially the operating system is on the.
KERRY BARNES WILLIAM LUNDGREN JAMES STEED
Background Computer System Architectures Computer System Software.
Software. Introduction n A computer can’t do anything without a program of instructions. n A program is a set of instructions a computer carries out.
Gedae Portability: From Simulation to DSPs to the Cell Broadband Engine James Steed, William Lundgren, Kerry Barnes Gedae, Inc
Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007 Chapter 0: Historical Overview.
Virtualization Neependra Khare
Introduction to Operating Systems Concepts
Computer System Structures
Virtualization.
Current Generation Hypervisor Type 1 Type 2.
Memory Key Revision Points.
Interpreted languages Jakub Yaghob
Sujata Ray Dey Maheshtala College Computer Science Department
Topic: Difference b/w JDK, JRE, JIT, JVM
Mobile Operating System
The Operating System Nick Sims.
Section 1: Introduction to Simics
Operation System Program 4
Computer Systems Summary
High Level Programming Languages
System Calls.
Symmetric Multiprocessing (SMP)
Sujata Ray Dey Maheshtala College Computer Science Department
- 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,
Computer System Structures
CS533 Concepts of Operating Systems Class 6
System Calls System calls are the user API to the OS
Multicore and GPU Programming
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.
Multicore and GPU Programming
Sarah Diesburg Operating Systems COP 4610
COT 5611 Operating Systems Design Principles Spring 2014
A very basic introduction
Function of Operating Systems
Presentation transcript:

0 HPEC 2010 Automated Software Cache Management

Threads Hardware Threads Hardware Threads Gedae OS Hardware Disjoint OS Disjoint Hardware Middleware Application Disjoint OS Middleware Disjoint Hardware OS Middleware Application Language Compiler API for Distribution Standard ApproachGedae Approach Software StackCompiler Automation Hardware Desired Behavior in High Level Language Compiler Translation Gedae moves the complexity of hand coding, distribution of computation and resource management (e.g. load balancing) to the compiler. Manual Translation Desired Behavior 1

Code Root for Mode 1 OS Kernel Module 1.1 Module 1.2 Module 1.3 Module Module Compiler Creates a Code Tree The OS kernel loads the code root. The compiler has built in functions to load as needed. Compiler localizes each code module and aligns them in memory to maximize the transfer speed from system memory. 2

SPE 0 PPE Each SPE Manages Its Own Code Tree The PPE controls the mode of operation. Once set it informs each SPE of the code tree it is to run and each SPE then runs independently maximizing concurrency. SPE 1SPE 2SPE 3SPE 4SPE 5SPE 6SPE 7 System Memory 3 System memory stores all overlays for all modes Mode A Mode B Run mode A