CHAPTER 3 REAL TIME SCHEDULER SIMULATOR



Similar documents
Deciding which process to run. (Deciding which thread to run) Deciding how long the chosen process can run

How To Compare Real Time Scheduling To A Scheduled Scheduler On Linux On A Computer System With A Visualization System

DUKANE Intelligent Assembly Solutions

OVERVIEW. CEP Cluster Server is Ideal For: First-time users who want to make applications highly available

MPLS Layer 2 VPNs Functional and Performance Testing Sample Test Plans

CHAPTER 15: Operating Systems: An Overview

Real-Time Scheduling (Part 1) (Working Draft) Real-Time System Example

Final Report. Cluster Scheduling. Submitted by: Priti Lohani

EventSentry Overview. Part I About This Guide 1. Part II Overview 2. Part III Installation & Deployment 4. Part IV Monitoring Architecture 13

Enabling Backups for Windows and MAC OS X

Cloud Web-Based Operating System (Cloud Web Os)

Lecture 3 Theoretical Foundations of RTOS

I2C PRESSURE MONITORING THROUGH USB PROTOCOL.

COPYRIGHT RESERVED TEAM MYSTERIOUS MANIACS HOME AUTOMATION via BLUETOOTH (Using ANDROID PLATFORM)

How To Understand The Architecture Of An Ulteo Virtual Desktop Server Farm

Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note:

Gigabyte Management Console User s Guide (For ASPEED AST 2400 Chipset)

Lecture Outline Overview of real-time scheduling algorithms Outline relative strengths, weaknesses

Road Map. Scheduling. Types of Scheduling. Scheduling. CPU Scheduling. Job Scheduling. Dickinson College Computer Science 354 Spring 2010.

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

Network Administrator s Guide and Getting Started with Autodesk Ecotect Analysis

Cisco PIX vs. Checkpoint Firewall

Performance Comparison of RTOS

Chapter 3 Startup and Shutdown This chapter discusses how to startup and shutdown ETERNUSmgr.

Law Conferencing uses the Webinterpoint 8.2 web conferencing platform. This service is completely reservationless and available 24/7.

The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications

EMX-2500 DATA SHEET FEATURES GIGABIT ETHERNET REMOTE CONTROLLER FOR PXI EXPRESS MAINFRAMES SYSTEM LEVEL FUNCTIONALITY

Common Approaches to Real-Time Scheduling

Operating Systems. III. Scheduling.

CPU Scheduling. CPU Scheduling

A hypervisor approach with real-time support to the MIPS M5150 processor

Quick Start for Network Agent. 5-Step Quick Start. What is Network Agent?

Universal Controller Solution Brief

ni.com/vision NI Vision

Niagara IT Manager s Guide

SNMP Manager User s Manual

Dynamic Honeypot Construction

SNMP Manager User s Manual

Process Scheduling CS 241. February 24, Copyright University of Illinois CS 241 Staff

Fall Lecture 1. Operating Systems: Configuration & Use CIS345. Introduction to Operating Systems. Mostafa Z. Ali. mzali@just.edu.

Chapter 8 How to Configure TCP/IP Printing for Unix

Computer Automation Techniques. Arthur Carroll

Monitoring solar PV output

BarTender Web Print Server

ViewPower. User s Manual. Management Software for Uninterruptible Power Supply Systems

Frequently Asked Questions

2015 IBM Continuous Engineering Open Labs Target to better LEARNING

Priority-Driven Scheduling

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Retail epay User Manual

OPERATING SYSTEMS SCHEDULING

Enabling Secure Payment Processing On Your Site. A guide to accepting and managing online payments for e-commerce

Deploying Windows Streaming Media Servers NLB Cluster and metasan

Course Name: Course in JSP Course Code: P5

AXIS 262+ Network Video Recorder

CA Virtual Assurance/ Systems Performance for IM r12 DACHSUG 2011

ICS Principles of Operating Systems

Scalability and Performance Report - Analyzer 2007

Transport and Network Layer

NetFlow Collection and Processing Cartridge Pack User Guide Release 6.0

Testing Intelligent Device Communications in a Distributed System

CPU Scheduling. Core Definitions

Mac OS X. A Brief Introduction for New Radiance Users. Andrew McNeil & Giulio Antonutto

COURSE OUTLINE Survey of Operating Systems

Stratusphere Solutions

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

Infinity 2020 Perimeter Intrusion Detection System

Chapter 5 Process Scheduling

Shellshock Security Patch for X86

"Charting the Course...

Real-Time Scheduling 1 / 39

Week Overview. Installing Linux Linux on your Desktop Virtualization Basic Linux system administration

Design of Remote Laboratory dedicated to E2LP board for e-learning courses.

Dominion KX II-101-V2

Virtual Machines.

Cisco Performance Visibility Manager 1.0.1

Application Note. Example of user log on Magelis HMI with XB5S5B2L2 biometric switch. Advanced Technical Support - Brazil. Version: 1.

Agenda. HPC Software Stack. HPC Post-Processing Visualization. Case Study National Scientific Center. European HPC Benchmark Center Montpellier PSSC

North America, Inc. AFFICHER. a true cloud digital signage system. Copyright PDC Co.,Ltd. All Rights Reserved.

Remote control of CAN-based industrial equipment using Internet technologies

FOXBORO. I/A Series SOFTWARE Product Specifications. I/A Series Intelligent SCADA SCADA Platform PSS 21S-2M1 B3 OVERVIEW

Installing Management Applications on VNX for File

PROGRESS DATADIRECT QA AND PERFORMANCE TESTING EXTENSIVE TESTING ENSURES DATA CONNECTIVITY THAT WORKS

Workshop on Android and Applications Development

OMU350 Operations Manager 9.x on UNIX/Linux Advanced Administration

Agent vs. Agent-less auditing

SNC-VL10P Video Network Camera

Software Requirements Specification

PeopleSoft Online Performance Guidelines

Intelligent Power Protector User manual extension for Microsoft Virtual architectures: Hyper-V 6.0 Manager Hyper-V Server (R1&R2)

SSL VPN vs. IPSec VPN

APPLICATION OF SERVER VIRTUALIZATION IN PLATFORM TESTING

Citrix Access on SonicWALL SSL VPN

Real-time scheduling algorithms, task visualization

Transcription:

62 CHAPTER 3 REAL TIME SCHEDULER SIMULATOR 3.1 INTRODUCTION The main objective of this research work is to develop a model for the simulation of real-time tasks. The proposed model can be used for preprogrammed scheduling policies. This model provides user friendly Graphical User Interface (GUI). Task ID, deadline, priority, period, computation time and phase are the input task attributes to the scheduler simulator and chronograph imitating the real-time execution of the input task set and computational statistics of the schedule are the output. The proposed framework for the scheduler simulator can be used as a teaching tool. Evaluation of the performance of real-time schedulers can be done as well. Evaluation criteria are based on the mean response time, number of deadline misses, processor utilization, number of preemptions and context switches. The Task Scheduler Co-Processor is intended to be a task controller and perform the controlling function in accordance with a specified scheduling policy. Within the co-processor, a number of scheduling policies may be made available. The study of existing frameworks clearly reveals that each tool is better in its own way. The appreciable combination of values of each of the tools is chosen and an earnest attempt has been made to make the proposed framework to be more flexible for the future users for trying different other combinations of evaluation criteria that may be of interest for different real-

63 time resource capacities. The experimentation results obtained from the analyzed simulators were compared to form the reference data for functional verification of the tool under development. 3.2 EXISTING SIMULATORS Vs PROPOSED SIMULATOR simulators. Table 3.1 shows the differenes between the existing and proposed Table 3.1 Existing Simulators Vs Proposed Simulator Features Realtss Cheddar YASA Support Platforms Programming environment Windows, Linux, all TCL supported platforms. Solaris, Linux, Windows, all GNAT/GTKAda supported platforms Windows, Linux, Mac, OS X, FreeBSD and most of the commercial UNIX versions like Solaris, HP- UX, AIX ActiveTCL Not available QT, Cygwin, VC++ Proposed simulator Any machine with Internet connectivity and Webbrowser support in system software Language independent Language Used TCL Ada/GTKAda C Java programming Output Resolutions Distributed Environment Co-Processor Hardware Timing diagrams, processor utilization, response time, task waiting times, missed deadlines, overruns Timing diagrams, statistics of missed deadlines, response time, processor utilization Timing Timing diagram, diagram, statistics of missed deadlines, utilization, response time, etc. waiting time, turnaround time, response time, total waiting time, total turnaround time. No No No Web- based No No No Yes

64 3.3 DESIGN OF ARCHITECTURAL MODEL FOR REAL TIME SCHEDULER SIMULATOR The block diagram of the simulator with its hardware setup is shown in Figure 3.1. The front-end of the simulator is GUI- based and acts as user interface. The software in the front-end of the system gets the value from the user and transfers the value to the processor via serial port. The processor gets the values from the system, performs the requested function in the hardware and displays the output in the form of chronographic graph to the user interface. Back End Relay Electrical Device Front End RS 232 Processor Relay Relay Electrical Device Electrical Device Relay Electrical Device Relay Electrical Device Figure 3.1 Block diagram of the simulator 3.3.1 Front-End Software Design This section describes the development of the proposed simulator framework in LabVIEW. Scheduling algorithm evaluation and analysis tool performs the task definition, task sets generation, execution of selected algorithms, execution, analysis of the execution and results displaying. The performance evaluation of the real-time scheduling algorithms is carried out

65 based on the results obtained through computational analysis. Various stages of evaluation procedure are: Identification of the tasks, Task set implementation, Selection of algorithms, Simulation Timing definition, Simulation execution and Scheduling algorithms evaluation. The architectural model for proposed software part of real time simulator is shown in Figure 3.2. 1. ACQUIRE 2. PRESENT TASK ATTRIBUTES WORKLOAD ID e i SIMULATION RESULTS TIMING DIAGRAM O i D i P i TASK SET GENERATOR OUTPUT GENERATOR 3. ANALYZE SCHEDULER FRAMES ALGORITHM FUNCTIONS FIFO EDF HPF RR RM DM Feasibility Task Simulation SIMULATOR CONFIGURATION Duration Output Form Figure 3.2 Architectural model of software part of real-time simulator Real-time Scheduler Simulator is being developed to be used for teaching real-time scheduling as well as to test and evaluate the real-time scheduling policies used in embedded real-time applications. A framework for evaluation of a scheduling algorithm must satisfy characteristics such as simplicity, compatibility with the PC platform and the operating system, usage of the standard operating system functions, accuracy of results, ease of use, etc. Majority of these requests are aimed for use in the visual user interface that looks as shown in Figure 3.3.

66 Figure 3.3 Software front end of the simulator The most successful scheduling algorithm for the periodic tasks scheduling is the one that has minimal response times, minimal number of tasks with missed deadlines and maximal resource utilization in the given workload and with other parameters. In real-time systems two characteristics of tasks are considered to be of primary interest: criticality or importance; and timing. Task importance is frequently a subjective issue, whereas timing is objective. The essential timing attributes of tasks are deadline (TD), worstcase computation time (Tcw) and period (Tp). Elements of the simulator: Task Attributes are part of the simulator that allows the user to add a Task with parameters like Task ID, Priority, Phase, Execution Time, Period and Deadline. Among these parameters, Task ID should be unique for each input task. All other parameters are numerals. All the parameters are required to save a new task to a task set, modify the parameters of a task from the declared task set, delete task from the input task set. Resource Usage: Add a resource to specific task for its execution (critical section) with Resource ID, Task ID, Start, and Time. Figure.3.5 shows the adding and deleting of a task in simulator.

67 Figure 3.4 shows the sample graphical code for Adding and Deleting a task in simulator panel. Figure 3.4 Graphical source code for Add Task.vi Figure 3.5 Adding and deleting a task in simulator Simulator Controls: This is the main part of the simulator which provides the following functions to the user: selection of Scheduling Policy, selection of Task Synchronization Protocol, choice of preemptive or nonpreemptive scheduling and running the feasibility Test. The software output is shown in Figures 3.6 and 3.7.

68 Figure 3.6 Output view Software Figure 3.7 Output view Status report 3.3.2 Web-Based Real Time Simulator A web-based model for real time simulator has been developed. Any new algorithms can be tested in the proposed web-based simulator. There are vital reasons behind the implementation of the simulator as a Webenabled framework and Web-based deployment as listed out here. They are ease in deployment and enhancement of functionality. Anytime, anywhere access to users any computer with Web connectivity can use the proposed simulator. It offers easy access to users over the Internet, since no extra hardware or software is required to access the proposed simulator.

69 The web-based simulator consists of three panels :front end panel, graphical panel and output panel. Three panels are configured individually and integrated with code shown in Figure 3.8. public class schedulealgo extends Applet implements Observer { graphicalform graph; statusreport stats; inputform input; Scheduler lesson; Vector Q; public void init() { graph = new graphicalform(); graph.show(); graph.resize(300,300); stats = new statusreport(); stats.pack(); stats.show(); stats.resize(300,300); input = new inputform(this); input.show(); input.resize(300,300); lesson=null; Q = new Vector(1,1); } Figure 3.8 Sample code for integration of three panels of real time simulator

70 INPUT FORM The developed web-based simulator has been published in http//:www.360degreeinfo.net When user types the web address, the form will be displayed to the user where the user can enter the attributes of the tasks such as task id execution time etc. The simulator gets the task attributes and scheduling policies as input from the user. The user view of input form is shown in Figure 3.9. Figure 3.9 Input form for web-based real-time scheduler simulator in Figure 3.10. The input form has been designed and the sample code is shown

71 public class inputform extends Frame { TextArea proc,arriv,serv; Panel knobs; Choice alg; CheckboxGroup functions; Checkbox[] fun; Packet info; UserInterface vigil; -------------------------------------------------------------------- fun[0] = new Checkbox("Clear",functions,false); fun[1] = new Checkbox("Run",functions,false); fun[2] = new Checkbox("Pause",functions,false); fun[3] = new Checkbox("Resume",functions,false); fun[4] = new Checkbox("Quit",functions,false); -------------------------------------------------------------------- Panel labels = new Panel(); labels.setlayout(new BorderLayout()); labels.add("west", new Label("Arrival Time:")); labels.add("center", new Label("Process Name:")); labels.add("east", new Label("Service Time:")); Figure 3.10 Sample code for input form GRAPHICAL FORM The graphical panel, based on the input received from the user, displays the output in the form of chronographic graph. Figure 3.11 shows the output of graphical panel of web-based simulator and Figure 3.12 is the the sample code for design of graphical panel.

72 Figure 3.11 Graphical panel output of web based real-time scheduler simulator public graphicalform () { super("graphical View"); board = new Canvas(); statusline = new TextField(30); statusline.seteditable(false); algtitle = new TextField(30); algtitle.seteditable(false); this.setlayout(new BorderLayout()); add("north", algtitle); add("south", statusline); add("center", board); } Figure 3.12 Sample code for graphical panel

73 STATISTICS FORM Based on the input from the panel, statistics form displays the statistics result to the user. The output of the statistics form is shown in Figure 3.13. The sample code for statistics form is shown in Figure 3.14. Figure 3.13 Statistics form of web based real- time scheduler simulator public statusreport() { super("statistic Report"); this.setlayout(new BorderLayout()); pad = new TextArea(30,30); pad.seteditable(true); this.add("center", pad); } // set display public void report(vector R,String title) { Figure 3.14 (Continued)

74 pad.appendtext("\n"+title+"\n\n"); out = R; display(); } // report statistics to notepad ------------------------------------------ ------------- private void display() { onwork temp; P = "Process"; A = "Arrival Time"; S = "Service Time"; F = "Finish Time"; Tq = "Turnaround Time"; Tqs = "Tq/Ts Figure 3.14 Sample code for statistics form 3.4 CONCLUSION This chapter makes a comparative study of various existing realtime scheduling simulation frameworks and highlights the features of the proposed simulator. Numerous benefits were quoted in support of the webbased deployment technique employed. The framework which is proposed can be used as an invaluable teaching tool. Further, the GUI of the framework will allow for easy comparison of the framework of existing scheduling policies and also simulate the behavior and verify the suitability of custom defined schedulers for real-time applications.