Component Based Media Streaming Framework

Size: px
Start display at page:

Download "Component Based Media Streaming Framework"

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

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 information

Architectural Styles: Definitions

Architectural 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 information

Execution Architecture

Execution 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 information

Example Networks on chip Freescale: MPC Telematics chip

Example 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 information

Analysis of operations and parameters involved in interface for CBSE

Analysis 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 information

Work groups meeting 3

Work 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 information

Introduction to Operating. Chapter Chapter

Introduction 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 information

Creational. Structural

Creational. 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 information

Middleware for Ubiquitous Computing

Middleware 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 information

Workshops. 1. SIGMM Workshop on Social Media. 2. ACM Workshop on Multimedia and Security

Workshops. 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 information

Introduction to Operating Systems. Chapter Chapter

Introduction 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

CBSE and Mobile Application Development

CBSE 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 information

A Linux multimedia platform for SH-Mobile processors

A 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 information

Architectural Styles I

Architectural 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 information

OPERATING SYSTEMS & Network OVERVIEW. 1: OS & Network Overview

OPERATING 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 information

CS370 Operating Systems

CS370 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 information

Chapter 1: Distributed Systems: What is a distributed system? Fall 2013

Chapter 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 information

Investigating Source Code Reusability for Android and Blackberry Applications

Investigating 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 information

Chapter 4: Threads. Operating System Concepts 9 th Edition

Chapter 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 information

Engineer-to-Engineer Note

Engineer-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 information

Basic Properties of Styles

Basic 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 information

Introduction to Operating Systems. Chapter Chapter

Introduction 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 information

CPS 210: Operating Systems

CPS 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 information

CS370 Operating Systems

CS370 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 information

Capturing Design Expertise in Customized Software Architecture Design Environments

Capturing 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 information

CS 218 F Nov 3 lecture: Streaming video/audio Adaptive encoding (eg, layered encoding) TCP friendliness. References:

CS 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 information

Performance Evaluation of J2EE(2)

Performance 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 information

Outline. Threads. Single and Multithreaded Processes. Benefits of Threads. Eike Ritter 1. Modified: October 16, 2012

Outline. 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 information

Chapter 4: Threads. Operating System Concepts 9 th Edition

Chapter 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 information

AN AGENT-ORIENTED EXECUTIVE MODEL FOR SERVICE CHOREOGRAPHY

AN 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 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

Solace JMS Broker Delivers Highest Throughput for Persistent and Non-Persistent Delivery

Solace 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 information

Distributed Information Processing

Distributed 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 information

CS3600 SYSTEMS AND NETWORKS

CS3600 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 information

Overview 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 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 information

UEFI Plugfest March

UEFI 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 information

Performance evaluation of J2EE

Performance 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 information

High-Level Synthesis Techniques for In-Circuit Assertion-Based Verification

High-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 information

Building 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 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 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

Chapter 13: I/O Systems

Chapter 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 information

Lecture 25: Busses. A Typical Computer Organization

Lecture 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 information

I.-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 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 information

Software Driven Verification at SoC Level. Perspec System Verifier Overview

Software 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 information

Computer 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 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 information

Java Enterprise Edition

Java 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 information

2. The Proposed Process Model of CBD Main phases of CBD process model are shown, in figure Introduction

2. 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 information

Firmware Revision History and Upgrade Instructions

Firmware 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 information

Performance Analysis of Virtual Environments

Performance 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 information

TruVision Navigator v5

TruVision 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 information

A Scalable Event Dispatching Library for Linux Network Servers

A 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 information

DISTRIBUTED COMPUTER SYSTEMS

DISTRIBUTED 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 information

A 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 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 information

Distributed Systems Operation System Support

Distributed 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 information

Chapter 12: I/O Systems

Chapter 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 information

Chapter 13: I/O Systems

Chapter 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 information

Chapter 12: I/O Systems. Operating System Concepts Essentials 8 th Edition

Chapter 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 information

CMSC 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) 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 information

ECE 587 Hardware/Software Co-Design Lecture 07 Concurrency in Practice Shared Memory I

ECE 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 information

Work groups meeting 3

Work 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 information

Foundational Design Patterns for Moving Beyond One Loop

Foundational 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 information

Processor 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 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 information

Introduction to Asynchronous Programming Fall 2014

Introduction 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 information

CS 160: Interactive Programming

CS 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 information

An Introduction to Software Architecture. David Garlan & Mary Shaw 94

An 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 information

Android Programming (5 Days)

Android 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 information

Enterprise Web based Software Architecture & Design

Enterprise 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 information

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

CS555: 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 information

An Introduction to Software Architecture By David Garlan & Mary Shaw 94

An 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 information

OPERATING SYSTEM. Chapter 4: Threads

OPERATING 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 information

Universal Communication Component on Symbian Series60 Platform

Universal 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 information

SABLE: Agent Support for the Consolidation of Enterprise-Wide Data- Oriented Simulations

SABLE: 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 information

IVI. 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. 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 information

Flash: an efficient and portable web server

Flash: 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 information

Course 834 EC-Council Certified Secure Programmer Java (ECSP)

Course 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 information

CS342: Software Design. Oct 9, 2017

CS342: 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 information

Module 11: I/O Systems

Module 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 information

Distributed Systems Project 4 Assigned: Friday March 20 Due: Friday April 3, 11:59pm

Distributed 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 information

Remote Procedure Call (RPC) and Transparency

Remote 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 information

Architectural Styles I

Architectural 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 information

AWS Lambda: Event-driven Code in the Cloud

AWS 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 information

Flight Systems are Cyber-Physical Systems

Flight 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 information

Chapter 20: Multimedia Systems

Chapter 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 information

Chapter 20: Multimedia Systems. Operating System Concepts 8 th Edition,

Chapter 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 information

Chapter 4: Threads. Chapter 4: Threads

Chapter 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 information

Visual Profiler. User Guide

Visual 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 information

Adaptive Methods for Distributed Video Presentation. Oregon Graduate Institute of Science and Technology. fcrispin, scen, walpole,

Adaptive 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 information

CS550. TA: TBA Office: xxx Office hours: TBA. Blackboard:

CS550. 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 information

CSE 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 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 information

Interactive Monitoring, Visualization, and Configuration of OpenFlow-Based SDN

Interactive 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 information

Welcome to CS 241 Systems Programming at Illinois

Welcome 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 information

Architectural Styles - Finale

Architectural 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 information

Lecture 27 DASH (Dynamic Adaptive Streaming over HTTP)

Lecture 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 information

Adaptive Cluster Computing using JavaSpaces

Adaptive 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 information

Generalized Document Data Model for Integrating Autonomous Applications

Generalized 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 information

Model Driven Development of Context Aware Software Systems

Model 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 information

Fall 2014:: CSE 506:: Section 2 (PhD) Threading. Nima Honarmand (Based on slides by Don Porter and Mike Ferdman)

Fall 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 information

The Structuring of Systems Using Upcalls

The 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 information

TRIBHUVAN 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 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