The method of program compaction for real-time applications Ruslan L. Smeliansky Lomonosov Moscow State University Faculty of Computational Mathematics.

Slides:



Advertisements
Similar presentations
C++ Programming:. Program Design Including
Advertisements

Functions. COMP104 Functions / Slide 2 Introduction to Functions * A complex problem is often easier to solve by dividing it into several smaller parts,
Give qualifications of instructors: DAP
Lecture3: Algorithm Analysis Bohyung Han CSE, POSTECH CSED233: Data Structures (2014F)
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
Bitmap Index Buddhika Madduma 22/03/2010 Web and Document Databases - ACS-7102.
Department of Electrical and Computer Engineering Texas A&M University College Station, TX Abstract 4-Level Elevator Controller Lessons Learned.
1 ICS102: Introduction To Computing King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science.
Wavelet-based Coding And its application in JPEG2000 Monia Ghobadi CSC561 project
Algorithms. Introduction Before writing a program: –Have a thorough understanding of the problem –Carefully plan an approach for solving it While writing.
RACE: Time Series Compression with Rate Adaptivity and Error Bound for Sensor Networks Huamin Chen, Jian Li, and Prasant Mohapatra Presenter: Jian Li.
New Mexico Computer Science For All Introduction to Algorithms Maureen Psaila-Dombrowski.
DATA STRUCTURE Subject Code -14B11CI211.
Lecture 24 Introduction to state variable modeling Overall idea Example Simulating system response using MATLAB Related educational modules: –Section 2.6.1,
The Fundamentals: Algorithms, the Integers & Matrices.
1 Design and Analysis of Algorithms تصميم وتحليل الخوارزميات (311 عال) Chapter 1 Introduction to Algorithms.
1 Project 7: Huffman Code. 2 Extend the most recent version of the Huffman Code program to include decode information in the binary output file and use.
Alternative Parallel Processing Approaches Jonathan Sagabaen.
Effective C# 50 Specific Way to Improve Your C# Item 50 Scott68.Chang.
Algorithm Design & Analysis – CS632 Group Project Group Members Bijay Nepal James Hansen-Quartey Winter
ECE 2372 Modern Digital System Design
C HU H AI C OLLEGE O F H IGHER E DUCATION D EPARTMENT O F C OMPUTER S CIENCE Preparation of Final Year Project Report Bachelor of Science in Computer Science.
Chapter 1 Introduction. Goal to learn about computers and programming to compile and run your first Java program to recognize compile-time and run-time.
1 Sequential Digital Circuits Alexander Titov 11 October 2014.
Lecture 18: Dynamic Reconfiguration II November 12, 2004 ECE 697F Reconfigurable Computing Lecture 18 Dynamic Reconfiguration II.
10 Aug 2010 ECE/BENG-493 SENIOR ADVANCED DESIGN PROJECT Meeting #3.
Modeling and simulation of systems Model building Slovak University of Technology Faculty of Material Science and Technology in Trnava.
Brief Introduction of Algorithm. What is Algorithm A method with several definite steps to effectively complete a task. In general, it starts from the.
Introduction to Data Structures and Algorithms CS 110: Data Structures and Algorithms First Semester,
The Programming Process Define the problem* Make or buy software? Design the program * Code (write) the program Test (debug) the program Document the.
Job scheduling algorithm based on Berger model in cloud environment Advances in Engineering Software (2011) Baomin Xu,Chunyan Zhao,Enzhao Hua,Bin Hu 2013/1/251.
Algorithms & FlowchartsLecture 10. Algorithm’s CONCEPT.
Chapter 5 Algorithms (2) Introduction to CS 1 st Semester, 2015 Sanghyun Park.
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
Marwan Al-Namari 1 Digital Representations. Bits and Bytes Devices can only be in one of two states 0 or 1, yes or no, on or off, … Bit: a unit of data.
FOUNDATION IN INFORMATION TECHNOLOGY (CS-T-101) TOPIC : INFORMATION SYSTEM – SOFTWARE.
Introduction Scheduling algorithms were known many years ago, but currently there are no good tools used to work with those algorithms. Existing tools.
Presenter: Ljupco Antovski Institute of Informatics, Faculty of Science and Mathematics, St. Cyril and Methodius University, Skopje, Macedonia
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
Vector and symbolic processors
Georgia Institute of Technology Speed part 4 Barb Ericson Georgia Institute of Technology May 2006.
1 Compression and Storage Schemes in a Sensor Network with Spatial and Temporal Coding Techniques You-Chiun Wang, Yao-Yu Hsieh, and Yu-Chee Tseng IEEE.
COMP135/COMP535 Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 2 Lecture 2 – Digital Representations.
C HU H AI C OLLEGE O F H IGHER E DUCATION D EPARTMENT O F C OMPUTER S CIENCE Preparation of Final Year Project Report Bachelor of Science in Computer Science.
DATA STRUCTURES (CS212D) Overview & Review Instructor Information 2  Instructor Information:  Dr. Radwa El Shawi  Room: 
Csci 418/618 Simulation Models Dr. Ken Nygard, IACC 262B
JavaScript Introduction and Background. 2 Web languages Three formal languages HTML JavaScript CSS Three different tasks Document description Client-side.
©Brooks/Cole, 2003 Chapter 1 Introduction. ©Brooks/Cole, 2003 Figure 1-1 Data processor model This model represents a specific-purpose computer not a.
BITS Pilani Pilani Campus Data Structure and Algorithms Design Dr. Maheswari Karthikeyan Lecture1.
Software. Introduction n A computer can’t do anything without a program of instructions. n A program is a set of instructions a computer carries out.
INTRODUCTION TO COMPUTER PROGRAMMING(IT-303) Basics.
Introduction to Problem Solving Programming is a problem solving activity. When you write a program, you are actually writing an instruction for the computer.
Introduction to Algorithm Complexity Bit Sum Problem.
Zachary Starr Dept. of Computer Science, University of Missouri, Columbia, MO 65211, USA Digital Image Processing Final Project Dec 11 th /16 th, 2014.
Introduction toData structures and Algorithms
Algorithms and Programming
GC101 Introduction to computers and programs
CSCI-235 Micro-Computer Applications
Daniil Chivilikhin and Vladimir Ulyantsev
ALGORITHMS & FLOWCHARTING II
Chapter 15 QUERY EXECUTION.
GENERAL VIEW OF KRATOS MULTIPHYSICS
Implementation of neural gas on Cell Broadband Engine
Open on the student drive
The Programming Process
Image Coding and Compression
Parallel build blocks.
Introduction to Programming
Mathematical Analysis of Algorithms
Implementation of a De-blocking Filter and Optimization in PLX
Presentation transcript:

The method of program compaction for real-time applications Ruslan L. Smeliansky Lomonosov Moscow State University Faculty of Computational Mathematics and Cybernetics

2 Introduction Memory Compacted code Original code Program compaction methods - such program transformation that reduces the program code size in memory (memory footprint) with retaining the program functionality. Embedded real-time systems The largest type of computer systems. The memory and energy are the most critical resources.

Introduction (2) 3

Introduction (3) Program compaction methods without decompression can be used in the real-time systems, because they practically don’t increase program execution time. The existing methods with decompression can’t be used in the real-tine systems, because its lead to uncontrolled significant increasing of execution time. It is necessary to create a program compaction method with decompression which would allow us to control the program execution time depending on the compression ratio. 4

Method Description 5

Method Details The proposed method is intended to solve the following tasks: –Determining execution frequency characteristics of programs behavior; –Determining infrequently executed portions of programs. 6

Determining execution frequency of programs basic blocks 7

Determining execution frequency of programs basic blocks (2) 8

The algorithm for evaluation basic block execution frequency 9

Result of testing of the proposed method SNUDescription minverInverse matrix (size 10x10, values 0-100) qsortQuick sort (size 20, values 0-100) select10th max elements of an array (size 20, values 0-100) primePrime number (values ) sqrtSquare root (values )

Determining infrequently executed code 11

Determining infrequently executed code (2) 12

Determining infrequently executed code (3) 13

Method application 14

Method implementation Inputs Program for compression (written on C language). Distributions functions of program’s input parameters. The threshold of infrequently executed code. Outputs Compacted program. Files with an offset table and compacted interpreted code. 15

Method implementation (2) 16

17

18

19 Thanks for attention!