Embedded Software Streaming via Block Stream

Size: px
Start display at page:

Download "Embedded Software Streaming via Block Stream"

Transcription

1 Embedded Software Streaming via Block Stream A Dissertation by Pramote Kucharoen Dissertation Advisor Professor Vincent J. Mooney III 7 April 2004

2 Outline Introduction Related Work Block Streaming Stream-Enabled Program Files Stream-Enabled File I/O Performance Enhancement Experiments and Results Conclusion 2

3 Introduction Package Download & Remote execution Software Streaming 3

4 Running Applications On clients (download and install) Advantages Less servers computing requirements Faster user interaction after installation complete Disadvantages Long download time Clients limited resources Unused features downloaded On servers (remote execution) Advantages Applications not downloaded Less clients computing requirements Disadvantages Overloading of servers Slower user interactions Connection loss 4

5 Software Streaming

6 Software streaming Definitions A method for allowing the execution of streamenabled software even while transmission/streaming of the software may still be in progress Application load time the amount of time from when the application is selected for download to when the application can be executed Application suspension time the amount of time from when the application is suspended due to missing code to when the application can be resumed 6

7 Outline Introduction Related Work Block Streaming Stream-Enabled Program Files Stream-Enabled File I/O Performance Enhancement Experiments and Results Conclusion 7

8 Java Related Work (1) Allows execution without obtaining all classes Sends class files when requested Suspends the application for every class not in memory Requires JVM Assumes clients has enough memory to store the entire application 8

9 Related Work (2) Software caching [CH02] Has high occurrence of application suspension Liquid software [JH96] Requires a fast ( gigabit ) compiler 9

10 Related Work (3) Function/module streaming [CK98][UR01] Allows execution without obtaining all functions Transfers functions speculatively to reduce the occurrence of application suspension Assumes clients has enough memory to store the entire application More difficult to manage memory 10

11 Block streaming Related Work (4) Divides files into blocks Streams at block level No known prior work 11

12 Related Work (4) Block Streaming Java Function/Module Streaming application load time application suspension Direct Download Software Caching resources Remote Execution 12

13 Outline Introduction Related Work Block streaming Stream-Enabled Program Files Stream-Enabled File I/O Performance Enhancement Experiments and Results Conclusion 13

14 Block Streaming Does not require virtual machines, virtual file system, compiler at client, special support from OS Uses a binary rewriting technique Supports embedded applications and small memory footprint devices Implements at user level (not OS dependant) Provides stream-enabled file I/O support 14

15 Objectives To reduce application load time To reduce application suspension time and occurrence of application suspension due to missing code/data To efficiently utilize resources such as bandwidth and memory To support small memory footprint embedded devices To optimize the above four objectives simultaneously (as opposed to tradeoffs) 15

16 High Objective tradeoffs occurrence of application suspension application load time, resources Low Send when requested Send the entire application Data transfer 16

17 Block Streaming: Stream Units Stream Units 0 Stream-Enabling Stream-Enabling Info Info Block Block Program File/Data File File 1 Stream-Enabling Stream-Enabling Info Info Block Block 2 Stream-Enabling Stream-Enabling Info Info Block Block 17

18 Softstream Client/Server Model 18

19 Softstream Protocol Layers OSI Layers: Stream-enabled Application Softstream Assembly Softstream Protocol TCP TCP IP IP Subnetwork Application Presentation Session Transport Network Link Physical 19

20 Transmission Profile Is created using a profiling method Is used to send stream units j=0 j= i=0 i=

21 Continuous stream Flow Control (1) Sends stream units according to the transmission profile Restarts a new sequence when requesting a missing stream unit 21

22 Flow Control (2) On-demand stream Sends stream units according to the transmission profile based on resource constraints 22

23 Overhead Bandwidth Memory Processing time Performance Metrics Application load time Application suspension time Occurrence of application suspensions due to missing code/data 23

24 Outline Introduction Related Work Block Streaming Stream-Enabled Program Files Stream-Enabled File I/O Performance Enhancement Experiments and Results Conclusion 24

25 Stream-Enabled Program Files Code generation Code modification Code profiling 25

26 System Overview Divide Divide Binary Binary Image Image into into Blocks Blocks Request Request Stream Unit Stream Unit Generate Generate Stream Stream Units Units Not in Memory Receive Block Create Create a a Transmission Transmission Profile Profile Link Link Stream Stream Block Block Off-block Load Load Stream Stream Block Block Accept Accept Request Request Encounter Off- Block Branch In Memory Program Entry Point Send Send Stream Stream Unit Unit Read Read Transmission Transmission Profile Profile Run Run the the Application Application Server Client 26

27 Generating Blocks Binary Image Stream-Enabled Application Source Code #include #include <stdio.h> <stdio.h> int int main() main() int int i; i; GCC Stream-Enabling Stream-Enabling Info Info Stream Unit Stream-Enabling Stream-Enabling Info Info Stream Unit Stream-Enabling Stream-Enabling Info Info Stream Unit 27

28 Exiting and Entering a Block bl bl comp comp comp: comp: stwu stwu r1,-31(r1) lwz lwz r0,8(r1) cmpwi cmpwi r0,1 r0,1 bne bne.l3.l3 li li r0,0 r0,0 stw stw r0,8(r31) b.l4.l4.l3:.l3: sc sc li li r0,1 r0,1 stw stw r0,8(r31) li li r3,0 r3,0.l4:.l4: blr blr branch exception after executing the last instruction return Off-block branch: Branch instruction that may cause the CPU to execution an instruction in a different block 28

29 Code Generation Preventing the execution of non-existing code Static branches Dynamic branches (return, function pointer) Exception instructions Last instruction of the block Coping with non-interruptible sections Stream execution code prior to the current block Generating stream-enabling information Location of the off-block branches Branch number assigned sequentially 29

30 Code Modification Load time code modification Modifies off-block branches to jump to the branch table Stores in off-block branch information in Branch Info Table Run time code modification Modifies the off-block branches to jump to the intended code 30

31 Code Modification Example (1) if (i==1) i=0; else i=1; cmpwi cmpwi r0,1 r0,1 bne bne.l3.l3 li li r0,0 r0,0 stw stw r0,8(r31) b.l4.l4.l3:.l3:.l4:.l4: li li r0,1 r0,1 stw stw r0,8(r31) 31

32 Code Modification Example (2).L3:.L3:.L4:.L4: cmpwi cmpwi r0,1 r0,1 bne bne load2_1.l3 li li r0,0 r0,0 stw stw r0,8(r31) b load2_2 li li r0,1 r0,1 stw stw r0,8(r31) b load3_0 load2_1: load2_2: load3_0: 32

33 Code Profiling Program Entry Point Program Exit Point

34 Recap: Block Streaming for Program File Divide Divide Binary Binary Image Image into into Blocks Blocks Request Request Stream Unit Stream Unit Generate Generate Stream Stream Units Units Not in Memory Receive Block Create Create a a Transmission Transmission Profile Profile Link Link Stream Stream Block Block Off-block Load Load Stream Stream Block Block Accept Accept Request Request Encounter Off- Block Branch In Memory Program Entry Point Send Send Stream Stream Unit Unit Read Read Transmission Transmission Profile Profile Run Run the the Application Application Server Client 34

35 Outline Introduction Related Work Block Streaming Stream-Enabled Program Files Stream-enabled File I/O Performance Enhancement Experiments and Results Conclusion 35

36 Stream-Enabled File I/O To reduce file I/O operation latency Motivation A game application renders a 1MB scene 36

37 Stream Units for Data Block Generate stream units by dividing file into fixed size blocks Create transmission profile by profiling data Provide SIO function calls sio_open() sio_read() sio_write() sio_lseek() sio_close() 37

38 Block Table ID N-1 Address 0x x xFFFFFFFF 0x xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0x x xFFFFFFFF 0xFFFFFFFF 0x : 0x : 0x : 0x : 0x : 0x : 0x : 0x : 0x : 0x : 0x : 0x : 38

39 Data Profiling Example (1) 1 MB data file, data sorted in ascending order Divide the file into 10 equal-size blocks A database application searches for a record using a binary search algorithm Create a transmission profile according to the binary search algorithm Assume that the record is in block 5 39

40 Data Profiling Example (2) 1 MB

41 Recap: Block Streaming for Data File Divide Divide File File into into Blocks Blocks sio_open() sio_open() Generate Generate Stream Stream Units Units Create Create a a Transmission Transmission Profile Profile Not in Memory sio_lseek() sio_lseek() Not in Memory Request Request Stream Stream Unit Unit sio_write() sio_write() Send Stream Send Stream Unit Unit Accept Accept Request Request Read Read Transmission Transmission Profile Profile sio_read() sio_read() Receive Block Load Load Stream Stream Block Block sio_close() sio_close() Server Client 41

42 Outline Introduction Related Work Block Streaming Stream-Enabled Program Files Stream-Enabled File I/O Performance Enhancement Experiments and Results Conclusion 42

43 Objectives Performance Enhancement To reduce occurrence of application suspensions To support small memory footprint embedded devices Code transformation Enforcing block boundaries Remapping functions Steam unit removal Unlinking mechanism Stream unit replacement Requirement Fixed sized stream blocks 43

44 Enforcing Block Boundaries Example fn1: fn1: stwu stwu 1,-31(1) stw stw 3,8(1) lwz lwz 0,8(1) blr blr fn2: stwu 1,-31(1) stw 3,8(1) fn3: li 0,1 blr fn1: fn1: stwu stwu 1,-31(1) stw stw 3,8(1) lwz lwz 0,8(1) blr blr fn2: stwu 1,-31(1) stw 3,8(1) fn3: li 0,1 blr 44

45 Observations Remapping Functions Programmer places functions in the file randomly Compiler places the functions the same order as written Program jumps from block to block Higher occurrence of software suspensions 45

46 Remapping Function Example int int fn1( ) fn1( ) { x = fn5(a,b); fn5(a,b); } int int fn2( ) fn2( ) { } int int fn3( ) fn3( ) { } int int fn4( ) fn4( ) { } int int fn5( ) fn5( ) { y = fn7(z); fn7(z); } int int fn6( ) fn6( ) { } int int fn7( ) fn7( ) { } int int fn8( ) fn8( ) { } int int fn9( ) fn9( ) { } 46

47 Linking Unlinking Mechanism Run efficiently, no code checking Unlinking Remove blocks Need to know location of incoming branches to the block to be removed 47

48 Unlinking Mechanism Example cmpwi cmpwi r0,1 r0,1 bne bne.l3 load2_1.l3 li li r0,0 r0,0 stw stw r0,8(r31) b load2_2 load2_1: load2_2:.l3:.l3:.l4:.l4: li li r0,1 r0,1 stw stw r0,8(r31) 48

49 Objective Stream Unit Replacement Reduce number of retransmissions Example Game application (e.g., Doom) 6 MB 6 blocks, 1MB each PDA with 3 MB memory available 3 Blocks, 1 MB each 49

50 Stream Unit Replacement Example Execution profile: Transmission profile: Client memory: occurrences of application suspension for demand loading potentially 6 occurrences with block streaming 50

51 Outline Introduction Related Work Block Streaming Stream-Enabled Program Files Stream-Enabled File I/O Performance Enhancement Experiments and Results Conclusion 51

52 Experiments and Results Hardware setup Stream-enabled program file (SPF) Stream-enabled file I/O (SIO) Stream-enable program with stream-enabled file I/O 52

53 Simulation Environment VCS VCS Seamless CVE CVE XRAY XRAY Main processor I/O processor MPC750 MPC750 MPC750 MPC750 Address/Data Bus Memory Memory MPC750: 400 MHz Bus: 83 MHZ Memory: 16 MB 53

54 MBX860 Board Environment Network Cloud 10Mbps PC: Linux Traffic Shaper MBX860: PowerPC 860, 40MHz 10BaseT Ethernet 4 MB DRAM, 2 MB Flash Linux

55 Code Size Implementation softstream server softstream client softstream loader/linker stream-enabled file I/O softstream generator C lines Server: softstream server softstream generator Client: softstream client softstream loader/linker stream-enabled file I/O 55

56 SPF Overhead (1) Overhead per off-block branch Bandwidth 4 bytes (location of the branch) Memory 20 bytes (12 bytes for block table, 4 bytes for instruction, 4 bytes for location) Type of overhead Bandwidth Memory Overhead per off-block branch 4 bytes 20 bytes 56

57 Overhead per block SPF Overhead (2) Bandwidth: 12 bytes for headers + 4*n Memory: 20*n n = number of off-block branches 57

58 SPF Simulation Scenario Adaptive autonomous robot exploration Impossible to write and load software for all possible environments The mission control needs to update the robot software over a 128Kbps link The new code is 10MB The robot does not need all 10MB initially The robot must run the software to react to the new environment within 120 s 58

59 SPF Simulation Results Block size (bytes) Total # of blocks Added code/block Load time (s) 10M % M % M % M % M % K % K % K % %

60 SPF MBX860 Board Results Application Load Time (s) K 10K 100K 0.5M 1M 2M 5M 10M Block Size (bytes) 60

61 Stream-Enabled Program File Results Sending the whole software takes over 10 minutes: the deadline is missed Using software streaming with the first blocks of size of 1MB, the new software can be executed within 66 seconds: the deadline is met The application load time improves by a factor of 10X Function streaming can potentially achieve the same result But function streaming lacks file I/O support 61

62 Stream-Enabled File I/O (SIO) Overhead per block Bandwidth 8 bytes (Stream Unit ID, Data Size) Memory 4 bytes (Entry in Block Table) 62

63 File size 1 MB Benchmarks SIO Board Experiment (1) Seq: read data sequentially Rand 1K: read 1KB randomly Stat: calculate various statistical values of distinct pieces the data BSearch: find a specific value in the file using a binary search algorithm Implementations DD using Linux TCP 1.0 for NET4.0, NFS version 3, SIO 63

64 SIO Board Results (1) Time (s) Seq Rand 1K Stat BSearch SIO NFS DD Up to 55X faster 64

65 SIO Board Experiment (2) Data acquisition Read a certain amount of data from a 1 MB file Link speed 128 Kbps 65

66 SIO Board Results (2) Time to acquire a certain amount of data Time (s) Data (Kbytes) SIO NFS DD 66

67 SIO Board Experiment (3) Data utilization (Kbytes per second) How fast data being consumed Process a 1 MB file using various data utilization rates Link speed 128 Kbps 67

68 SIO Board Results (3) The amount of time it takes to process a 1 MB file Time (s) Data Utilization Rate (KB/s) SIO NFS DD 68

69 Stream-Enabled Application Experiment Game application Program size 512 KB Data size 1 MB 128 KB code and 256 KB data needed for the first scene Stream-enabled program file (SPF) embeds data inside program Implementation: SIO+SPF, SPF, NFS, DD 69

70 Stream-Enabled Application Results User Perceived Application Load Time (s) SIO+SPF SPF NFS DD 70

71 Conclusion Reduce application load time by enabling execution while transferring (10X) Lower application suspension time by profiling Reduce the occurrence of application suspensions Support small memory footprint embedded devices Provide stream-enabled file I/O (55X) 71

72 Publications Kuacharoen, P. and Mooney, V., Memory management for embedded devices using software streaming, to be published in Proceedings of the Mobility Conference & Exhibition, Aug Akgul, B., Mooney, V., Thane, H., and Kuacharoen, P., Hardware Support for Priority Inheritance, in Proceedings of the IEEE Real-Time Systems Symposium, pp , Dec Kuacharoen, P., Mooney, V., and Madisetti, V., Software streaming via block streaming, in the book Embedded Software for SoC, edited by Jerraya, A., Yoo, S., Verkest, D. and Wehn, N., Boston, MA: Kluwer Academic Publishers, pp , Sep Kuacharoen, P., Mooney, V., and Madisetti, V., Software streaming via block streaming, in Proceedings of the Design Automation and Test in Europe, pp , Mar Kuacharoen, P., Shalan, M., and Mooney, V., A congurable hardware scheduler for real-time systems, in Proceedings of the International Conference on Engineering of Recongurable Systems and Algorithms, pp , June Kuacharoen, P., Akgul, T., Mooney, V., and Madisetti, V., Adaptability, extensibility, and exibility in real-time operating systems, in Proceedings of the EUROMICRO Symposium on Digital Systems Design, pp , Sep Akgul, T., Kuacharoen, P., Mooney, V., and Madisetti, V., A debugger RTOS for embedded systems, in Proceedings of the 27th EUROMICRO Conference, pp , Sep

73 Patents Kuacharoen, P., Mooney, V., and Madisetti, V., Methods and systems for transmitting application software, U.S. Patent Application , Jan Kuacharoen, P., Akgul, T., Mooney, V., and Madisetti, V., Dynamic operating system, U.S. Patent Application , Apr Akgul, T., Kuacharoen, P., Mooney, V., and Madisetti, V., Debugger operating system for embedded systems, U.S. Patent Application , Apr

74 Security: Issues not Addressed Network security Stream applications from trusted site SSL Certificate Memory protection 74

75 Questions? 75

EFFICIENT EXECUTION OF LARGE APPLICATIONS ON PORTABLE AND WIRELESS CLIENTS

EFFICIENT EXECUTION OF LARGE APPLICATIONS ON PORTABLE AND WIRELESS CLIENTS EFFICIENT EXECUTION OF LARGE APPLICATIONS ON PORTABLE AND WIRELESS CLIENTS PRAMOTE KUACHAROEN * School of Applied Statistics, National Institute of Development Administration Bangkapi District, Bangkok,

More information

EMBEDDED SOFTWARE STREAMING VIA BLOCK STREAMING. Pramote Kuacharoen

EMBEDDED SOFTWARE STREAMING VIA BLOCK STREAMING. Pramote Kuacharoen EMBEDDED SOFTWARE STREAMING VIA BLOCK STREAMING A Dissertation Presented to The Academic Faculty by Pramote Kuacharoen In Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy

More information

Assembly Instruction Level Reverse Execution for Debugging

Assembly Instruction Level Reverse Execution for Debugging Assembly Instruction Level Reverse Execution for Debugging PhD Dissertation Defense by Tankut Akgul Advisor: Vincent J. Mooney School of Electrical and Computer Engineering Georgia Institute of Technology

More information

A Configurable Hardware Scheduler (CHS) for Real-Time Systems

A Configurable Hardware Scheduler (CHS) for Real-Time Systems A Configurable Hardware Scheduler (CHS) for Real-Time Systems Pramote Kucharoen, Mohamed A. Shalan and Vincent J. Mooney III Center for Research on Embedded Systems and Technology School of Electrical

More information

Hardware Support for Priority Inheritance

Hardware Support for Priority Inheritance Hardware Support for Priority Inheritance Bilge. S. Akgul +, Vincent J. Mooney +, Henrik Thane* and Pramote Kuacharoen + + Center for Research on mbedded Systems and Technology (CRST) + School of lectrical

More information

Separating Access Control Policy, Enforcement, and Functionality in Extensible Systems. Robert Grimm University of Washington

Separating Access Control Policy, Enforcement, and Functionality in Extensible Systems. Robert Grimm University of Washington Separating Access Control Policy, Enforcement, and Functionality in Extensible Systems Robert Grimm University of Washington Extensions Added to running system Interact through low-latency interfaces Form

More information

A Framework for Automatic Generation of Configuration Files for a Custom Hardware/Software RTOS

A Framework for Automatic Generation of Configuration Files for a Custom Hardware/Software RTOS A Framework for Automatic Generation of Configuration Files for a Custom Hardware/Software RTOS Jaehwan Lee* Kyeong Keol Ryu* Vincent J. Mooney III + {jaehwan, kkryu, mooney}@ece.gatech.edu http://codesign.ece.gatech.edu

More information

Dynamic Memory Management for Real-Time Multiprocessor System-on-a-Chip

Dynamic Memory Management for Real-Time Multiprocessor System-on-a-Chip Dynamic Memory Management for Real-Time Multiprocessor System-on-a-Chip Mohamed A. Shalan Dissertation Advisor Vincent J. Mooney III School of Electrical and Computer Engineering Agenda Introduction &

More information

Operating Omega ATS and Lynx ATS. QUOTE TRANSFER PROTOCOL (QTP) SPECIFICATION v 1.05

Operating Omega ATS and Lynx ATS. QUOTE TRANSFER PROTOCOL (QTP) SPECIFICATION v 1.05 Operating Omega ATS and Lynx ATS QUOTE TRANSFER PROTOCOL (QTP) SPECIFICATION v 1.05 Revision History Date Revision Description of Change April 15, 2016 1.00 Created April 27, 2016 1.01 Edits made to document.

More information

A Novel Deadlock Avoidance Algorithm and Its Hardware Implementation

A Novel Deadlock Avoidance Algorithm and Its Hardware Implementation A ovel Deadlock Avoidance Algorithm and Its Hardware Implementation + Jaehwan Lee and *Vincent* J. Mooney III Hardware/Software RTOS Group Center for Research on Embedded Systems and Technology (CREST)

More information

Dissecting Execution Traces to Understand Long Timing Effects

Dissecting Execution Traces to Understand Long Timing Effects Dissecting Execution Traces to Understand Long Timing Effects Christine Rochange and Pascal Sainrat February 2005 Rapport IRIT-2005-6-R Contents 1. Introduction... 5 2. Long timing effects... 5 3. Methodology...

More information

Memory Management Outline. Operating Systems. Motivation. Paging Implementation. Accessing Invalid Pages. Performance of Demand Paging

Memory Management Outline. Operating Systems. Motivation. Paging Implementation. Accessing Invalid Pages. Performance of Demand Paging Memory Management Outline Operating Systems Processes (done) Memory Management Basic (done) Paging (done) Virtual memory Virtual Memory (Chapter.) Motivation Logical address space larger than physical

More information

Quiz for Chapter 6 Storage and Other I/O Topics 3.10

Quiz for Chapter 6 Storage and Other I/O Topics 3.10 Date: 3.10 Not all questions are of equal difficulty. Please review the entire quiz first and then budget your time carefully. Name: Course: 1. [6 points] Give a concise answer to each of the following

More information

The Power of Prediction: Cloud Bandwidth and Cost Reduction

The Power of Prediction: Cloud Bandwidth and Cost Reduction The Power of Prediction: Cloud Bandwidth and Cost Reduction Eyal Zohar Israel Cidon Technion Osnat(Ossi) Mokryn Tel-Aviv College Traffic Redundancy Elimination (TRE) Traffic redundancy stems from downloading

More information

Why Study Multimedia? Operating Systems. Multimedia Resource Requirements. Continuous Media. Influences on Quality. An End-To-End Problem

Why Study Multimedia? Operating Systems. Multimedia Resource Requirements. Continuous Media. Influences on Quality. An End-To-End Problem Why Study Multimedia? Operating Systems Operating System Support for Multimedia Improvements: Telecommunications Environments Communication Fun Outgrowth from industry telecommunications consumer electronics

More information

Network Test and Monitoring Tools

Network Test and Monitoring Tools ajgillette.com Technical Note Network Test and Monitoring Tools Author: A.J.Gillette Date: December 6, 2012 Revision: 1.3 Table of Contents Network Test and Monitoring Tools...1 Introduction...3 Link Characterization...4

More information

Shared Address Space I/O: A Novel I/O Approach for System-on-a-Chip Networking

Shared Address Space I/O: A Novel I/O Approach for System-on-a-Chip Networking Shared Address Space I/O: A Novel I/O Approach for System-on-a-Chip Networking Di-Shi Sun and Douglas M. Blough School of Electrical and Computer Engineering Georgia Institute of Technology Atlanta, GA

More information

Operating System Support for Multimedia. Slides courtesy of Tay Vaughan Making Multimedia Work

Operating System Support for Multimedia. Slides courtesy of Tay Vaughan Making Multimedia Work Operating System Support for Multimedia Slides courtesy of Tay Vaughan Making Multimedia Work Why Study Multimedia? Improvements: Telecommunications Environments Communication Fun Outgrowth from industry

More information

Algorithm Performance Factors. Memory Performance of Algorithms. Processor-Memory Performance Gap. Moore s Law. Program Model of Memory II

Algorithm Performance Factors. Memory Performance of Algorithms. Processor-Memory Performance Gap. Moore s Law. Program Model of Memory II Memory Performance of Algorithms CSE 32 Data Structures Lecture Algorithm Performance Factors Algorithm choices (asymptotic running time) O(n 2 ) or O(n log n) Data structure choices List or Arrays Language

More information

IO-Lite: A Unified I/O Buffering and Caching System

IO-Lite: A Unified I/O Buffering and Caching System IO-Lite: A Unified I/O Buffering and Caching System Vivek S. Pai, Peter Druschel and Willy Zwaenepoel Rice University (Presented by Chuanpeng Li) 2005-4-25 CS458 Presentation 1 IO-Lite Motivation Network

More information

A Simulation: Improving Throughput and Reducing PCI Bus Traffic by. Caching Server Requests using a Network Processor with Memory

A Simulation: Improving Throughput and Reducing PCI Bus Traffic by. Caching Server Requests using a Network Processor with Memory Shawn Koch Mark Doughty ELEC 525 4/23/02 A Simulation: Improving Throughput and Reducing PCI Bus Traffic by Caching Server Requests using a Network Processor with Memory 1 Motivation and Concept The goal

More information

Networking for Data Acquisition Systems. Fabrice Le Goff - 14/02/ ISOTDAQ

Networking for Data Acquisition Systems. Fabrice Le Goff - 14/02/ ISOTDAQ Networking for Data Acquisition Systems Fabrice Le Goff - 14/02/2018 - ISOTDAQ Outline Generalities The OSI Model Ethernet and Local Area Networks IP and Routing TCP, UDP and Transport Efficiency Networking

More information

The Network Layer and Routers

The Network Layer and Routers The Network Layer and Routers Daniel Zappala CS 460 Computer Networking Brigham Young University 2/18 Network Layer deliver packets from sending host to receiving host must be on every host, router in

More information

Outline Background Jaluna-1 Presentation Jaluna-2 Presentation Overview Use Cases Architecture Features Copyright Jaluna SA. All rights reserved

Outline Background Jaluna-1 Presentation Jaluna-2 Presentation Overview Use Cases Architecture Features Copyright Jaluna SA. All rights reserved C5 Micro-Kernel: Real-Time Services for Embedded and Linux Systems Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 1 Outline Background Jaluna-1 Presentation Jaluna-2 Presentation Overview

More information

Ultra high-speed transmission technology for wide area data movement

Ultra high-speed transmission technology for wide area data movement Ultra high-speed transmission technology for wide area data movement Michelle Munson, president & co-founder Aspera Outline Business motivation Moving ever larger file sets over commodity IP networks (public,

More information

Hardware Support for Priority Inheritance

Hardware Support for Priority Inheritance Hardware Support for Priority Inheritance Bilge E. S. Akgul, Vincent J. Mooney III, Henrik Thane, Pramote Kuacharoen Center for Research on Embedded Systems and Technology School of Electrical and Computer

More information

Algorithm Performance Factors. Memory Performance of Algorithms. Processor-Memory Performance Gap. Moore s Law. Program Model of Memory I

Algorithm Performance Factors. Memory Performance of Algorithms. Processor-Memory Performance Gap. Moore s Law. Program Model of Memory I Memory Performance of Algorithms CSE 32 Data Structures Lecture Algorithm Performance Factors Algorithm choices (asymptotic running time) O(n 2 ) or O(n log n) Data structure choices List or Arrays Language

More information

Executing Legacy Applications on a Java Operating System

Executing Legacy Applications on a Java Operating System Executing Legacy Applications on a Java Operating System Andreas Gal, Michael Yang, Christian Probst, and Michael Franz University of California, Irvine {gal,mlyang,probst,franz}@uci.edu May 30, 2004 Abstract

More information

Midterm II December 4 th, 2006 CS162: Operating Systems and Systems Programming

Midterm II December 4 th, 2006 CS162: Operating Systems and Systems Programming Fall 2006 University of California, Berkeley College of Engineering Computer Science Division EECS John Kubiatowicz Midterm II December 4 th, 2006 CS162: Operating Systems and Systems Programming Your

More information

Real-Time Programming

Real-Time Programming Real-Time Programming Week 7: Real-Time Operating Systems Instructors Tony Montiel & Ken Arnold rtp@hte.com 4/1/2003 Co Montiel 1 Objectives o Introduction to RTOS o Event Driven Systems o Synchronization

More information

Giancarlo Vasta, Magneti Marelli, Lucia Lo Bello, University of Catania,

Giancarlo Vasta, Magneti Marelli, Lucia Lo Bello, University of Catania, An innovative traffic management scheme for deterministic/eventbased communications in automotive applications with a focus on Automated Driving Applications Giancarlo Vasta, Magneti Marelli, giancarlo.vasta@magnetimarelli.com

More information

Architectural Differences nc. DRAM devices are accessed with a multiplexed address scheme. Each unit of data is accessed by first selecting its row ad

Architectural Differences nc. DRAM devices are accessed with a multiplexed address scheme. Each unit of data is accessed by first selecting its row ad nc. Application Note AN1801 Rev. 0.2, 11/2003 Performance Differences between MPC8240 and the Tsi106 Host Bridge Top Changwatchai Roy Jenevein risc10@email.sps.mot.com CPD Applications This paper discusses

More information

Efficient, Formally Verifiable Data Structures using ACL2 Single-Threaded Objects for High-Assurance Systems

Efficient, Formally Verifiable Data Structures using ACL2 Single-Threaded Objects for High-Assurance Systems Efficient, Formally Verifiable Data Structures using ACL2 Single-Threaded Objects for High-Assurance Systems David Hardin Rockwell Collins Samuel Hardin Iowa State University Introduction Bounded versions

More information

C02: Interrupts and I/O

C02: Interrupts and I/O CISC 7310X C02: Interrupts and I/O Hui Chen Department of Computer & Information Science CUNY Brooklyn College 2/8/2018 CUNY Brooklyn College 1 Von Neumann Computers Process and memory connected by a bus

More information

Distributed Systems 8. Remote Procedure Calls

Distributed Systems 8. Remote Procedure Calls Distributed Systems 8. Remote Procedure Calls Paul Krzyzanowski pxk@cs.rutgers.edu 10/1/2012 1 Problems with the sockets API The sockets interface forces a read/write mechanism Programming is often easier

More information

ETSF10 Internet Protocols Transport Layer Protocols

ETSF10 Internet Protocols Transport Layer Protocols ETSF10 Internet Protocols Transport Layer Protocols 2012, Part 2, Lecture 2.1 Kaan Bür, Jens Andersson Transport Layer Protocols Process-to-process delivery [ed.4 ch.23.1] [ed.5 ch.24.1] Transmission Control

More information

Performance Implications of Security Protocols

Performance Implications of Security Protocols Performance Implications of Security Protocols Varsha Mainkar Technical Staff Member Network Design & Performance Analysis Advanced Technologies, Joint Work with Paul Reeser 5th INFORMS Telecom Conference

More information

Chapter 12. CPU Structure and Function. Yonsei University

Chapter 12. CPU Structure and Function. Yonsei University Chapter 12 CPU Structure and Function Contents Processor organization Register organization Instruction cycle Instruction pipelining The Pentium processor The PowerPC processor 12-2 CPU Structures Processor

More information

Cross-Layer Memory Management to Reduce DRAM Power Consumption

Cross-Layer Memory Management to Reduce DRAM Power Consumption Cross-Layer Memory Management to Reduce DRAM Power Consumption Michael Jantz Assistant Professor University of Tennessee, Knoxville 1 Introduction Assistant Professor at UT since August 2014 Before UT

More information

440GX Application Note

440GX Application Note Overview of TCP/IP Acceleration Hardware January 22, 2008 Introduction Modern interconnect technology offers Gigabit/second (Gb/s) speed that has shifted the bottleneck in communication from the physical

More information

CSE 461 Module 10. Introduction to the Transport Layer

CSE 461 Module 10. Introduction to the Transport Layer CSE 461 Module 10 Introduction to the Transport Layer Last Time We finished up the Network layer Internetworks (IP) Routing (DV/RIP, LS/OSPF, BGP) It was all about routing: how to provide end-to-end delivery

More information

Introduction. Application Performance in the QLinux Multimedia Operating System. Solution: QLinux. Introduction. Outline. QLinux Design Principles

Introduction. Application Performance in the QLinux Multimedia Operating System. Solution: QLinux. Introduction. Outline. QLinux Design Principles Application Performance in the QLinux Multimedia Operating System Sundaram, A. Chandra, P. Goyal, P. Shenoy, J. Sahni and H. Vin Umass Amherst, U of Texas Austin ACM Multimedia, 2000 Introduction General

More information

Cycle Approximate Simulation of RISC-V Processors

Cycle Approximate Simulation of RISC-V Processors Cycle Approximate Simulation of RISC-V Processors Lee Moore, Duncan Graham, Simon Davidmann Imperas Software Ltd. Felipe Rosa Universidad Federal Rio Grande Sul Embedded World conference 27 February 2018

More information

Multimedia Streaming. Mike Zink

Multimedia Streaming. Mike Zink Multimedia Streaming Mike Zink Technical Challenges Servers (and proxy caches) storage continuous media streams, e.g.: 4000 movies * 90 minutes * 10 Mbps (DVD) = 27.0 TB 15 Mbps = 40.5 TB 36 Mbps (BluRay)=

More information

GCC2 versus GCC4 compiling AltiVec code

GCC2 versus GCC4 compiling AltiVec code GCC2 versus GCC4 compiling AltiVec code Grzegorz Kraszewski 1. Introduction An official compiler for MorphOS operating system is still GCC 2.95.3. It is considered outdated

More information

Performance Analysis of Java Communications with and without CORBA

Performance Analysis of Java Communications with and without CORBA Performance Analysis of Java Communications with and without CORBA Victor Giddings victor.giddings@ois.com 3 Objective Interface Systems, Inc. Purpose Analyze performance of various Java-based distribution

More information

Tuned Pipes: End-to-end Throughput and Delay Guarantees for USB Devices. Ahmad Golchin, Zhuoqun Cheng and Richard West Boston University

Tuned Pipes: End-to-end Throughput and Delay Guarantees for USB Devices. Ahmad Golchin, Zhuoqun Cheng and Richard West Boston University Tuned Pipes: End-to-end Throughput and Delay Guarantees for USB Devices Ahmad Golchin, Zhuoqun Cheng and Richard West Boston University Motivations Cyber-physical applications Sensor-actuator loops Ubiquity

More information

CPSC 457 OPERATING SYSTEMS FINAL EXAM

CPSC 457 OPERATING SYSTEMS FINAL EXAM CPSC 457 OPERATING SYSTEMS FINAL EXAM Department of Computer Science University of Calgary Professor: Carey Williamson April 21, 2010 This is a CLOSED BOOK exam. Textbooks, notes, laptops, calculators,

More information

Optimizing Performance: Intel Network Adapters User Guide

Optimizing Performance: Intel Network Adapters User Guide Optimizing Performance: Intel Network Adapters User Guide Network Optimization Types When optimizing network adapter parameters (NIC), the user typically considers one of the following three conditions

More information

I/O Systems (3): Clocks and Timers. CSE 2431: Introduction to Operating Systems

I/O Systems (3): Clocks and Timers. CSE 2431: Introduction to Operating Systems I/O Systems (3): Clocks and Timers CSE 2431: Introduction to Operating Systems 1 Outline Clock Hardware Clock Software Soft Timers 2 Two Types of Clocks Simple clock: tied to the 110- or 220-volt power

More information

Review: Hardware user/kernel boundary

Review: Hardware user/kernel boundary Review: Hardware user/kernel boundary applic. applic. applic. user lib lib lib kernel syscall pg fault syscall FS VM sockets disk disk NIC context switch TCP retransmits,... device interrupts Processor

More information

Operating Systems Design Exam 3 Review: Spring 2011

Operating Systems Design Exam 3 Review: Spring 2011 Operating Systems Design Exam 3 Review: Spring 2011 Paul Krzyzanowski pxk@cs.rutgers.edu 1 1. Why does an IP driver need to use ARP, the address resolution protocol? IP is a logical network. An IP address

More information

Accelerating Pointer Chasing in 3D-Stacked Memory: Challenges, Mechanisms, Evaluation Kevin Hsieh

Accelerating Pointer Chasing in 3D-Stacked Memory: Challenges, Mechanisms, Evaluation Kevin Hsieh Accelerating Pointer Chasing in 3D-Stacked : Challenges, Mechanisms, Evaluation Kevin Hsieh Samira Khan, Nandita Vijaykumar, Kevin K. Chang, Amirali Boroumand, Saugata Ghose, Onur Mutlu Executive Summary

More information

Swapping. Operating Systems I. Swapping. Motivation. Paging Implementation. Demand Paging. Active processes use more physical memory than system has

Swapping. Operating Systems I. Swapping. Motivation. Paging Implementation. Demand Paging. Active processes use more physical memory than system has Swapping Active processes use more physical memory than system has Operating Systems I Address Binding can be fixed or relocatable at runtime Swap out P P Virtual Memory OS Backing Store (Swap Space) Main

More information

CS510 Operating System Foundations. Jonathan Walpole

CS510 Operating System Foundations. Jonathan Walpole CS510 Operating System Foundations Jonathan Walpole OS-Related Hardware & Software 2 Lecture 2 Overview OS-Related Hardware & Software - complications in real systems - brief introduction to memory protection,

More information

This is a handout for source details that are would be impossible to read off a slide. Also, it should prove handy for later reference.

This is a handout for source details that are would be impossible to read off a slide. Also, it should prove handy for later reference. GDC 2012 March 5-9 Runtime CPU Performance Spike Detection using Manual and Compiler Automated Instrumentation Adisak Pochanayon : adisak@wbgames.com Principal Software Engineer, Mortal Kombat Team Netherrealm

More information

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University Che-Wei Chang chewei@mail.cgu.edu.tw Department of Computer Science and Information Engineering, Chang Gung University l Chapter 10: File System l Chapter 11: Implementing File-Systems l Chapter 12: Mass-Storage

More information

Interconnect Delay Aware RTL Verilog Bus Architecture Generation for an SoC

Interconnect Delay Aware RTL Verilog Bus Architecture Generation for an SoC Interconnect Delay Aware RTL Verilog Bus Architecture Generation for an SoC Kyeong Ryu, Alexandru Talpasanu, Vincent Mooney and Jeffrey Davis School of Electrical and Computer Engineering Georgia Institute

More information

Kernel Korner. Analysis of the HTB Queuing Discipline. Yaron Benita. Abstract

Kernel Korner. Analysis of the HTB Queuing Discipline. Yaron Benita. Abstract 1 of 9 6/18/2006 7:41 PM Kernel Korner Analysis of the HTB Queuing Discipline Yaron Benita Abstract Can Linux do Quality of Service in a way that both offers high throughput and does not exceed the defined

More information

The Google File System

The Google File System The Google File System Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung December 2003 ACM symposium on Operating systems principles Publisher: ACM Nov. 26, 2008 OUTLINE INTRODUCTION DESIGN OVERVIEW

More information

CS 126 Lecture S4: Operating Systems

CS 126 Lecture S4: Operating Systems CS 126 Lecture S4: Operating Systems Introductions History General mechanisms Process management Memory management File systems Conclusions Outline CS126 23-1 Randy Wang Why Learn About OS Be an informed

More information

Chapter-6. SUBJECT:- Operating System TOPICS:- I/O Management. Created by : - Sanjay Patel

Chapter-6. SUBJECT:- Operating System TOPICS:- I/O Management. Created by : - Sanjay Patel Chapter-6 SUBJECT:- Operating System TOPICS:- I/O Management Created by : - Sanjay Patel Disk Scheduling Algorithm 1) First-In-First-Out (FIFO) 2) Shortest Service Time First (SSTF) 3) SCAN 4) Circular-SCAN

More information

Processes, Threads and Processors

Processes, Threads and Processors 1 Processes, Threads and Processors Processes and Threads From Processes to Threads Don Porter Portions courtesy Emmett Witchel Hardware can execute N instruction streams at once Ø Uniprocessor, N==1 Ø

More information

NDN-RTC. Peter Gusev UCLA REMAP 9/5/2014

NDN-RTC. Peter Gusev UCLA REMAP 9/5/2014 NDN-RTC Peter Gusev UCLA REMAP 9/5/2014 NDNComm 2014 Demo Producer 1: Live NDNComm HD streaming (1080p 30fps, 1.5Mbps) Producer 2: REMAP office webcam producer (SD, 30fps, 500Kbps) Demo 1: Consumer for

More information

CS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017

CS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017 CS 471 Operating Systems Yue Cheng George Mason University Fall 2017 Introduction o Instructor of Section 002 Dr. Yue Cheng (web: cs.gmu.edu/~yuecheng) Email: yuecheng@gmu.edu Office: 5324 Engineering

More information

Complex Instruction Sets

Complex Instruction Sets Complex Instruction Sets CSE 410, Spring 2004 Computer Systems http://www.cs.washington.edu/education/courses/410/04sp/ 5-May-2004 cse410-16-cisc 2004 University of Washington 1 Reading Readings and References»

More information

Network Adapter. Increased demand for bandwidth and application processing in. Improve B2B Application Performance with Gigabit Server

Network Adapter. Increased demand for bandwidth and application processing in. Improve B2B Application Performance with Gigabit Server Improve B2B Application Performance with Gigabit Server Network Adapter By Uri Elzur Business-to-business (B2B) applications and gigabit networking speeds increase the load on server CPUs. These challenges

More information

Toward a Reliable Data Transport Architecture for Optical Burst-Switched Networks

Toward a Reliable Data Transport Architecture for Optical Burst-Switched Networks Toward a Reliable Data Transport Architecture for Optical Burst-Switched Networks Dr. Vinod Vokkarane Assistant Professor, Computer and Information Science Co-Director, Advanced Computer Networks Lab University

More information

OSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

OSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1 OSI Transport Layer Network Fundamentals Chapter 4 Version 4.0 1 Transport Layer Role and Services Transport layer is responsible for overall end-to-end transfer of application data 2 Transport Layer Role

More information

XPU A Programmable FPGA Accelerator for Diverse Workloads

XPU A Programmable FPGA Accelerator for Diverse Workloads XPU A Programmable FPGA Accelerator for Diverse Workloads Jian Ouyang, 1 (ouyangjian@baidu.com) Ephrem Wu, 2 Jing Wang, 1 Yupeng Li, 1 Hanlin Xie 1 1 Baidu, Inc. 2 Xilinx Outlines Background - FPGA for

More information

Review Questions. 1 The DRAM problem [5 points] Suggest a solution. 2 Big versus Little Endian Addressing [5 points]

Review Questions. 1 The DRAM problem [5 points] Suggest a solution. 2 Big versus Little Endian Addressing [5 points] Review Questions 1 The DRAM problem [5 points] Suggest a solution 2 Big versus Little Endian Addressing [5 points] Consider the 32-bit hexadecimal number 0x21d3ea7d. 1. What is the binary representation

More information

MiAMI: Multi-Core Aware Processor Affinity for TCP/IP over Multiple Network Interfaces

MiAMI: Multi-Core Aware Processor Affinity for TCP/IP over Multiple Network Interfaces MiAMI: Multi-Core Aware Processor Affinity for TCP/IP over Multiple Network Interfaces Hye-Churn Jang Hyun-Wook (Jin) Jin Department of Computer Science and Engineering Konkuk University Seoul, Korea {comfact,

More information

Pipelining, Branch Prediction, Trends

Pipelining, Branch Prediction, Trends Pipelining, Branch Prediction, Trends 10.1-10.4 Topics 10.1 Quantitative Analyses of Program Execution 10.2 From CISC to RISC 10.3 Pipelining the Datapath Branch Prediction, Delay Slots 10.4 Overlapping

More information

COMS Introduction to Computers. Networking

COMS Introduction to Computers. Networking COMS 1001 Introduction to Computers Networking What's Ahead Networking layers Network Speeds Protocols, sockets, client/server Routing, DNS, Ethernet, LANs, wireless What is a Network? Loose definition:

More information

Managing Access to Web Applications

Managing Access to Web Applications This chapter contains the following sections: Overview of, on page 1 Enabling the AVC Engine, on page 2 Policy Application Control Settings, on page 3 Controlling Bandwidth, on page 5 Controlling Instant

More information

Hardware/Software Deadlock Avoidance for Multiprocessor Multiresource System-on-a-Chip

Hardware/Software Deadlock Avoidance for Multiprocessor Multiresource System-on-a-Chip P1 Q1 Hardware/Software Deadlock Avoidance for Multiprocessor Multiresource System-on-a-Chip Q2 P2 Dissertation Defense By Jaehwan Lee Advisor: Vincent J. Mooney III School of Electrical and Computer Engineering

More information

Since ESE GATE PSUs ELECTRICAL ENGINEERING COMPUTER FUNDAMENTALS. Volume - 1 : Study Material with Classroom Practice Questions

Since ESE GATE PSUs ELECTRICAL ENGINEERING COMPUTER FUNDAMENTALS. Volume - 1 : Study Material with Classroom Practice Questions Since 20 ESE GATE PSUs ELECTRICAL ENGINEERING COMPUTER FUNDAMENTALS Volume - : Study Material with Classroom Practice Questions Computer Fundamentals (Solutions for Classroom Practice Questions). Number

More information

Media File Options. Deployment and Ongoing Management. This chapter covers the following topics:

Media File Options. Deployment and Ongoing Management. This chapter covers the following topics: This chapter covers the following topics: Deployment and Ongoing Management, page 1 Co-Resident Unified CVP Call Server, Media Server, and Unified CVP VXML Server, page 2 Bandwidth Calculation for Prompt

More information

15: OS Scheduling and Buffering

15: OS Scheduling and Buffering 15: OS Scheduling and ing Mark Handley Typical Audio Pipeline (sender) Sending Host Audio Device Application A->D Device Kernel App Compress Encode for net RTP ed pending DMA to host (~10ms according to

More information

Notos: Efficient Emulation of Wireless Sensor Networks with Binary-to-Source Translation

Notos: Efficient Emulation of Wireless Sensor Networks with Binary-to-Source Translation Schützenbahn 70 45127 Essen, Germany Notos: Efficient Emulation of Wireless Sensor Networks with Binary-to-Source Translation Robert Sauter, Sascha Jungen, Richard Figura, and Pedro José Marrón, Germany

More information

DEPARTMENT OF ELECTRONICS & COMMUNICATION ENGINEERING QUESTION BANK

DEPARTMENT OF ELECTRONICS & COMMUNICATION ENGINEERING QUESTION BANK DEPARTMENT OF ELECTRONICS & COMMUNICATION ENGINEERING QUESTION BANK SUBJECT : CS6303 / COMPUTER ARCHITECTURE SEM / YEAR : VI / III year B.E. Unit I OVERVIEW AND INSTRUCTIONS Part A Q.No Questions BT Level

More information

Media File Options. Deployment and Ongoing Management CHAPTER

Media File Options. Deployment and Ongoing Management CHAPTER CHAPTER 12 Last revised on: November 30, 2009 This chapter covers the following topics: Deployment and Ongoing Management, page 12-1 Co-Resident Call Server, Media Server, and Unified CVP VXML Server,

More information

Remote Health Monitoring for an Embedded System

Remote Health Monitoring for an Embedded System July 20, 2012 Remote Health Monitoring for an Embedded System Authors: Puneet Gupta, Kundan Kumar, Vishnu H Prasad 1/22/2014 2 Outline Background Background & Scope Requirements Key Challenges Introduction

More information

ECE232: Hardware Organization and Design

ECE232: Hardware Organization and Design ECE232: Hardware Organization and Design Lecture 21: Memory Hierarchy Adapted from Computer Organization and Design, Patterson & Hennessy, UCB Overview Ideally, computer memory would be large and fast

More information

Why memory hierarchy? Memory hierarchy. Memory hierarchy goals. CS2410: Computer Architecture. L1 cache design. Sangyeun Cho

Why memory hierarchy? Memory hierarchy. Memory hierarchy goals. CS2410: Computer Architecture. L1 cache design. Sangyeun Cho Why memory hierarchy? L1 cache design Sangyeun Cho Computer Science Department Memory hierarchy Memory hierarchy goals Smaller Faster More expensive per byte CPU Regs L1 cache L2 cache SRAM SRAM To provide

More information

Chapter 1 Computer System Overview

Chapter 1 Computer System Overview Operating Systems: Internals and Design Principles Chapter 1 Computer System Overview Ninth Edition By William Stallings Operating System Exploits the hardware resources of one or more processors Provides

More information

NT1210 Introduction to Networking. Unit 10

NT1210 Introduction to Networking. Unit 10 NT1210 Introduction to Networking Unit 10 Chapter 10, TCP/IP Transport Objectives Identify the major needs and stakeholders for computer networks and network applications. Compare and contrast the OSI

More information

A software view. Computer Systems. The Compilation system. How it works. 1. Preprocesser. 1. Preprocessor (cpp)

A software view. Computer Systems. The Compilation system. How it works. 1. Preprocesser. 1. Preprocessor (cpp) A software view User Interface Computer Systems MTSU CSCI 3240 Spring 2016 Dr. Hyrum D. Carroll Materials from CMU and Dr. Butler How it works hello.c #include int main() { printf( hello, world\n

More information

Making the Box Transparent: System Call Performance as a First-class Result. Yaoping Ruan, Vivek Pai Princeton University

Making the Box Transparent: System Call Performance as a First-class Result. Yaoping Ruan, Vivek Pai Princeton University Making the Box Transparent: System Call Performance as a First-class Result Yaoping Ruan, Vivek Pai Princeton University Outline n Motivation n Design & implementation n Case study n More results Motivation

More information

A User-level Secure Grid File System

A User-level Secure Grid File System A User-level Secure Grid File System Ming Zhao, Renato J. Figueiredo Advanced Computing and Information Systems (ACIS) Electrical and Computer Engineering University of Florida {ming, renato}@acis.ufl.edu

More information

Chapter 1 Computer System Overview

Chapter 1 Computer System Overview Operating Systems: Internals and Design Principles Chapter 1 Computer System Overview Seventh Edition By William Stallings Course Outline & Marks Distribution Hardware Before mid Memory After mid Linux

More information

Media File Options. Deployment and Management of Voice Prompts

Media File Options. Deployment and Management of Voice Prompts Deployment and Management of Voice Prompts, page 1 Media File Deployment Design Concepts, page 2 Design Considerations for Large Number of Media Files, page 6 Deployment and Management of Voice Prompts

More information

CS 352 Compilers: Principles and Practice Final Examination, 12/11/05

CS 352 Compilers: Principles and Practice Final Examination, 12/11/05 CS 352 Compilers: Principles and Practice Final Examination, 12/11/05 Instructions: Read carefully through the whole exam first and plan your time. Note the relative weight of each question and part (as

More information

instruction fetch memory interface signal unit priority manager instruction decode stack register sets address PC2 PC3 PC4 instructions extern signals

instruction fetch memory interface signal unit priority manager instruction decode stack register sets address PC2 PC3 PC4 instructions extern signals Performance Evaluations of a Multithreaded Java Microcontroller J. Kreuzinger, M. Pfeer A. Schulz, Th. Ungerer Institute for Computer Design and Fault Tolerance University of Karlsruhe, Germany U. Brinkschulte,

More information

High Performance Computing

High Performance Computing High Performance Computing MPI and C-Language Seminars 2009 Photo Credit: NOAA (IBM Hardware) High Performance Computing - Seminar Plan Seminar Plan for Weeks 1-5 Week 1 - Introduction, Data Types, Control

More information

Module 2 Overview of Computer Networks

Module 2 Overview of Computer Networks Module 2 Overview of Computer Networks Networks and Communication Give me names of all employees Who earn more than $00,000 ISP intranet backbone satellite link desktop computer: server: network link:

More information

Module 2 Overview of. Computer Networks

Module 2 Overview of. Computer Networks Module Overview of Networks and Communication Give me names of all employees Who earn more than $00,000 ISP intranet backbone satellite link desktop computer: server: network link: CS454/654 - Issues How

More information

Section 6. Implementing EIGRP ICND2

Section 6. Implementing EIGRP ICND2 ICND2 Section 6 Implementing EIGRP Enhanced Interior Gateway Routing Protocol (EIGRP) was introduced in Cisco IOS Release 9.21 as an enhancement to the limitations of IGRP. IGRP was developed by Cisco

More information

Experimental Study of Virtual Machine Migration in Support of Reservation of Cluster Resources

Experimental Study of Virtual Machine Migration in Support of Reservation of Cluster Resources Experimental Study of Virtual Machine Migration in Support of Reservation of Cluster Resources Ming Zhao, Renato J. Figueiredo Advanced Computing and Information Systems (ACIS) Electrical and Computer

More information

Outline. The demand The San Jose NAP. What s the Problem? Most things. Time. Part I AN OVERVIEW OF HARDWARE ISSUES FOR IP AND ATM.

Outline. The demand The San Jose NAP. What s the Problem? Most things. Time. Part I AN OVERVIEW OF HARDWARE ISSUES FOR IP AND ATM. Outline AN OVERVIEW OF HARDWARE ISSUES FOR IP AND ATM Name one thing you could achieve with ATM that you couldn t with IP! Nick McKeown Assistant Professor of Electrical Engineering and Computer Science

More information