Java Real-Time Distributed Processing over Chorus/OS
|
|
- Peregrine Small
- 8 years ago
- Views:
Transcription
1 Java Real-Time Distributed Processing over Chorus/OS Christophe Lizzi CS Technologies Informatiques CNAM, CEDRIC lab.
2 Outline Motivations Our vision Real-time Java Operating system and network supports Java real-time extensions Further work and conclusion
3 Motivations Current industrial control systems various networks - fieldbuses, control buses, LANs, analog links - QoS, performances, service model various environments - hardware: workstations, embedded systems, PLCs - software: operating systems, APIs, programming languages various bandwidth and QoS demanding applications - command/control data, reporting, audio/video streaming for quality control or failure localization Heterogeneity is the key problem scalability, proprietary, fixed QoS, integration, maintainance, cost
4 Our vision An open, integrated, homogeneous distributed real-time environment How? by using ATM and Java as the core technologies of the system Homogeneous networking infrastructure: ATM integrated, scalable, open, flexible QoS, easy integration Homogeneous distributed processing environment: Java binary portability, high-level abstractions, security, modularity Challenges end-to-end performance guarantees over ATM Java real-time processing integrated approach of networking, scheduling and synchronisation
5 Java What is Java? an object-oriented programming language a runtime system an application programming interface (JDK classes) Why Java? the Java language and the Java platforms support application portability higher level of abstraction security mechanisms Java is designed to support component integration and reuse Beneficts portability, reliability, high level application design Drawback runtime efficiency
6 Real-time Java Why Java in real-time systems? Industrial applications run on the entire spectrum of system platforms - from workstations with standard operating systems to microcontrollers without an OS in embedded systems - lots of specialized and costly developement systems - various abstractions, services, semantics impacts portability, integration, development costs of applications Real-time Java retain the benefits of the Java language - portability, high level of abstraction add deterministic temporal behavior - real-time scheduling, synchronization, communications enable access to hardware resources
7 Problems raised by Java in a real-time environment Thread scheduling scheduling policies are JVM-dependent need for a high level model of tasks and temporal constraints Thread synchronization Code interpretation dynamic class loading, verification and link edition delays are not predictable Memory management interferences with the garbage collector Performances just-in-time compiling, dynamic optimization run-time analysis
8 PERC from NewMonics Related work and products specific compiler, JVM and core classes uses an extended dialect of Java new keywords: atomic and timed - enable to express required temporal behavior rate monotonic scheduling real-time incremental garbage collection - can be interrupted by real-time threads proprietary classes to access to physical memory, I/O ports and interrupt handlers EmbeddedJava and JavaOS for Consumers from Sun, JBED from Oberon, Kaffe... subsets of Java proprietary packages Standardization (?) efforts NIST, Real-Time Java Working Group, J Consortium, Java Experts Group...
9 Our approach Enabling end-to-end deadline inheritance uniform model of temporal constraints - message and task scheduling Adding real-time capabilities to our JVM virtual machine support for Java real-time scheduling and synchronization enhanced Java Native Interface access to real-time communications over ATM access to hardware resources through native methods Underlying real-time distributed operating system Chorus/OS from Sun Microsystems extended to support deadline-based scheduling and communications
10 Overview end-to-enddeadline inheritance EDF-scheduled Java thread message handler EDF-scheduled Java thread shared buffers shared buffers GNU Japhar JVM GNU Japhar JVM ChorusOS RT-IPC server ATM driver RT-IPC server ATM driver ChorusOS RT-binding
11 Operating System Support Chorus/OS microkernel-based distributed real-time system now commercialized by Sun Microsystems foundation of the JavaOS for Consumer product Modularity made of building blocks selected according to application requirements selected components determine the core features of the system memory model, scheduling policies, available APIs Customization support of ATM networks deadline-based scheduling real-time IPC enhanced Java virtual machine
12 ATM support ATM networking a set of switches connected by point-to-point links cell based switching and asynchronous multiplexing Why ATM? high bandwidth connection oriented native end-to-end QoS support scalability - flexible topology, distance (LAN, MAN, WAN), bandwidth open technology Why ATM in real-time systems? integrated traffic transport one network technology - virtual, not physical isolation among connections
13 Enforcement of QoS CBR and rt-vbr service categories are suitable for time sensitive traffic open loop control: congestion avoidance via cell scheduling Traffic contract traffic specification: PCR, SCR, MBS QoS specification: maxctd, CDV, CLR The network commits to support the QoS for all compliant connections Separation of the network provider and the user ATM comes from the telco world protect the network and its performance Leads to traffic contract, admission control, shaping, policing and scheduling never heard of these concepts in LANs designed by the computer industry
14 Enforcement of QoS (cont.) Traffic contract user description of traffic and requested QoS network connection admission control require traffic models and conformance definitions Shaping make sure the traffic passes the policer s conformance test Policing Usage Parameter Control at UNI = test for compliance GCRA algorithm = leaky bucket Scheduling which cell to send? decision based on QoS parameters
15 Java real-time support Thread scheduling and synchronization Earliest Deadline First scheduling - release time, absolute deadline, worst-case execution time, period support for basic priority inheritance protocol Communications location-transparent real-time IPC service - basic concepts inherited from the regular Chorus IPC service binding between RT-IPC ports is subject to network admission control Enhanced Java Native Interface Java objects may be moved by the garbage collector, so copies are supplied - data copies limit the JNI performances enabling the sharing of data between Java and native methods byte arrays may not be allocated in the Java heap, but using native memory
16 Thread scheduling Real-time extensions class SampleThread extends PeriodicEdfThread { public SampleThread() { setreleasetime( 0 ); setabsolutedeadline( * ); setworstcaseexectime( 100 * ); setperiod( 100 * ); } setmaxreleasecount( 10 ); public void edfrun() { dosomethinghere(); } } public static void main(string[] args) { new SampleThread().start(); }
17 Real-time extensions (cont.) Communications similar to the standard Chorus IPC framework exchange of RT-messages through RT-ports Service RT-messages convey a deadline required explicit binding of RT-ports between any interactions binding is subject to negociation and admission control deadline-scheduled handlers are associated to RT-ports End-to-end deadline inheritance an absolute deadline is propagated from the sender to the receiver of an RT-message RT-message deadline is set by the user or inherited from the sender thread integration with the real-time synchronization mechanisms
18 Real-time extensions (cont.) Java Native Interface real-time communication relies on native methods heavy transfers of serialized data accross the JNI interface JNI design the JNI spec prohibits memory sharing between native and Java objects Java objects may be moved by the garbage collector During JNI invocations involving arrays: pin down the Java object during the execution of the native code, or supply a non-moveable copy to the native side - if updated data are returned, then another copy is performed Limits JNI bandwidth
19 Enhanced JNI interface Real-time extensions (cont.) enable the sharing of data between Java and native methods, boosting performances Java heap public class SampleClass { public byte shared[]; SampleClass instance shared variable } public void samplemethod() { shared = nativeallocmethod(); shared[ 5 ] = 123; } jbytearray attribute Java virtual machine native code 123 JNI interface native body of shared byte array ChorusOS memory pages arrray body not allocated in the Java heap, but using native DMA able pages - not touched by GC operations
20 Memory Management Garbage collection Java exempts the programmer to explicitly release the allocated memory done by the garbage collector GC techniques reference counting mark and sweep copying Real-time Java requires incremental GC techniques memory is collected while the reference graph is explored by the GC - the graph can be altered by the application while it is being explored - the GC can be interrupted Dedicated non-copying GC algorithms Treadmil algorithm from Baker refined version from WiIson & Johnsone
21 Memory Management (cont.) The overhead induced by garbage collection can be unacceptable for some classes of real-time applications real-time GC is not included in the current draft specs of the RTJWG - treated as and optional, vendor-specifc, extension Allocation contexts partition of the memory heap expresses the lifetime of the objects it contains - objects are automatically reclaimed when their allocation context is destroyed default per-thread allocation context a class may implement the following interface to indicate that all objects instantiated by its methods must be allocated in a specific context interface CoreAllocator { public CoreAllocationContext allocationcontext(); } - the allocating context being used is represented by the object returned by allocationcontext() Stackable objects
22 Further Work RMI are not yet supported serialisation of composite objets is partially missing stream-based interactions only Higher abstraction model the Sun JINI environment the Jonathan flexible ORB - J.B. Stefani s team at France Telecom CNET Towards an extensible Java-based SCADA environment Java virtual manufacturing devices (VMD) as defined by the MMS model
23 Conclusion Heterogeneity of industrial systems is the key problem various computing environments connected by various networks and running various QoS-demanding distributed applications negative impact on scalability, integration, maintenance, cost Our proposal homogeneous virtual computing environments connected by one network core technologies: Java and ATM Benefits integrated, scalable networking with native QoS support high-level, portable Java computing environment Promising approach (?), but these technologies are still in infancy required support for real-time communications over ATM what real-time Java really means is still discussed - RTJWG, J Consortium, NewMonics vs. Java Experts Group, Sun, IBM
Quality of Service in ATM Networks
Quality of Service in ATM Networks Components of a QoS Network 1. At network entrance: Policing and Shaping 2. Somewhere in the network: Admission Control 3. At switches: Classification, Scheduling 4.
More informationFachbereich Informatik und Elektrotechnik SunSPOT. Ubiquitous Computing. Ubiquitous Computing, Helmut Dispert
Ubiquitous Computing Ubiquitous Computing The Sensor Network System Sun SPOT: The Sun Small Programmable Object Technology Technology-Based Wireless Sensor Networks a Java Platform for Developing Applications
More informationRealtime Java. Christoph Neijenhuis
Realtime Java Christoph Neijenhuis Agenda 2 RT Problems in Java Solutions: RTSJ and others Guiding Principles Memory Management Threads Asynchronous Event Handling Scheduling Time Synchronization Implementations
More informationCSCI E 98: Managed Environments for the Execution of Programs
CSCI E 98: Managed Environments for the Execution of Programs Draft Syllabus Instructor Phil McGachey, PhD Class Time: Mondays beginning Sept. 8, 5:30-7:30 pm Location: 1 Story Street, Room 304. Office
More informationGarbage Collection in the Java HotSpot Virtual Machine
http://www.devx.com Printed from http://www.devx.com/java/article/21977/1954 Garbage Collection in the Java HotSpot Virtual Machine Gain a better understanding of how garbage collection in the Java HotSpot
More informationpicojava TM : A Hardware Implementation of the Java Virtual Machine
picojava TM : A Hardware Implementation of the Java Virtual Machine Marc Tremblay and Michael O Connor Sun Microelectronics Slide 1 The Java picojava Synergy Java s origins lie in improving the consumer
More informationDeveloping Embedded Software in Java Part 1: Technology and Architecture
Developing Embedded Software in Java Part 1: Technology and Architecture by Michael Barr Embedded Systems Conference Europe The Netherlands November 16-18, 1999 Course #300 Sun s introduction of the Java
More informationLast Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
More informationJava and Real Time Storage Applications
Java and Real Time Storage Applications Gary Mueller Janet Borzuchowski 1 Flavors of Java for Embedded Systems Software Java Virtual Machine(JVM) Compiled Java Hardware Java Virtual Machine Java Virtual
More informationCHAPTER 1 ATM TRAFFIC MANAGEMENT
CHAPTER 1 ATM TRAFFIC MANAGEMENT Webster s New World Dictionary defines congestion as filled to excess, or overcrowded; for example, highway congestion. Although, the best solution of congestion is to
More informationReplication on Virtual Machines
Replication on Virtual Machines Siggi Cherem CS 717 November 23rd, 2004 Outline 1 Introduction The Java Virtual Machine 2 Napper, Alvisi, Vin - DSN 2003 Introduction JVM as state machine Addressing non-determinism
More informationTowards a RT-Java Based Embedded Remote Monitoring Tool for Small and Medium Power Plant Units
Towards a RT-Java Based Embedded Remote Monitoring Tool for Small and Medium Power Plant Units L. Réveilleau **, E. Becquet **, L. Bacon *, J-M. Douin **, E. Gressier-Soudan **, F. Horn *** * EDF, DRD/EP/CCC/GAS,
More informationQoS and Communication Performance Management
Using a Real-Time, QoS-based ORB to Intelligently Manage Communications Bandwidth in a Multi-Protocol Environment Bill Beckwith Objective Interface Systems, Inc. OMG Embedded Workshop The Nature of CORBA
More informationChapter 3 Operating-System Structures
Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual
More informationValidating Java for Safety-Critical Applications
Validating Java for Safety-Critical Applications Jean-Marie Dautelle * Raytheon Company, Marlborough, MA, 01752 With the real-time extensions, Java can now be used for safety critical systems. It is therefore
More informationThe Java Virtual Machine and Mobile Devices. John Buford, Ph.D. buford@alum.mit.edu Oct 2003 Presented to Gordon College CS 311
The Java Virtual Machine and Mobile Devices John Buford, Ph.D. buford@alum.mit.edu Oct 2003 Presented to Gordon College CS 311 Objectives Review virtual machine concept Introduce stack machine architecture
More informationPART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions. Outline. Performance oriented design
PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions Slide 1 Outline Principles for performance oriented design Performance testing Performance tuning General
More informationFundamentals of Java Programming
Fundamentals of Java Programming This document is exclusive property of Cisco Systems, Inc. Permission is granted to print and copy this document for non-commercial distribution and exclusive use by instructors
More informationA Comparison of Distributed Systems: ChorusOS and Amoeba
A Comparison of Distributed Systems: ChorusOS and Amoeba Angelo Bertolli Prepared for MSIT 610 on October 27, 2004 University of Maryland University College Adelphi, Maryland United States of America Abstract.
More information51-20-99 Traffic Control Functions in ATM Networks Byung G. Kim Payoff
51-20-99 Traffic Control Functions in ATM Networks Byung G. Kim Payoff A standard monitoring algorithm for two traffic types--constant bit rate (e.g., voice) and variable bit rate (e.g., compressed video)--can
More informationComputer Network. Interconnected collection of autonomous computers that are able to exchange information
Introduction Computer Network. Interconnected collection of autonomous computers that are able to exchange information No master/slave relationship between the computers in the network Data Communications.
More informationCurrent Issues in ATM Forum Traffic Management Group: Part III
Current Issues in ATM Forum Traffic Management Group: Part III Columbus, OH 43210 Jain@CIS.Ohio-State.Edu http://www.cis.ohio-state.edu/~jain/ 1 Overview GFR Update CDV Accumulation Joint Work with other
More informationResource Utilization of Middleware Components in Embedded Systems
Resource Utilization of Middleware Components in Embedded Systems 3 Introduction System memory, CPU, and network resources are critical to the operation and performance of any software system. These system
More informationMobile Application Languages XML, Java, J2ME and JavaCard Lesson 04 Java
Mobile Application Languages XML, Java, J2ME and JavaCard Lesson 04 Java Oxford University Press 2007. All rights reserved. 1 C and C++ C and C++ with in-line-assembly, Visual Basic, and Visual C++ the
More informationGeneral Introduction
Managed Runtime Technology: General Introduction Xiao-Feng Li (xiaofeng.li@gmail.com) 2012-10-10 Agenda Virtual machines Managed runtime systems EE and MM (JIT and GC) Summary 10/10/2012 Managed Runtime
More informationThe Design of the Inferno Virtual Machine. Introduction
The Design of the Inferno Virtual Machine Phil Winterbottom Rob Pike Bell Labs, Lucent Technologies {philw, rob}@plan9.bell-labs.com http://www.lucent.com/inferno Introduction Virtual Machine are topical
More informationLinux A multi-purpose executive support for civil avionics applications?
August 2004 Serge GOIFFON Pierre GAUFILLET AIRBUS France Linux A multi-purpose executive support for civil avionics applications? Civil avionics software context Main characteristics Required dependability
More informationJPURE - A PURIFIED JAVA EXECUTION ENVIRONMENT FOR CONTROLLER NETWORKS 1
JPURE - A PURIFIED JAVA EXECUTION ENVIRONMENT FOR CONTROLLER NETWORKS 1 Danilo Beuche, Lars Büttner, Daniel Mahrenholz, Wolfgang Schröder-Preikschat, Friedrich Schön* University of Magdeburg * GMD-FIRST
More informationInterpreters and virtual machines. Interpreters. Interpreters. Why interpreters? Tree-based interpreters. Text-based interpreters
Interpreters and virtual machines Michel Schinz 2007 03 23 Interpreters Interpreters Why interpreters? An interpreter is a program that executes another program, represented as some kind of data-structure.
More informationPredictable response times in event-driven real-time systems
Predictable response times in event-driven real-time systems Automotive 2006 - Security and Reliability in Automotive Systems Stuttgart, October 2006. Presented by: Michael González Harbour mgh@unican.es
More informationClient/Server and Distributed Computing
Adapted from:operating Systems: Internals and Design Principles, 6/E William Stallings CS571 Fall 2010 Client/Server and Distributed Computing Dave Bremer Otago Polytechnic, N.Z. 2008, Prentice Hall Traditional
More informationCloud Computing. Up until now
Cloud Computing Lecture 11 Virtualization 2011-2012 Up until now Introduction. Definition of Cloud Computing Grid Computing Content Distribution Networks Map Reduce Cycle-Sharing 1 Process Virtual Machines
More informationReal Time Programming: Concepts
Real Time Programming: Concepts Radek Pelánek Plan at first we will study basic concepts related to real time programming then we will have a look at specific programming languages and study how they realize
More information12. Introduction to Virtual Machines
12. Introduction to Virtual Machines 12. Introduction to Virtual Machines Modern Applications Challenges of Virtual Machine Monitors Historical Perspective Classification 332 / 352 12. Introduction to
More informationGlobus Striped GridFTP Framework and Server. Raj Kettimuthu, ANL and U. Chicago
Globus Striped GridFTP Framework and Server Raj Kettimuthu, ANL and U. Chicago Outline Introduction Features Motivation Architecture Globus XIO Experimental Results 3 August 2005 The Ohio State University
More informationCompiling Object Oriented Languages. What is an Object-Oriented Programming Language? Implementation: Dynamic Binding
Compiling Object Oriented Languages What is an Object-Oriented Programming Language? Last time Dynamic compilation Today Introduction to compiling object oriented languages What are the issues? Objects
More informationCloud Operating Systems for Servers
Cloud Operating Systems for Servers Mike Day Distinguished Engineer, Virtualization and Linux August 20, 2014 mdday@us.ibm.com 1 What Makes a Good Cloud Operating System?! Consumes Few Resources! Fast
More informationCharacteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming
Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming Java has become enormously popular. Java s rapid rise and wide acceptance can be traced to its design
More informationJava Programming. Binnur Kurt binnur.kurt@ieee.org. Istanbul Technical University Computer Engineering Department. Java Programming. Version 0.0.
Java Programming Binnur Kurt binnur.kurt@ieee.org Istanbul Technical University Computer Engineering Department Java Programming 1 Version 0.0.4 About the Lecturer BSc İTÜ, Computer Engineering Department,
More informationWebSphere Architect (Performance and Monitoring) 2011 IBM Corporation
Track Name: Application Infrastructure Topic : WebSphere Application Server Top 10 Performance Tuning Recommendations. Presenter Name : Vishal A Charegaonkar WebSphere Architect (Performance and Monitoring)
More informationSTM32JAVA. Embedded Java Solutions for STM32
STM32JAVA Embedded Java Solutions for STM32 What is STM32Java? Solution to develop and to deploy software applications on STM32F0 to STM32F7 microcontrollers using Java Help to reduce the total cost of
More informationIntroduction to Quality of Service. Andrea Bianco Telecommunication Network Group firstname.lastname@polito.it http://www.telematica.polito.
Introduction to Quality of Service Andrea Bianco Telecommunication Network Group firstname.lastname@polito.it http://www.telematica.polito.it/ QoS Issues in Telecommunication Networks - 1 Quality of service
More informationJava Garbage Collection Basics
Java Garbage Collection Basics Overview Purpose This tutorial covers the basics of how Garbage Collection works with the Hotspot JVM. Once you have learned how the garbage collector functions, learn how
More informationHelenOS IPC and Behavior Protocols
HelenOS IPC and Behavior Protocols Martin Děcký DISTRIBUTED SYSTEMS RESEARCH GROUP http://dsrg.mff.cuni.cz/ CHARLES UNIVERSITY IN PRAGUE FACULTY OF MATHEMATICS AND PHYSICS Motivation HelenOS components1
More informationA Java-based system support for distributed applications on the Internet
A Java-based system support for distributed applications on the Internet D. Hagimont 1, D. Louvegnies 2 SIRAC Project INRIA, 655 av. de l Europe, 38330 Montbonnot Saint-Martin, France Abstract: We have
More informationCS640: Introduction to Computer Networks. Why a New Service Model? Utility curve Elastic traffic. Aditya Akella. Lecture 20 QoS
CS640: Introduction to Computer Networks Aditya Akella Lecture 20 QoS Why a New Service Model? Best effort clearly insufficient Some applications need more assurances from the network What is the basic
More informationCHAPTER 1: OPERATING SYSTEM FUNDAMENTALS
CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS What is an operating? A collection of software modules to assist programmers in enhancing efficiency, flexibility, and robustness An Extended Machine from the users
More informationJavaPOS TM FAQ. What is an FAQ? What is JavaPOS?
JavaPOS TM FAQ What is an FAQ? An FAQ is a list of frequently asked questions. In addition to supplying background material, this document will provide answers for the most frequently asked questions about
More informationApplying RAMS Principles to the Development of a Safety-Critical Java Specification. broad issues: reliability, availability, maintainability,
Applying RAMS Principles to the Development of a Safety-Critical Java Specification Almost all software for aerospace and defense applications is required to satisfy reliable, available, maintainable,
More informationJava Card. Smartcards. Demos. . p.1/30
. p.1/30 Java Card Smartcards Java Card Demos Smart Cards. p.2/30 . p.3/30 Smartcards Credit-card size piece of plastic with embedded chip, for storing & processing data Standard applications bank cards
More informationINTRODUCTION TO JAVA PROGRAMMING LANGUAGE
INTRODUCTION TO JAVA PROGRAMMING LANGUAGE Today Java programming language is one of the most popular programming language which is used in critical applications like stock market trading system on BSE,
More informationMiddleware. Peter Marwedel TU Dortmund, Informatik 12 Germany. technische universität dortmund. fakultät für informatik informatik 12
Universität Dortmund 12 Middleware Peter Marwedel TU Dortmund, Informatik 12 Germany Graphics: Alexandra Nolte, Gesine Marwedel, 2003 2010 年 11 月 26 日 These slides use Microsoft clip arts. Microsoft copyright
More informationLast Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
More informationAn Overview of Java. overview-1
An Overview of Java overview-1 Contents What is Java Major Java features Java virtual machine Java programming language Java class libraries (API) GUI Support in Java Networking and Threads in Java overview-2
More informationChapter 6. CORBA-based Architecture. 6.1 Introduction to CORBA 6.2 CORBA-IDL 6.3 Designing CORBA Systems 6.4 Implementing CORBA Applications
Chapter 6. CORBA-based Architecture 6.1 Introduction to CORBA 6.2 CORBA-IDL 6.3 Designing CORBA Systems 6.4 Implementing CORBA Applications 1 Chapter 6. CORBA-based Architecture Part 6.1 Introduction to
More informationReal-Time Java Commercial Product Assessment
Real-Time Java Commercial Product Assessment October 2000 Alan Piszcz Kent Vidrine Approved for public release; distribution unlimited. The views, opinions, and/or findings contained in this report are
More informationCS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study
CS 377: Operating Systems Lecture 25 - Linux Case Study Guest Lecturer: Tim Wood Outline Linux History Design Principles System Overview Process Scheduling Memory Management File Systems A review of what
More informationDecomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces
Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The
More informationTraffic Mangement in ATM Networks Dollar Day Sale
Traffic Mangement in ATM Networks Dollar Day Sale One Megabit memory, One Megabyte disk, One Mbps link, One MIP processor, 10 cents each... Professor of Computer and Information Sciences Columbus, OH 43210-1277
More informationJava Embedded Applications
TM a One-Stop Shop for Java Embedded Applications GeeseWare offer brings Java in your constrained embedded systems. You develop and simulate your Java application on PC, and enjoy a seamless hardware validation.
More informationDistributed Systems 3. Network Quality of Service (QoS)
Distributed Systems 3. Network Quality of Service (QoS) Paul Krzyzanowski pxk@cs.rutgers.edu 1 What factors matter for network performance? Bandwidth (bit rate) Average number of bits per second through
More informationQuality of Service (QoS)) in IP networks
Quality of Service (QoS)) in IP networks Petr Grygárek rek 1 Quality of Service (QoS( QoS) QoS is the ability of network to support applications without limiting it s s function or performance ITU-T T
More informationMIDDLEWARE 1. Figure 1: Middleware Layer in Context
MIDDLEWARE 1 David E. Bakken 2 Washington State University Middleware is a class of software technologies designed to help manage the complexity and heterogeneity inherent in distributed systems. It is
More informationClient/Server Computing Distributed Processing, Client/Server, and Clusters
Client/Server Computing Distributed Processing, Client/Server, and Clusters Chapter 13 Client machines are generally single-user PCs or workstations that provide a highly userfriendly interface to the
More informationNetwork Infrastructure Services CS848 Project
Quality of Service Guarantees for Cloud Services CS848 Project presentation by Alexey Karyakin David R. Cheriton School of Computer Science University of Waterloo March 2010 Outline 1. Performance of cloud
More informationVirtualization Technologies (ENCS 691K Chapter 3)
Virtualization Technologies (ENCS 691K Chapter 3) Roch Glitho, PhD Associate Professor and Canada Research Chair My URL - http://users.encs.concordia.ca/~glitho/ The Key Technologies on Which Cloud Computing
More informationMethods and Tools For Embedded Distributed System Scheduling and Schedulability Analysis
Methods and Tools For Embedded Distributed System Scheduling and Schedulability Analysis Steve Vestal Honeywell Labs Steve.Vestal@Honeywell.com 18 October 2005 Outline Background Binding and Routing Scheduling
More informationMobile Operating Systems. Week I
Mobile Operating Systems Week I Overview Introduction Mobile Operating System Structure Mobile Operating System Platforms Java ME Platform Palm OS Symbian OS Linux OS Windows Mobile OS BlackBerry OS iphone
More informationCS/ECE 438: Communication Networks. Internet QoS. Syed Faisal Hasan, PhD (Research Scholar Information Trust Institute) Visiting Lecturer ECE
CS/ECE 438: Communication Networks Internet QoS Syed Faisal Hasan, PhD (Research Scholar Information Trust Institute) Visiting Lecturer ECE Introduction The Internet only provides a best effort service
More informationJavaPOS TM Introduction: 1
JavaPOS TM Introduction: 1 It was recognized early on that the emergence of the Java language on the computing scene offered several major advantages to the developers of retail applications. The JavaPOS
More informationTuning WebSphere Application Server ND 7.0. Royal Cyber Inc.
Tuning WebSphere Application Server ND 7.0 Royal Cyber Inc. JVM related problems Application server stops responding Server crash Hung process Out of memory condition Performance degradation Check if the
More informationVirtual Machines. www.viplavkambli.com
1 Virtual Machines A virtual machine (VM) is a "completely isolated guest operating system installation within a normal host operating system". Modern virtual machines are implemented with either software
More informationContents. Chapter 1. Introduction
Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual
More informationClonecloud: Elastic execution between mobile device and cloud [1]
Clonecloud: Elastic execution between mobile device and cloud [1] ACM, Intel, Berkeley, Princeton 2011 Cloud Systems Utility Computing Resources As A Service Distributed Internet VPN Reliable and Secure
More informationProactive, Resource-Aware, Tunable Real-time Fault-tolerant Middleware
Proactive, Resource-Aware, Tunable Real-time Fault-tolerant Middleware Priya Narasimhan T. Dumitraş, A. Paulos, S. Pertet, C. Reverte, J. Slember, D. Srivastava Carnegie Mellon University Problem Description
More informationCOS 318: Operating Systems. Virtual Machine Monitors
COS 318: Operating Systems Virtual Machine Monitors Kai Li and Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall13/cos318/ Introduction u Have
More informationB) Using Processor-Cache Affinity Information in Shared Memory Multiprocessor Scheduling
A) Recovery Management in Quicksilver 1) What role does the Transaction manager play in the recovery management? It manages commit coordination by communicating with servers at its own node and with transaction
More informationJavaCard. Java Card - old vs new
JavaCard 1 Old Smart Cards: One program (applet) Written in machine-code, specific to chip Burned into ROM Java Card - old vs new old vs new smartcards New Smart Cards: Applet written in high-level language
More informationState-Machine Replication
State-Machine Replication The Problem Clients Server The Problem Clients Server The Problem Clients Server The Problem Clients Server The Problem Clients Server The Problem Clients Server Solution: replicate
More informationNotes and terms of conditions. Vendor shall note the following terms and conditions/ information before they submit their quote.
Specifications for ARINC 653 compliant RTOS & Development Environment Notes and terms of conditions Vendor shall note the following terms and conditions/ information before they submit their quote. 1.
More informationIntroduction to Embedded Systems. Software Update Problem
Introduction to Embedded Systems CS/ECE 6780/5780 Al Davis logistics minor Today s topics: more software development issues 1 CS 5780 Software Update Problem Lab machines work let us know if they don t
More informationChapter 1 Fundamentals of Java Programming
Chapter 1 Fundamentals of Java Programming Computers and Computer Programming Writing and Executing a Java Program Elements of a Java Program Features of Java Accessing the Classes and Class Members The
More informationDesign and Implementation of the Heterogeneous Multikernel Operating System
223 Design and Implementation of the Heterogeneous Multikernel Operating System Yauhen KLIMIANKOU Department of Computer Systems and Networks, Belarusian State University of Informatics and Radioelectronics,
More informationPikeOS: Multi-Core RTOS for IMA. Dr. Sergey Tverdyshev SYSGO AG 29.10.2012, Moscow
PikeOS: Multi-Core RTOS for IMA Dr. Sergey Tverdyshev SYSGO AG 29.10.2012, Moscow Contents Multi Core Overview Hardware Considerations Multi Core Software Design Certification Consideratins PikeOS Multi-Core
More informationVirtual Machine Learning: Thinking Like a Computer Architect
Virtual Machine Learning: Thinking Like a Computer Architect Michael Hind IBM T.J. Watson Research Center March 21, 2005 CGO 05 Keynote 2005 IBM Corporation What is this talk about? Virtual Machines? 2
More informationPractical Performance Understanding the Performance of Your Application
Neil Masson IBM Java Service Technical Lead 25 th September 2012 Practical Performance Understanding the Performance of Your Application 1 WebSphere User Group: Practical Performance Understand the Performance
More information1. The subnet must prevent additional packets from entering the congested region until those already present can be processed.
Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because routers are receiving packets faster than they can forward them, one
More informationOracle JRockit Mission Control Overview
Oracle JRockit Mission Control Overview An Oracle White Paper June 2008 JROCKIT Oracle JRockit Mission Control Overview Oracle JRockit Mission Control Overview...3 Introduction...3 Non-intrusive profiling
More informationQuality of Service su Linux: Passato Presente e Futuro
Quality of Service su Linux: Passato Presente e Futuro Luca Abeni luca.abeni@unitn.it Università di Trento Quality of Service su Linux:Passato Presente e Futuro p. 1 Quality of Service Time Sensitive applications
More informationSystem Software and TinyAUTOSAR
System Software and TinyAUTOSAR Florian Kluge University of Augsburg, Germany parmerasa Dissemination Event, Barcelona, 2014-09-23 Overview parmerasa System Architecture Library RTE Implementations TinyIMA
More informationChapter 2 Addendum (More on Virtualization)
Chapter 2 Addendum (More on Virtualization) Roch Glitho, PhD Associate Professor and Canada Research Chair My URL - http://users.encs.concordia.ca/~glitho/ More on Systems Virtualization Type I (bare metal)
More informationMAC A Run Time monitoring and checking tool
MAC A Run Time monitoring and checking tool Gursharan Singh Mohd. Salman Mehmood Agenda Motivation Software Development Steps Methods New Paradigm (Runtime Verification) Materializing Runtime Verification
More informationSOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems
SOFT 437 Software Performance Analysis Ch 5:Web Applications and Other Distributed Systems Outline Overview of Web applications, distributed object technologies, and the important considerations for SPE
More informationAdobe LiveCycle Data Services 3 Performance Brief
Adobe LiveCycle ES2 Technical Guide Adobe LiveCycle Data Services 3 Performance Brief LiveCycle Data Services 3 is a scalable, high performance, J2EE based server designed to help Java enterprise developers
More informationChapter 2 System Structures
Chapter 2 System Structures Operating-System Structures Goals: Provide a way to understand an operating systems Services Interface System Components The type of system desired is the basis for choices
More informationLink Layer. 5.6 Hubs and switches 5.7 PPP 5.8 Link Virtualization: ATM and MPLS
Link Layer 5.1 Introduction and services 5.2 Error detection and correction 5.3Multiple access protocols 5.4 Link-Layer Addressing 5.5 Ethernet 5.6 Hubs and switches 5.7 PPP 5.8 Link Virtualization: and
More informationHardware/Software Co-Design of a Java Virtual Machine
Hardware/Software Co-Design of a Java Virtual Machine Kenneth B. Kent University of Victoria Dept. of Computer Science Victoria, British Columbia, Canada ken@csc.uvic.ca Micaela Serra University of Victoria
More informationWANs connect remote sites. Connection requirements vary depending on user requirements, cost, and availability.
WAN Review A WAN makes data connections across a broad geographic area so that information can be exchanged between distant sites. This topic defines the characteristics of a WAN. WAN Overview WANs connect
More informationIBM Tivoli Composite Application Manager for WebSphere
Meet the challenges of managing composite applications IBM Tivoli Composite Application Manager for WebSphere Highlights Simplify management throughout the life cycle of complex IBM WebSphere-based J2EE
More informationProgramming Languages
Programming Languages In the beginning To use a computer, you needed to know how to program it. Today People no longer need to know how to program in order to use the computer. To see how this was accomplished,
More information