Component Based Media Streaming Framework
|
|
- Trevor Blake
- 6 years ago
- Views:
Transcription
1 Component Based Media Streaming Framework ECE750 T11 COMPONENT BASED SOFTWARE SYSTEMS Project Presentation - 2 By Sohaib Sajid Hemamalini Vedachalam June 27 th 2009 Professor: Ladan Tahvildari 1
2 Outline Project Overview Existing Solution Approach Restructuring existing code Implementing new features Application of CBSE Principles Expected Results Problems Encountered Performance Testing Conclusion Demo References 2
3 Outline Project Overview Existing Solution Approach Restructuring existing code Implementing new features Application of CBSE Principles Expected Results Problems Encountered Performance Testing Conclusion Demo References 3
4 Project Overview Multiple file formats are available on the PC side Projector s capabilities are limited to a subset of available file formats To be able to play a larger selection of available formats: Convert input container format to projector-compatible format before data is sent to it 4
5 Outline Project Overview Existing Solution Approach Restructuring existing code Implementing new features Application of CBSE Principles Expected Results Problems Encountered Performance Testing Conclusion Demo References 5
6 Existing Solution System Block Diagram User application Multimedia streaming framework (MSF) Parsers Block Parser FIFO Muxers Block Muxer FIFO HTTP Server Projector Developed without any prior knowledge of CBSE principles No clear separation as code from one component Lack of a central controller which results in a lot of glue code High coupling Means to notify the user application of an error can result in a deadlock 6
7 Outline Project Overview Existing Solution Approach Restructuring existing code Implementing new features Application of CBSE Principles Expected Results Problems Encountered Performance Testing Conclusion Demo References 7
8 Approach Critical Analysis of Current System Restructuring Existing Components CBSE Approach Design and Implementation Performance Testing and Evaluation 8
9 Approach Restructuring Existing Code Existing source code size: 488 files, lines of code Updated Source code: 507 files, lines of code Restructuring code is an entire research area on its own Our focus is on the implementation and correcting issues in existing code Let us look at some basic steps we ve taken to restructure the code base 9
10 Approach Restructuring Existing Code (Cont d) Existing Code base Identifying Components Look for code reuse Look for common functionality Apply Le Gear s method [1] Provide well defined interfaces Introduce a centralized controller Component based code 10
11 Approach Implementing New Features Hardware and O/S independence Memory Management Interface Allows firmware to be ported on to embedded platforms (SPL) I/O Interface Allows user application to provide input data from arbitrary sources (SPL) Can take input data from live stream, or other specialized hardware (SPL) Interface function pointers by the application to MSF Interface functions implemented by the application for a given device configuration (platform/os) and input source MSF code has no knowledge of the data source MSF code does not need to be recompiled when adding new input sources or changing hardware platforms or operating systems 11
12 Approach Implementing New Features Memory and I/O interfaces are given to the MSF for its use. They can be, but don t have to be used by the application Similarly, it is possible for the application to implement all other features that MSF may at some point need (for example, implement a new streaming protocol) User Application User GUI User Input Memory Interface I/O Interface GUI Controller MSF Output to projector 12
13 Outline Project Overview Existing Solution Approach Restructuring existing code Implementing new features Application of CBSE Principles Expected Results Problems Encountered Performance Testing Conclusion Demo References 13
14 Application Of CBSE Principles MSF: System Blocks MSF Controller MSF Controller Parser(s) Parser FIFO Muxer(s) Muxer FIFO HTTP Server Lets look at the various blocks, their interactions and interfaces 14
15 Application Of CBSE Principles Overall System Design User Application I/O Interface Memory Interface GUI Controller User GUI User Input I_IO_Int I_Mem_Int I_MSF_Api MSF Controller Parser(s) IParser IFifo_Ctrl IMuxer IFifo_Ctrl Parser FIFO IFifo_Data Media Streaming Framework Muxer(s) Muxer FIFO IFifo_Data HTTP Server IServer Output to projector 15
16 Application Of CBSE Principles Use of Heterogeneous Architectural Styles: Combining different architectural styles, involves a combination of functionalities entailing a combination of styles in the best solution The following different architectural styles are adopted: Model View Controller Client/Server architecture Blackboard architecture Publish/Subscribe interface 16
17 Application Of CBSE Principles Heterogeneous Architectural Style: Model - View - Controller Users interact with the GUI GUI passes messages to Controller Controller sends API calls to MSF GUI requests current status (timestamp, playback state, errors) from MSF (Controller ) GUI Controller User GUI ( View ) User Input ( Model ) MSF Controller 17
18 Application Of CBSE Principles Heterogeneous Architectural Style: Client / Server User application initializes MSF MSF only responsible for sending raw data to projector Projector does not call functions from projector - one way communication with projector User application polls server for run-time information User App (client) MSF (server) Projector (client) 18
19 Application Of CBSE Principles Heterogeneous Architectural Style: Blackboard Availability of data from one component can trigger actions in other components. For example, the Parser and the muxer FIFO (same component) provide an interface to read from and write to the FIFO. When parsers write data to the FIFO, muxer is able to read and process the data Similarly, HTTP Server s actions are triggered when a muxer write data to the muxer FIFO and it becomes available for reading by other components Parser(s) Parser FIFO Muxer(s) Muxer FIFO HTTP Server 19
20 Application Of CBSE Principles Heterogeneous Architectural Style: Blackboard State variable change in a central controller can trigger changes in connected components MSF contains a current state variable to let sub components know if the system is paused or playing etc MSF uses the black board architecture to notify components when the system state changes MSF Controller Parser(s) Parser FIFO Muxer(s) Muxer FIFO HTTP Server 20
21 Application Of CBSE Principles Publish/Subscribe Asynchronous Communication: Lets look at the Create function DLLDIR MSF_RESULT MSF_CreateMSFHdl ( APP_HANDLE * papphdl, // (in) some handle to the private APP data MEMINTERFACE *pmeminterface, // (in) memroy manager created by application NotifyFunction pfn_notification, // (in) callback function provided by APP MSF_HANDLE ** pphdl); // (in/out) pointer to the MSF handler User application expects this function to be called any time an error occurs or the application needs to be notified of important events such as playback finished, connection established, connection lost etc The application registers this notification function with MSF when it instantiates it and this function is asynchronously called to notify the application of events as they happen 21
22 Application Of CBSE Principles Enterprise Styles Followed: Session Facade Coarse-Grain Interfaces 22
23 Application Of CBSE Principles Session Facade: GUI Controller MSF Controller Parser(s) Parser FIFO Muxer(s) Muxer FIFO HTTP Server 23
24 Application Of CBSE Principles Coarse-Grain Interfaces: In the Win32 environment, MSF is implemented as a DLL. Methods from the DLL are loaded using GetProcAddress() function which can be slow when getting the function pointers for a large number of entry points DLLDIR MSF_RESULT MSF_CreateMSFHdl ( APP_HANDLE * papphdl, MEMINTERFACE *pmeminterface, NotifyFunction pfn_notification, MSF_HANDLE ** pphdl); // (in) some handle to the private APP data // (in) memroy manager created by application // (in) callback function provided by APP // (in/out) pointer to the MSF handler DLLDIR MSF_RESULT MSF_DestroyMSFHdl ( MSF_HANDLE ** psthdl ); // (in/out) pointer to the MSF handler DLLDIR MSF_RESULT MSF_ProcessCommand ( MSF_HANDLE * psthdl, MSF_COMMAND_TYPE ecommand, void * pindata, void * poutdata ); // (in) pointer to the MSF handler // (in) type of the command being sent to MSF // (in) ptr to additional data needed for the command // (out) ptr to data returned from the command 24
25 Outline Project Overview Existing Solution Approach Restructuring existing code Implementing new features Application of CBSE Principles Expected Results Problems Encountered Performance Testing Conclusion Demo References 25
26 Expected Results Provide Extensibility To improve the capabilities of MSF and applications developed using it, MSF can be updated so that a new parser / multiplexer can be added with minimal effort The system can take input from various sources and not just the native file system Provide Reusability: Design for Reuse All the parsers/multiplexers share a common interface Minimizing dependency on OS Provide Reusability: Design with Reuse With the use of same frame work and library, different applications with different capabilities could be developed 26
27 Outline Project Overview Existing Solution Approach Restructuring existing code Implementing new features Application of CBSE Principles Expected Results Problems Encountered Performance Testing Conclusion Demo References 27
28 Problems Encountered Synchronization Synchronization between projector and PC tedious Latency Increased latency between user actions and their effect on the device Trade-off between memory used and response time/throughput Research Difficult to find research papers on thorough implementation details for Publish/Subscribe interfaces Lag spikes vs. Response Time To improve Response Time, send data right when it is needed on the projector this makes system vulnerable to lag spikes 28
29 Outline Project Overview Existing Solution Approach Restructuring existing code Implementing new features Application of CBSE Principles Expected Results Problems Encountered Performance Testing Conclusion Demo References 29
30 Performance Testing Evaluation Each container format is different and requires a different computing power to extract audio video data. Therefore, all performance related tests need to be performed once for each format The performance metrics we are considering for evaluation are: Throughput - the maximum transfer rate possible from the input to the projector Response Time - the time it takes for user inputs (play/pause/stop) to be seen at the output (projector) Response Time and Throughput are a function of total resources in use 30
31 Performance Testing Evaluation Throughput depends on: System s read/write speed FIFO block size Number of FIFO blocks System s Cache size Response Time depends on: Amount of data sent ahead of time to prevent stuttering against lag spikes Reaction Time 31
32 Performance Evaluation Throughput: ASF/WMV WMV/ASF Throughput (MB/s) Throughput (MB/s) Memory Used (MB) Throughput (MB/s) 32
33 Performance Evaluation Throughput: MPEG2-TS MPEG2 Throughput (MB/s) Throughput (MB/s) Memory Used (MB) Throughput (MB/s) 33
34 Performance Evaluation Throughput: MP4 MP4 Throughput (MB/s) Throughput (MB/s) Memory Used (MB) Throughput (MB/s) 34
35 Performance Evaluation Response Time: ASF/WMV WMV/ASF Response Time (Seconds) Response Time (Seconds) Memory Used (MB) Response Time (Seconds) 35
36 Performance Evaluation Response Time : MPEG2-TS MP4 Response Time (Seconds) Response Time (Seconds) Memory Used (MB) Response Time (Seconds) 36
37 Performance Evaluation Response Time : MP4 MP4 Response Time (Seconds) Response Time (Seconds) Memory Used (MB) Response Time (Seconds) 37
38 Outline Project Overview Existing Solution Approach Restructuring existing code Implementing new features Application of CBSE Principles Expected Results Problems Encountered Performance Testing Conclusion Demo References 38
39 Conclusion Significant number of changes made to the code without serious loss in performance Non-measurable improvements: Reliability: Publish/Subscribe interfaces do not lead to deadlocks Portability: OS and platform independence Reusability: Greater portion of the code is in components, each with a well defined interface Extendibility: Well defined interfaces allow for easier addition of new parsers and multiplexers; Removing dependencies of where the input data comes from, and the addition of new parser/muxer ( Software Product Lines ) Maintainability: Better organized code base 39
40 Outline Project Overview Existing Solution Approach Restructuring existing code Implementing new features Application of CBSE Principles Expected Results Problems Encountered Performance Testing Conclusion Demo References 40
41 Demo Demo 41
42 Outline Project Overview Existing Solution Approach Restructuring existing code Implementing new features Application of CBSE Principles Expected Results Problems Encountered Performance Testing Conclusion Demo References 42
43 References [1] A. Le Gear, J.Buckley, Reengineering towards components using Reconn-exion, ACM SIGSOFT Software Engineering Notes, Volume 30, no.5, September [2] C.Chu; C.Hsu; C.Lu; H.Xudong, "A Semi-Formal Approach to Assist Software Design with Reuse," Proceedings of the 15th IEEE International Conference on Software Maintenance, pp.256, March [3] D.Alur; J.Crupi; D.Malks, Core J2EE Patterns: Best Practices and Design Strategies, Second Edition, Prentice Hall, [4] D.Garlan; M.Shaw, "An Introduction to Software Architecture", Technical Report CMU-CS , January [5] D.Perry; A.Wolf, Foundations for the Study of Software Architecture, ACM Sigsoft - Software Engineering Notes, Volume 17, pp , October [6] GNU GENERAL PUBLIC LICENSE, Version 3, Free Software Foundation, Inc., June [7] I.Song; F.Elizalde; F.Karray, CONCORD: a control framework for distributed real-time systems, IEEE Sensors Journal, Volume 7, no.7, pp , July [8] M.Jackson; D.Besnard; C.Gacek; C.Jones, The Structure of Software Development Thought Structure for Dependability: Computer-Based Systems from an Interdisciplinary Perspective, pp , April
44 References [9] N.Admodisastro; G.Kotonya, Architectural analysis approaches: A componentbased system development perspective, Lecture Notes in Computer Science Volume 5030, pp , July [10]P.Zave; M.Jackson, "A Component-Based Approach to Telecommunication Software", IEEE Software, Volume 15, Issue 5, pp , September [11]S.Wang; S.Rho; Z.Mai; R.Bettati; W.Zhao, Real-time component-based system, Proceedings of the 11th IEEE Real Time on Embedded Technology and Applications Symposium, Volume 7, Issue 7-10, pp , March [12]S.White; J.Hanson; I.Whalley; D.Chess; J.Kephart, An Architectural Approach to Autonomic Computing, Proceedings of the 1st International Conference on Autonomic Computing, IEEE Computer Society Press, pp 2-9, May [13] T.Ziadi; L.Helouet; J.Jezequel,"Towards a UML Profile for Software Product Lines ", in Proceedings of the Fifth International Workshop on Product Familly Engineering (PFE), pp , May 2004 [14] W.Bond; E.Cheung; H.Goguen; J.Hanson; D.Henderson; M.Karam; K.Purdy; M.Smith; P.Zave, Experience with component based development of a telecommunication service, Component Based Software Engineering International Symposium, Volume 3489, pp , May
45 Questions? 45
N-Tiered Enterprise Styles. Example 1. Key Concepts. Component-Based Software Engineering. ECE493-Topic 4 Winter 2006
Component-Based Software Engineering ECE493-Topic 4 Winter 2006 Lecture 14 Enterprise Styles/Patterns (Part B) Ladan Tahvildari Assistant Professor Dept. of Elect. & Comp. Eng. University of Waterloo N-Tiered
More informationArchitectural Styles: Definitions
Component-Based Software Engineering ECE493-Topic 4 Winter 2006 Lecture 7 Architectural Styles in CBSE (Part A) Ladan Tahvildari Assistant Professor Dept. of Elect. & Comp. Eng. University of Waterloo
More informationExecution Architecture
Execution Architecture Software Architecture VO (706.706) Roman Kern Institute for Interactive Systems and Data Science, TU Graz 2018-11-07 Roman Kern (ISDS, TU Graz) Execution Architecture 2018-11-07
More informationExample Networks on chip Freescale: MPC Telematics chip
Lecture 22: Interconnects & I/O Administration Take QUIZ 16 over P&H 6.6-10, 6.12-14 before 11:59pm Project: Cache Simulator, Due April 29, 2010 NEW OFFICE HOUR TIME: Tuesday 1-2, McKinley Exams in ACES
More informationAnalysis of operations and parameters involved in interface for CBSE
Analysis of operations and parameters involved in interface for CBSE P.L. Powar 1, Dr. R.K. Pandey 2, M.P. Singh 3, Bharat Solanki 4 1 Department of Mathematics and Computer Science, R. D. University,
More informationWork groups meeting 3
Work groups meeting 3 INF5040 (Open Distributed Systems) Sabita Maharjan sabita@simula.no Department of Informatics University of Oslo September 07, 2009 Design Patterns J2EE Design Patterns Outline EIS
More informationIntroduction to Operating. Chapter Chapter
Introduction to Operating Systems Chapter 1 1.3 Chapter 1.5 1.9 Learning Outcomes High-level understand what is an operating system and the role it plays A high-level understanding of the structure of
More informationCreational. Structural
Fitness for Future of Design Patterns & Architectural Styles Design patterns are difficult to teach, so we conducted a class collaboration where we all researched and reported on a variety of design patterns
More informationMiddleware for Ubiquitous Computing
Middleware for Ubiquitous Computing Software Testing for Mobile Computing National Institute of Informatics Ichiro Satoh Abstract When a portable computing device is moved into and attached to a new local
More informationWorkshops. 1. SIGMM Workshop on Social Media. 2. ACM Workshop on Multimedia and Security
1. SIGMM Workshop on Social Media SIGMM Workshop on Social Media is a workshop in conjunction with ACM Multimedia 2009. With the growing of user-centric multimedia applications in the recent years, this
More informationIntroduction to Operating Systems. Chapter Chapter
Introduction to Operating Systems Chapter 1 1.3 Chapter 1.5 1.9 Learning Outcomes High-level understand what is an operating system and the role it plays A high-level understanding of the structure of
More informationCBSE and Mobile Application Development
ECE750-T11 CBSE and Mobile Application Development Submitted To: Ladan Tahvildari Authors: Jenelle Chen (20077857) Aaron Jin (20326635) Table of Contents Table of Figures...3 Abstract...4 Problem Description...4
More informationA Linux multimedia platform for SH-Mobile processors
A Linux multimedia platform for SH-Mobile processors Embedded Linux Conference 2009 April 7, 2009 Abstract Over the past year I ve been working with the Japanese semiconductor manufacturer Renesas, developing
More informationArchitectural Styles I
Architectural Styles I Software Architecture VO/KU (707023/707024) Roman Kern KTI, TU Graz 2015-01-07 Roman Kern (KTI, TU Graz) Architectural Styles I 2015-01-07 1 / 86 Outline 1 Non-Functional Concepts
More informationOPERATING SYSTEMS & Network OVERVIEW. 1: OS & Network Overview
OPERATING SYSTEMS & Network OVERVIEW 1: OS & Network Overview 1 OPERATING SYSTEM OVERVIEW WHAT IS AN OPERATING SYSTEM? An interface between users and hardware - an environment "architecture Allows convenient
More informationCS370 Operating Systems
CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 2018 Lecture 2 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 2 What is an Operating System? What is
More informationChapter 1: Distributed Systems: What is a distributed system? Fall 2013
Chapter 1: Distributed Systems: What is a distributed system? Fall 2013 Course Goals and Content n Distributed systems and their: n Basic concepts n Main issues, problems, and solutions n Structured and
More informationInvestigating Source Code Reusability for Android and Blackberry Applications
Investigating Source Code Reusability for Android and Blackberry Applications Group G8 Jenelle Chen Aaron Jin 1 Outline Recaps Challenges with mobile development Problem definition Approach Demo Detailed
More informationChapter 4: Threads. Operating System Concepts 9 th Edition
Chapter 4: Threads Silberschatz, Galvin and Gagne 2013 Chapter 4: Threads Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues Operating System Examples
More informationEngineer-to-Engineer Note
Engineer-to-Engineer Note EE-377 Technical notes on using Analog Devices products and development tools Visit our Web resources http://www.analog.com/ee-notes and http://www.analog.com/processors or e-mail
More informationBasic Properties of Styles
Component-Based Software Engineering ECE493-Topic 5 Winter 2007 Lecture 18 Enterprise Styles/Patterns (Part A) Ladan Tahvildari Assistant Professor Dept. of Elect. & Comp. Eng. University of Waterloo Basic
More informationIntroduction to Operating Systems. Chapter Chapter
Introduction to Operating Systems Chapter 1 1.3 Chapter 1.5 1.9 Learning Outcomes High-level understand what is an operating system and the role it plays A high-level understanding of the structure of
More information********************************************************************
******************************************************************** www.techfaq360.com SCWCD Mock Questions : J2EE DESIGN Pattern ******************************************************************** Question
More informationCPS 210: Operating Systems
CPS 210: Operating Systems Operating Systems: The Big Picture The operating system (OS) is the interface between user applications and the hardware. User Applications Operating System virtual machine interface
More informationCS370 Operating Systems
CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2016 Lecture 2 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 2 System I/O System I/O (Chap 13) Central
More informationCapturing Design Expertise in Customized Software Architecture Design Environments
Capturing Design Expertise in Customized Software Architecture Design Environments Robert T. Monroe School of Computer Science, Carnegie Mellon University, Pittsburgh, PA 15213 Abstract: Software architecture
More informationCS 218 F Nov 3 lecture: Streaming video/audio Adaptive encoding (eg, layered encoding) TCP friendliness. References:
CS 218 F 2003 Nov 3 lecture: Streaming video/audio Adaptive encoding (eg, layered encoding) TCP friendliness References: J. Padhye, V.Firoiu, D. Towsley, J. Kurose Modeling TCP Throughput: a Simple Model
More informationPerformance Evaluation of J2EE(2)
ECE750 Topic 11 Component-Based Software Systems Instructor: Ladan Tahvildari Performance Evaluation of J2EE(2) Presented by: Henry Xu (20198718) Huahao Zhang (20256751) July 26, 2007 Outline Introduction
More informationOutline. Threads. Single and Multithreaded Processes. Benefits of Threads. Eike Ritter 1. Modified: October 16, 2012
Eike Ritter 1 Modified: October 16, 2012 Lecture 8: Operating Systems with C/C++ School of Computer Science, University of Birmingham, UK 1 Based on material by Matt Smart and Nick Blundell Outline 1 Concurrent
More informationChapter 4: Threads. Operating System Concepts 9 th Edition
Chapter 4: Threads Silberschatz, Galvin and Gagne 2013 Chapter 4: Threads Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues Operating System Examples
More informationAN AGENT-ORIENTED EXECUTIVE MODEL FOR SERVICE CHOREOGRAPHY
AN AGENT-ORIENTED EXECUTIVE MODEL FOR SERVICE CHOREOGRAPHY MOHAMMAD ZAHIRI, MOHAMMAD R. KHAYYAMBASHI Department of Computer Eng. and Information Technology, University of Sheikh Bahaei, Isfahan, Iran Computer
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 informationSolace JMS Broker Delivers Highest Throughput for Persistent and Non-Persistent Delivery
Solace JMS Broker Delivers Highest Throughput for Persistent and Non-Persistent Delivery Java Message Service (JMS) is a standardized messaging interface that has become a pervasive part of the IT landscape
More informationDistributed Information Processing
Distributed Information Processing 5 th Lecture Eom, Hyeonsang ( 엄현상 ) Department of Computer Science & Engineering Seoul National University Copyrights 2017 Eom, Hyeonsang All Rights Reserved Outline
More informationCS3600 SYSTEMS AND NETWORKS
CS3600 SYSTEMS AND NETWORKS NORTHEASTERN UNIVERSITY Lecture 11: File System Implementation Prof. Alan Mislove (amislove@ccs.neu.edu) File-System Structure File structure Logical storage unit Collection
More informationOverview of the ECE Computer Software Curriculum. David O Hallaron Associate Professor of ECE and CS Carnegie Mellon University
Overview of the ECE Computer Software Curriculum David O Hallaron Associate Professor of ECE and CS Carnegie Mellon University The Fundamental Idea of Abstraction Human beings Applications Software systems
More informationUEFI Plugfest March
UEFI Plugfest March 2017 www.uefi.org 1 presented by The UEFI Forum State of UEFI Fall 2017 UEFI Seminar and Plugfest October 30 November 3, 2017 Presented by Mark Doran, UEFI Forum President www.uefi.org
More informationPerformance evaluation of J2EE
ECE750 Topic 11 Component-Based Software Systems Instructor: Ladan Tahvildari Performance evaluation of J2EE Presented by: Huahao Zhang (20256751) Henry Xu (20198718) July 12, 2007 Outline 1. Introduction
More informationHigh-Level Synthesis Techniques for In-Circuit Assertion-Based Verification
High-Level Synthesis Techniques for In-Circuit Assertion-Based Verification John Curreri Ph.D. Candidate of ECE, University of Florida Dr. Greg Stitt Assistant Professor of ECE, University of Florida April
More informationBuilding High-Assurance Systems out of Software Components of Lesser Assurance Using Middleware Security Gateways
Building High-Assurance Systems out of Software Components of Lesser Assurance Using Middleware Security Gateways A PrismTech Product Line OMG's First Software Assurance Workshop: Working Together for
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 informationChapter 13: I/O Systems
Chapter 13: I/O Systems DM510-14 Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations STREAMS Performance 13.2 Objectives
More informationLecture 25: Busses. A Typical Computer Organization
S 09 L25-1 18-447 Lecture 25: Busses James C. Hoe Dept of ECE, CMU April 27, 2009 Announcements: Project 4 due this week (no late check off) HW 4 due today Handouts: Practice Final Solutions A Typical
More informationI.-C. Lin, Assistant Professor. Textbook: Operating System Concepts 8ed CHAPTER 4: MULTITHREADED PROGRAMMING
I.-C. Lin, Assistant Professor. Textbook: Operating System Concepts 8ed CHAPTER 4: MULTITHREADED PROGRAMMING Chapter 4: Multithreaded Programming Overview Multithreading Models Thread Libraries Threading
More informationSoftware Driven Verification at SoC Level. Perspec System Verifier Overview
Software Driven Verification at SoC Level Perspec System Verifier Overview June 2015 IP to SoC hardware/software integration and verification flows Cadence methodology and focus Applications (Basic to
More informationComputer and Information Sciences College / Computer Science Department CS 207 D. Computer Architecture. Lecture 9: Multiprocessors
Computer and Information Sciences College / Computer Science Department CS 207 D Computer Architecture Lecture 9: Multiprocessors Challenges of Parallel Processing First challenge is % of program inherently
More informationJava Enterprise Edition
Java Enterprise Edition The Big Problem Enterprise Architecture: Critical, large-scale systems Performance Millions of requests per day Concurrency Thousands of users Transactions Large amounts of data
More information2. The Proposed Process Model of CBD Main phases of CBD process model are shown, in figure Introduction
Survey-Based Analysis of the Proposed Component-Based Development Process M. Rizwan Jameel Qureshi Dept. of Computer Science, COMSATS Institute of Information Technology, Lahore anriz@hotmail.com Ph #
More informationFirmware Revision History and Upgrade Instructions
SENSAPHONE Firmware Revision History and Upgrade Instructions Equipment Firmware: WEB600 v1.46 WEB600 with Relay Output v1.59 Release Date: July 15, 2013 The upgrade package has no prerequisites and supersedes
More informationPerformance Analysis of Virtual Environments
Performance Analysis of Virtual Environments Nikhil V Mishrikoti (nikmys@cs.utah.edu) Advisor: Dr. Rob Ricci Co-Advisor: Anton Burtsev 1 Introduction Motivation Virtual Machines (VMs) becoming pervasive
More informationTruVision Navigator v5
TruVision Line / Video Surveillance TruVision Navigator v5 The next generation in video management OVERVIEW TruVision Navigator v5 represents the latest advancement in video management software. This single
More informationA Scalable Event Dispatching Library for Linux Network Servers
A Scalable Event Dispatching Library for Linux Network Servers Hao-Ran Liu and Tien-Fu Chen Dept. of CSIE National Chung Cheng University Traditional server: Multiple Process (MP) server A dedicated process
More informationDISTRIBUTED COMPUTER SYSTEMS
DISTRIBUTED COMPUTER SYSTEMS MESSAGE ORIENTED COMMUNICATIONS Dr. Jack Lange Computer Science Department University of Pittsburgh Fall 2015 Outline Message Oriented Communication Sockets and Socket API
More informationA SIMULATION ARCHITECTURE DESCRIPTION LANGUAGE FOR HARDWARE-IN-LOOP SIMULATION OF SAFETY CRITICAL SYSTEMS
A SIMULATION ARCHITECTURE DESCRIPTION LANGUAGE FOR HARDWARE-IN-LOOP SIMULATION OF SAFETY CRITICAL SYSTEMS YUJUN ZHU, ZHONGWEI XU, MENG MEI School of Electronics & Information Engineering, Tongji University,
More informationDistributed Systems Operation System Support
Hajussüsteemid MTAT.08.009 Distributed Systems Operation System Support slides are adopted from: lecture: Operating System(OS) support (years 2016, 2017) book: Distributed Systems: Concepts and Design,
More informationChapter 12: I/O Systems
Chapter 12: I/O Systems Chapter 12: I/O Systems I/O Hardware! Application I/O Interface! Kernel I/O Subsystem! Transforming I/O Requests to Hardware Operations! STREAMS! Performance! Silberschatz, Galvin
More informationChapter 13: I/O Systems
Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations STREAMS Performance Silberschatz, Galvin and
More informationChapter 12: I/O Systems. Operating System Concepts Essentials 8 th Edition
Chapter 12: I/O Systems Silberschatz, Galvin and Gagne 2011 Chapter 12: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations STREAMS
More informationCMSC 411 Computer Systems Architecture Lecture 13 Instruction Level Parallelism 6 (Limits to ILP & Threading)
CMSC 411 Computer Systems Architecture Lecture 13 Instruction Level Parallelism 6 (Limits to ILP & Threading) Limits to ILP Conflicting studies of amount of ILP Benchmarks» vectorized Fortran FP vs. integer
More informationECE 587 Hardware/Software Co-Design Lecture 07 Concurrency in Practice Shared Memory I
ECE 587 Hardware/Software Co-Design Spring 2018 1/15 ECE 587 Hardware/Software Co-Design Lecture 07 Concurrency in Practice Shared Memory I Professor Jia Wang Department of Electrical and Computer Engineering
More informationWork groups meeting 3
Work groups meeting 3 INF5040 (Open Distributed Systems) Amir Taherkordi amirhost@ifi.uio.no Department of Informatics University of Oslo September 18, 2008 Design Patterns J2EE Design Patterns AntiPatterns
More informationFoundational Design Patterns for Moving Beyond One Loop
Foundational Design Patterns for Moving Beyond One Loop Raja Pillai Technical Consultant Agenda Why move beyond one loop? What is a design pattern? Why learn communication mechanisms? Functional global
More informationProcessor Architectures At A Glance: M.I.T. Raw vs. UC Davis AsAP
Processor Architectures At A Glance: M.I.T. Raw vs. UC Davis AsAP Presenter: Course: EEC 289Q: Reconfigurable Computing Course Instructor: Professor Soheil Ghiasi Outline Overview of M.I.T. Raw processor
More informationIntroduction to Asynchronous Programming Fall 2014
CS168 Computer Networks Fonseca Introduction to Asynchronous Programming Fall 2014 Contents 1 Introduction 1 2 The Models 1 3 The Motivation 3 4 Event-Driven Programming 4 5 select() to the rescue 5 1
More informationCS 160: Interactive Programming
CS 160: Interactive Programming Professor John Canny 3/8/2006 1 Outline Callbacks and Delegates Multi-threaded programming Model-view controller 3/8/2006 2 Callbacks Your code Myclass data method1 method2
More informationAn Introduction to Software Architecture. David Garlan & Mary Shaw 94
An Introduction to Software Architecture David Garlan & Mary Shaw 94 Motivation Motivation An increase in (system) size and complexity structural issues communication (type, protocol) synchronization data
More informationAndroid Programming (5 Days)
www.peaklearningllc.com Android Programming (5 Days) Course Description Android is an open source platform for mobile computing. Applications are developed using familiar Java and Eclipse tools. This Android
More informationEnterprise Web based Software Architecture & Design
IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark class discussions Enterprise Web based
More informationCS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University
CS 555: DISTRIBUTED SYSTEMS [MESSAGING SYSTEMS] Shrideep Pallickara Computer Science Colorado State University Frequently asked questions from the previous class survey Distributed Servers Security risks
More informationAn Introduction to Software Architecture By David Garlan & Mary Shaw 94
IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion An Introduction to
More informationOPERATING SYSTEM. Chapter 4: Threads
OPERATING SYSTEM Chapter 4: Threads Chapter 4: Threads Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues Operating System Examples Objectives To
More informationUniversal Communication Component on Symbian Series60 Platform
Universal Communication Component on Symbian Series60 Platform Róbert Kereskényi, Bertalan Forstner, Hassan Charaf Department of Automation and Applied Informatics Budapest University of Technology and
More informationSABLE: Agent Support for the Consolidation of Enterprise-Wide Data- Oriented Simulations
: Agent Support for the Consolidation of Enterprise-Wide Data- Oriented Simulations Brian Blake The MITRE Corporation Center for Advanced Aviation System Development 1820 Dolley Madison Blvd. McLean, VA
More informationIVI. Interchangeable Virtual Instruments. IVI-3.10: Measurement and Stimulus Subsystems (IVI-MSS) Specification. Page 1
IVI Interchangeable Virtual Instruments IVI-3.10: Measurement and Stimulus Subsystems (IVI-MSS) Specification March, 2008 Edition Revision 1.0.1 Page 1 Important Information The IVI Measurement and Stimulus
More informationFlash: an efficient and portable web server
Flash: an efficient and portable web server High Level Ideas Server performance has several dimensions Lots of different choices on how to express and effect concurrency in a program Paper argues that
More informationCourse 834 EC-Council Certified Secure Programmer Java (ECSP)
Course 834 EC-Council Certified Secure Programmer Java (ECSP) Duration: 3 days You Will Learn How To Apply Java security principles and secure coding practices Java Security Platform, Sandbox, JVM, Class
More informationCS342: Software Design. Oct 9, 2017
CS342: Software Design Oct 9, 2017 Outline Facade pattern Observer pattern Homework 1 classes Human player replaces a card 1. Main UserPlayer 2. Main ->CardPile 3. CardPile -> Card -> Main 4. Main
More informationModule 11: I/O Systems
Module 11: I/O Systems Reading: Chapter 13 Objectives Explore the structure of the operating system s I/O subsystem. Discuss the principles of I/O hardware and its complexity. Provide details on the performance
More informationDistributed Systems Project 4 Assigned: Friday March 20 Due: Friday April 3, 11:59pm
95-702 Distributed Systems Project 4 Assigned: Friday March 20 Due: Friday April 3, 11:59pm Project Topics: Java RMI and a distributed, Mobile to Cloud application This project has 2 tasks. Task 1 is a
More informationRemote Procedure Call (RPC) and Transparency
Remote Procedure Call (RPC) and Transparency Brad Karp UCL Computer Science CS GZ03 / M030 10 th October 2014 Transparency in Distributed Systems Programmers accustomed to writing code for a single box
More informationArchitectural Styles I
Architectural Styles I Software Architecture VO/KU (707.023/707.024) Denis Helic, Roman Kern KMI, TU Graz Nov 14, 2012 Denis Helic, Roman Kern (KMI, TU Graz) Architectural Styles I Nov 14, 2012 1 / 80
More informationAWS Lambda: Event-driven Code in the Cloud
AWS Lambda: Event-driven Code in the Cloud Dean Bryen, Solutions Architect AWS Andrew Wheat, Senior Software Engineer - BBC April 15, 2015 London, UK 2015, Amazon Web Services, Inc. or its affiliates.
More informationFlight Systems are Cyber-Physical Systems
Flight Systems are Cyber-Physical Systems Dr. Christopher Landauer Software Systems Analysis Department The Aerospace Corporation Computer Science Division / Software Engineering Subdivision 08 November
More informationChapter 20: Multimedia Systems
Chapter 20: Multimedia Systems, Silberschatz, Galvin and Gagne 2009 Chapter 20: Multimedia Systems What is Multimedia? Compression Requirements of Multimedia Kernels CPU Scheduling Disk Scheduling Network
More informationChapter 20: Multimedia Systems. Operating System Concepts 8 th Edition,
Chapter 20: Multimedia Systems, Silberschatz, Galvin and Gagne 2009 Chapter 20: Multimedia Systems What is Multimedia? Compression Requirements of Multimedia Kernels CPU Scheduling Disk Scheduling Network
More informationChapter 4: Threads. Chapter 4: Threads
Chapter 4: Threads Silberschatz, Galvin and Gagne 2013 Chapter 4: Threads Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues Operating System Examples
More informationVisual Profiler. User Guide
Visual Profiler User Guide Version 3.0 Document No. 06-RM-1136 Revision: 4.B February 2008 Visual Profiler User Guide Table of contents Table of contents 1 Introduction................................................
More informationAdaptive Methods for Distributed Video Presentation. Oregon Graduate Institute of Science and Technology. fcrispin, scen, walpole,
Adaptive Methods for Distributed Video Presentation Crispin Cowan, Shanwei Cen, Jonathan Walpole, and Calton Pu Department of Computer Science and Engineering Oregon Graduate Institute of Science and Technology
More informationCS550. TA: TBA Office: xxx Office hours: TBA. Blackboard:
CS550 Advanced Operating Systems (Distributed Operating Systems) Instructor: Xian-He Sun Email: sun@iit.edu, Phone: (312) 567-5260 Office hours: 1:30pm-2:30pm Tuesday, Thursday at SB229C, or by appointment
More informationCSE 4/521 Introduction to Operating Systems. Lecture 29 Windows 7 (History, Design Principles, System Components, Programmer Interface) Summer 2018
CSE 4/521 Introduction to Operating Systems Lecture 29 Windows 7 (History, Design Principles, System Components, Programmer Interface) Summer 2018 Overview Objective: To explore the principles upon which
More informationInteractive Monitoring, Visualization, and Configuration of OpenFlow-Based SDN
Interactive Monitoring, Visualization, and Configuration of OpenFlow-Based SDN Pedro Heleno Isolani Juliano Araujo Wickboldt Cristiano Bonato Both Lisandro Zambenedetti Granville Juergen Rochol July 16,
More informationWelcome to CS 241 Systems Programming at Illinois
Welcome to CS 241 Systems Programming at Illinois Robin Kravets Copyright : University of Illinois CS 241 Staff 1 The Team Robin Kravets Office: 3114 SC rhk@illinois.edu TAs Wade Fagen, Farhana Ashraf,
More informationArchitectural Styles - Finale
Material and some slide content from: - Emerson Murphy-Hill - Software Architecture: Foundations, Theory, and Practice - Essential Software Architecture Architectural Styles - Finale Reid Holmes Lecture
More informationLecture 27 DASH (Dynamic Adaptive Streaming over HTTP)
CS 414 Multimedia Systems Design Lecture 27 DASH (Dynamic Adaptive Streaming over HTTP) Klara Nahrstedt Spring 2012 Administrative MP2 posted MP2 Deadline April 7, Saturday, 5pm. APPLICATION Internet Multimedia
More informationAdaptive Cluster Computing using JavaSpaces
Adaptive Cluster Computing using JavaSpaces Jyoti Batheja and Manish Parashar The Applied Software Systems Lab. ECE Department, Rutgers University Outline Background Introduction Related Work Summary of
More informationGeneralized Document Data Model for Integrating Autonomous Applications
6 th International Conference on Applied Informatics Eger, Hungary, January 27 31, 2004. Generalized Document Data Model for Integrating Autonomous Applications Zsolt Hernáth, Zoltán Vincellér Abstract
More informationModel Driven Development of Context Aware Software Systems
Model Driven Development of Context Aware Software Systems Andrea Sindico University of Rome Tor Vergata Elettronica S.p.A. andrea.sindico@gmail.com Vincenzo Grassi University of Rome Tor Vergata vgrassi@info.uniroma2.it
More informationFall 2014:: CSE 506:: Section 2 (PhD) Threading. Nima Honarmand (Based on slides by Don Porter and Mike Ferdman)
Threading Nima Honarmand (Based on slides by Don Porter and Mike Ferdman) Threading Review Multiple threads of execution in one address space Why? Exploits multiple processors Separate execution stream
More informationThe Structuring of Systems Using Upcalls
CS533 - Concepts of Operating Systems, Winter 2012 The Structuring of Systems Using Upcalls David D. Clark Presented by: Peter Banda Agenda Layers and Upcalls Example Multi-task Modules Problems with Upcalls
More informationTRIBHUVAN UNIVERSITY Institute of Engineering Pulchowk Campus Department of Electronics and Computer Engineering
TRIBHUVAN UNIVERSITY Institute of Engineering Pulchowk Campus Department of Electronics and Computer Engineering A Final project Report ON Minor Project Java Media Player Submitted By Bisharjan Pokharel(061bct512)
More information