Embedded Software Streaming via Block Stream
|
|
- Anis Maxwell
- 5 years ago
- Views:
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 PRAMOTE KUACHAROEN * School of Applied Statistics, National Institute of Development Administration Bangkapi District, Bangkok,
More informationEMBEDDED 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 informationAssembly 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 informationA 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 informationHardware 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 informationSeparating 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 informationA 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 informationDynamic 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 informationOperating 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 informationA 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 informationDissecting 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 informationMemory 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 informationQuiz 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 informationThe 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 informationWhy 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 informationNetwork 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 informationShared 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 informationOperating 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 informationAlgorithm 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 informationIO-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 informationA 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 informationNetworking 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 informationThe 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 informationOutline 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 informationUltra 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 informationHardware 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 informationAlgorithm 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 informationExecuting 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 informationMidterm 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 informationReal-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 informationGiancarlo 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 informationArchitectural 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 informationEfficient, 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 informationC02: 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 informationDistributed 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 informationETSF10 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 informationPerformance 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 informationChapter 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 informationCross-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 information440GX 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 informationCSE 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 informationIntroduction. 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 informationCycle 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 informationMultimedia 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 informationGCC2 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 informationPerformance 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 informationTuned 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 informationCPSC 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 informationOptimizing 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 informationI/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 informationReview: 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 informationOperating 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 informationAccelerating 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 informationSwapping. 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 informationCS510 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 informationThis 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 informationChe-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 informationInterconnect 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 informationKernel 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 informationThe 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 informationCS 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 informationChapter-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 informationProcesses, 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 informationNDN-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 informationCS 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 informationComplex 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 informationNetwork 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 informationToward 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 informationOSI 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 informationXPU 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 informationReview 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 informationMiAMI: 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 informationPipelining, 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 informationCOMS 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 informationManaging 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 informationHardware/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 informationSince 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 informationMedia 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 information15: 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 informationNotos: 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 informationDEPARTMENT 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 informationMedia 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 informationRemote 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 informationECE232: 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 informationWhy 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 informationChapter 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 informationNT1210 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 informationA 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 informationMaking 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 informationA 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 informationChapter 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 informationMedia 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 informationCS 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 informationinstruction 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 informationHigh 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 informationModule 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 informationModule 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 informationSection 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 informationExperimental 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 informationOutline. 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