Making Dynamic Memory Allocation Static To Support WCET Analyses
|
|
|
- Camilla Lawson
- 9 years ago
- Views:
Transcription
1 Making Dynamic Memory Allocation Static To Support WCET Analyses Jörg Herter Jan Reineke Department of Computer Science Saarland University WCET Workshop, June 2009 Jörg Herter, Jan Reineke Making Dynamic Allocation Static WCET / 9
2 Current Situation What we have... 1 Precise WCET analysis 2 Dynamic Memory Allocation often clearer program structure easy memory reuse (e.g. in-situ transformations)... but can we have both together? Jörg Herter, Jan Reineke Making Dynamic Allocation Static WCET / 9
3 Dynamic Memory Allocation & WCET Analysis What are the challenges?... x = malloc(8); y = malloc(4);... x->data = y->data + 2;... Is the access to y a cache hit? How long will malloc take? (a) allocation to cache sets unknown! (b) effects of calls to malloc on cache? Jörg Herter, Jan Reineke Making Dynamic Allocation Static WCET / 9
4 Approaches What can be done? Predictable Allocator J. Herter, J. Reineke, R. Wilhelm, 2008 Predictable Hardware M. Schöberl, 2009 Replace Dynamic Allocation by Static Allocation Jörg Herter, Jan Reineke Making Dynamic Allocation Static WCET / 9
5 Big Picture t = malloc( sizeof (list));... y = x->data; Original Program Program Description Modified Program t = malloc( sizeof (list));... y = x->data; Static Analysis CFG & Liveness Information Loop Bounds Pre-computation of Static Addresses t = 0xFD2;... y = x->data; Jörg Herter, Jan Reineke Making Dynamic Allocation Static WCET / 9
6 What are Good Addresses? What do we consider good addresses for heap allocated objects? Good addresses enable a subsequent WCET analysis to calculate minimal WCET bounds by minimal memory consumption. Jörg Herter, Jan Reineke Making Dynamic Allocation Static WCET / 9
7 How to find good addresses? Idea for an algorithm: 1 Compute addresses s.t. memory consumption is minimal Can generate an ILP to compute memory-optimal addresses from liveness information! Jörg Herter, Jan Reineke Making Dynamic Allocation Static WCET / 9
8 How to find good addresses? Idea for an algorithm: 1 Compute addresses s.t. memory consumption is minimal Can generate an ILP to compute memory-optimal addresses from liveness information! 2 Compute WCET for current addresses Can generate an ILP to compute WCET from control-flow graph, loop bounds, and basic block information! (IPET, Li&Malik) Jörg Herter, Jan Reineke Making Dynamic Allocation Static WCET / 9
9 How to find good addresses? Idea for an algorithm: 1 Compute addresses s.t. memory consumption is minimal Can generate an ILP to compute memory-optimal addresses from liveness information! 2 Compute WCET for current addresses Can generate an ILP to compute WCET from control-flow graph, loop bounds, and basic block information! (IPET, Li&Malik) 3 Select the program block with highest contribution to WCET Jörg Herter, Jan Reineke Making Dynamic Allocation Static WCET / 9
10 How to find good addresses? Idea for an algorithm: 1 Compute addresses s.t. memory consumption is minimal Can generate an ILP to compute memory-optimal addresses from liveness information! 2 Compute WCET for current addresses Can generate an ILP to compute WCET from control-flow graph, loop bounds, and basic block information! (IPET, Li&Malik) 3 Select the program block with highest contribution to WCET 4 Modify addresses s.t. WCET contribution of selected block is minimized Can generate an ILP to compute block-optimal addresses from liveness and basic block information! Jörg Herter, Jan Reineke Making Dynamic Allocation Static WCET / 9
11 How to find good addresses? Idea for an algorithm: 1 Compute addresses s.t. memory consumption is minimal Can generate an ILP to compute memory-optimal addresses from liveness information! 2 Compute WCET for current addresses Can generate an ILP to compute WCET from control-flow graph, loop bounds, and basic block information! (IPET, Li&Malik) 3 Select the program block with highest contribution to WCET 4 Modify addresses s.t. WCET contribution of selected block is minimized Can generate an ILP to compute block-optimal addresses from liveness and basic block information! 5 Continue at 2 Jörg Herter, Jan Reineke Making Dynamic Allocation Static WCET / 9
12 Heuristics, actually... ILPs to compute memory and block optimal addresses can be replaced by simulated annealing algorithms to cope with more complex hardware (more cache sets) more complex software (more heap allocated blocks) Jörg Herter, Jan Reineke Making Dynamic Allocation Static WCET / 9
13 Conclusions & Future Work Algorithm to compute static memory addresses for heap allocated objects. Preliminary experiments suggest feasible computational costs for addresses. Future Work: Static (pre-) analysis to collect needed information. Fully Automatic Transformation. Jörg Herter, Jan Reineke Making Dynamic Allocation Static WCET / 9
HVM TP : A Time Predictable and Portable Java Virtual Machine for Hard Real-Time Embedded Systems JTRES 2014
: A Time Predictable and Portable Java Virtual Machine for Hard Real-Time Embedded Systems JTRES 2014 Kasper Søe Luckow 1 Bent Thomsen 1 Stephan Erbs Korsholm 2 1 Department of Computer Science Aalborg
Static Analysis of Virtualization- Obfuscated Binaries
Static Analysis of Virtualization- Obfuscated Binaries Johannes Kinder School of Computer and Communication Sciences École Polytechnique Fédérale de Lausanne (EPFL), Switzerland Virtualization Obfuscation
GameTime: A Toolkit for Timing Analysis of Software
GameTime: A Toolkit for Timing Analysis of Software Sanjit A. Seshia and Jonathan Kotker EECS Department, UC Berkeley {sseshia,jamhoot}@eecs.berkeley.edu Abstract. Timing analysis is a key step in the
Timing Analysis of Real-Time Software
Timing Analysis of Real-Time Software Raimund Kirner Vienna University of Technology Austria This is joint work with Peter Puschner and the CoSTA and ForTAS project teams. From RTS Design to Implementation
Optimized Scheduling in Real-Time Environments with Column Generation
JG U JOHANNES GUTENBERG UNIVERSITAT 1^2 Optimized Scheduling in Real-Time Environments with Column Generation Dissertation zur Erlangung des Grades,.Doktor der Naturwissenschaften" am Fachbereich Physik,
Efficient and Robust Allocation Algorithms in Clouds under Memory Constraints
Efficient and Robust Allocation Algorithms in Clouds under Memory Constraints Olivier Beaumont,, Paul Renaud-Goud Inria & University of Bordeaux Bordeaux, France 9th Scheduling for Large Scale Systems
Introduction to Data-flow analysis
Introduction to Data-flow analysis Last Time LULESH intro Typed, 3-address code Basic blocks and control flow graphs LLVM Pass architecture Data dependencies, DU chains, and SSA Today CFG and SSA example
Software Reliability Estimation Based on Static Error Detection
7 th Central and Eastern European Software Engineering Conference in Russia - CEE-SECR 2011 October 31 November 3, Moscow Software Reliability Estimation Based on Static M. Moiseev, M. Glukhikh, A. Karpenko,
Virtual 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
Software Pipelining by Modulo Scheduling. Philip Sweany University of North Texas
Software Pipelining by Modulo Scheduling Philip Sweany University of North Texas Overview Opportunities for Loop Optimization Software Pipelining Modulo Scheduling Resource and Dependence Constraints Scheduling
Multi-GPU Load Balancing for Simulation and Rendering
Multi- Load Balancing for Simulation and Rendering Yong Cao Computer Science Department, Virginia Tech, USA In-situ ualization and ual Analytics Instant visualization and interaction of computing tasks
Multi-objective Design Space Exploration based on UML
Multi-objective Design Space Exploration based on UML Marcio F. da S. Oliveira, Eduardo W. Brião, Francisco A. Nascimento, Instituto de Informática, Universidade Federal do Rio Grande do Sul (UFRGS), Brazil
Cloud Computing. and Scheduling. Data-Intensive Computing. Frederic Magoules, Jie Pan, and Fei Teng SILKQH. CRC Press. Taylor & Francis Group
Cloud Computing Data-Intensive Computing and Scheduling Frederic Magoules, Jie Pan, and Fei Teng SILKQH CRC Press Taylor & Francis Group Boca Raton London New York CRC Press is an imprint of the Taylor
How To Trace
CS510 Software Engineering Dynamic Program Analysis Asst. Prof. Mathias Payer Department of Computer Science Purdue University TA: Scott A. Carr Slides inspired by Xiangyu Zhang http://nebelwelt.net/teaching/15-cs510-se
A Lab Course on Computer Architecture
A Lab Course on Computer Architecture Pedro López José Duato Depto. de Informática de Sistemas y Computadores Facultad de Informática Universidad Politécnica de Valencia Camino de Vera s/n, 46071 - Valencia,
On Orchestrating Virtual Network Functions
On Orchestrating Virtual Network Functions Presented @ CNSM 2015 Md. Faizul Bari, Shihabur Rahman Chowdhury, and Reaz Ahmed, and Raouf Boutaba David R. Cheriton School of Computer science University of
Dynamic Memory Management for Embedded Real-Time Systems
Dynamic Memory Management for Embedded Real-Time Systems Alfons Crespo, Ismael Ripoll and Miguel Masmano Grupo de Informática Industrial Sistemas de Tiempo Real Universidad Politécnica de Valencia Instituto
Performance Improvement In Java Application
Performance Improvement In Java Application Megha Fulfagar Accenture Delivery Center for Technology in India Accenture, its logo, and High Performance Delivered are trademarks of Accenture. Agenda Performance
Hardware Acceleration for Just-In-Time Compilation on Heterogeneous Embedded Systems
Hardware Acceleration for Just-In-Time Compilation on Heterogeneous Embedded Systems A. Carbon, Y. Lhuillier, H.-P. Charles CEA LIST DACLE division Embedded Computing Embedded Software Laboratories France
Throughput constraint for Synchronous Data Flow Graphs
Throughput constraint for Synchronous Data Flow Graphs *Alessio Bonfietti Michele Lombardi Michela Milano Luca Benini!"#$%&'()*+,-)./&0&20304(5 60,7&-8990,.+:&;/&."!?@A>&"'&=,0B+C. !"#$%&'()* Resource
Application Partitioning on Programmable Platforms Using the Ant Colony Optimization
Application Partitioning on Programmable Platforms Using the Ant Colony Optimization Gang Wang, Member, IEEE, Wenrui Gong, Student Member, IEEE, and Ryan Kastner, Member, IEEE Manuscript received Month
Hardware-Aware Analysis and. Presentation Date: Sep 15 th 2009 Chrissie C. Cui
Hardware-Aware Analysis and Optimization of Stable Fluids Presentation Date: Sep 15 th 2009 Chrissie C. Cui Outline Introduction Highlights Flop and Bandwidth Analysis Mehrstellen Schemes Advection Caching
Real-Time Software. Basic Scheduling and Response-Time Analysis. René Rydhof Hansen. 21. september 2010
Real-Time Software Basic Scheduling and Response-Time Analysis René Rydhof Hansen 21. september 2010 TSW (2010e) (Lecture 05) Real-Time Software 21. september 2010 1 / 28 Last Time Time in a real-time
Software Stacks for Mixed-critical Applications: Consolidating IEEE 802.1 AVB and Time-triggered Ethernet in Next-generation Automotive Electronics
Software : Consolidating IEEE 802.1 AVB and Time-triggered Ethernet in Next-generation Automotive Electronics Soeren Rumpf Till Steinbach Franz Korf Thomas C. Schmidt [email protected] September
Client-server Sockets
Client-server Sockets 1 How to Write a Network Based Program (Using Microchip's TCP/IP Stack) A network based program that uses the Client-server architecture must create at least two separate programs,
Computer Architecture Syllabus of Qualifying Examination
Computer Architecture Syllabus of Qualifying Examination PhD in Engineering with a focus in Computer Science Reference course: CS 5200 Computer Architecture, College of EAS, UCCS Created by Prof. Xiaobo
Reconfigurable Architecture Requirements for Co-Designed Virtual Machines
Reconfigurable Architecture Requirements for Co-Designed Virtual Machines Kenneth B. Kent University of New Brunswick Faculty of Computer Science Fredericton, New Brunswick, Canada [email protected] Micaela Serra
International Workshop on Field Programmable Logic and Applications, FPL '99
International Workshop on Field Programmable Logic and Applications, FPL '99 DRIVE: An Interpretive Simulation and Visualization Environment for Dynamically Reconægurable Systems? Kiran Bondalapati and
The C Programming Language course syllabus associate level
TECHNOLOGIES The C Programming Language course syllabus associate level Course description The course fully covers the basics of programming in the C programming language and demonstrates fundamental programming
Programming Embedded Systems
Programming Embedded Systems Lecture 13 Overview of memory management Monday Feb 27, 2012 Philipp Rümmer Uppsala University [email protected] 1/32 Lecture outline Memory architecture of microcontrollers,
Evading Android Emulator
Evading Android Emulator Thanasis Petsas [email protected] [email protected] - www.syssec-project.eu 1 What is a Virtual Machine? A software based computer that functions like a physical machine A
Module: Software Instruction Scheduling Part I
Module: Software Instruction Scheduling Part I Sudhakar Yalamanchili, Georgia Institute of Technology Reading for this Module Loop Unrolling and Instruction Scheduling Section 2.2 Dependence Analysis Section
CS/COE 1501 http://cs.pitt.edu/~bill/1501/
CS/COE 1501 http://cs.pitt.edu/~bill/1501/ Lecture 01 Course Introduction Meta-notes These notes are intended for use by students in CS1501 at the University of Pittsburgh. They are provided free of charge
Efficient Scheduling Of On-line Services in Cloud Computing Based on Task Migration
Efficient Scheduling Of On-line Services in Cloud Computing Based on Task Migration 1 Harish H G, 2 Dr. R Girisha 1 PG Student, 2 Professor, Department of CSE, PESCE Mandya (An Autonomous Institution under
Timing-Predictable Memory Allocation In Hard Real-Time Systems
Timing-Predictable Memory Allocation In Hard Real-Time Systems Dissertation zur Erlangung des Grades des Doktors der Ingenieurwissenschaften der Naturwissenschaftlich-Technischen Fakultäten der Universität
Sequential Performance Analysis with Callgrind and KCachegrind
Sequential Performance Analysis with Callgrind and KCachegrind 2 nd Parallel Tools Workshop, HLRS, Stuttgart, July 7/8, 2008 Josef Weidendorfer Lehrstuhl für Rechnertechnik und Rechnerorganisation Institut
An Ant Colony Optimization Approach to the Software Release Planning Problem
SBSE for Early Lifecyle Software Engineering 23 rd February 2011 London, UK An Ant Colony Optimization Approach to the Software Release Planning Problem with Dependent Requirements Jerffeson Teixeira de
Obfuscation: know your enemy
Obfuscation: know your enemy Ninon EYROLLES [email protected] Serge GUELTON [email protected] Prelude Prelude Plan 1 Introduction What is obfuscation? 2 Control flow obfuscation 3 Data flow
Change Impact Analysis
Change Impact Analysis Martin Ward Reader in Software Engineering [email protected] Software Technology Research Lab De Montfort University Change Impact Analysis Impact analysis is a process that predicts
ADAPTIVE DISTRIBUTED CACHING WITH MINIMAL MEMORY USAGE
ADAPTIVE DISTRIBUTED CACHING WITH MINIMAL MEMORY USAGE Markus J. Kaiser, Kwok Ching Tsui and Jiming Liu Department of Computer Science Hong Kong Baptist University Kowloon Tong, Kowloon, Hong Kong ABSTRACT
Dynamic Resource Allocation in Software Defined and Virtual Networks: A Comparative Analysis
Dynamic Resource Allocation in Software Defined and Virtual Networks: A Comparative Analysis Felipe Augusto Nunes de Oliveira - GRR20112021 João Victor Tozatti Risso - GRR20120726 Abstract. The increasing
Time-line based model for software project scheduling
Time-line based model for software project scheduling with genetic algorithms Carl K. Chang, Hsin-yi Jiang, Yu Di, Dan Zhu, Yujia Ge Information and Software Technology(IST), 2008 2010. 3. 9 Presented
Predictable 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 [email protected]
Sequential Performance Analysis with Callgrind and KCachegrind
Sequential Performance Analysis with Callgrind and KCachegrind 4 th Parallel Tools Workshop, HLRS, Stuttgart, September 7/8, 2010 Josef Weidendorfer Lehrstuhl für Rechnertechnik und Rechnerorganisation
Static Analysis. Find the Bug! 15-654: Analysis of Software Artifacts. Jonathan Aldrich. disable interrupts. ERROR: returning with interrupts disabled
Static Analysis 15-654: Analysis of Software Artifacts Jonathan Aldrich 1 Find the Bug! Source: Engler et al., Checking System Rules Using System-Specific, Programmer-Written Compiler Extensions, OSDI
Keywords: Dynamic Load Balancing, Process Migration, Load Indices, Threshold Level, Response Time, Process Age.
Volume 3, Issue 10, October 2013 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Load Measurement
Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students
Eastern Washington University Department of Computer Science Questionnaire for Prospective Masters in Computer Science Students I. Personal Information Name: Last First M.I. Mailing Address: Permanent
Agenda. Capacity Planning practical view CPU Capacity Planning LPAR2RRD LPAR2RRD. Discussion. Premium features Future
Agenda Capacity Planning practical view CPU Capacity Planning LPAR2RRD LPAR2RRD Premium features Future Discussion What is that? Does that save money? If so then how? Have you already have an IT capacity
Lecture 3 Theoretical Foundations of RTOS
CENG 383 Real-Time Systems Lecture 3 Theoretical Foundations of RTOS Asst. Prof. Tolga Ayav, Ph.D. Department of Computer Engineering Task States Executing Ready Suspended (or blocked) Dormant (or sleeping)
Identifying More Efficient Ways of Load balancing the Web (http) Requests.
International Journal of Allied Practice, Research and Review Website: www.ijaprr.com (ISSN 2350-1294) Identifying More Efficient Ways of Load balancing the Web (http) Requests. Mukesh Negi Project Manager,
Periodic Task Scheduling
Periodic Task Scheduling Radek Pelánek Motivation and Assumptions Examples of Periodic Tasks sensory data acquisition control loops action planning system monitoring Motivation and Assumptions Simplifying
Memory Allocation Technique for Segregated Free List Based on Genetic Algorithm
Journal of Al-Nahrain University Vol.15 (2), June, 2012, pp.161-168 Science Memory Allocation Technique for Segregated Free List Based on Genetic Algorithm Manal F. Younis Computer Department, College
Dynamic Behavior Analysis Using Binary Instrumentation
Dynamic Behavior Analysis Using Binary Instrumentation Jonathan Salwan [email protected] St'Hack Bordeaux France March 27 2015 Keywords: program analysis, DBI, DBA, Pin, concrete execution, symbolic
Integer Programming: Algorithms - 3
Week 9 Integer Programming: Algorithms - 3 OPR 992 Applied Mathematical Programming OPR 992 - Applied Mathematical Programming - p. 1/12 Dantzig-Wolfe Reformulation Example Strength of the Linear Programming
Methodology For Securing Networked Self-Adaptive Embedded Systems
Taddeo - PhD Review Methodology For Securing Networked Self-Adaptive Embedded Systems Antonio Vincenzo Taddeo [email protected] Academic Advisor: Prof. Mariagiovanna Sami [email protected] Research Advisor:
Automated Software Testing of Memory Performance in Embedded GPUs. Sudipta Chattopadhyay, Petru Eles and Zebo Peng! Linköping University
Automated Software Testing of Memory Performance in Embedded GPUs Sudipta Chattopadhyay, Petru Eles and Zebo Peng! Linköping University 1 State-of-the-art in Detecting Performance Loss Input Program profiling
Get the Better of Memory Leaks with Valgrind Whitepaper
WHITE PAPER Get the Better of Memory Leaks with Valgrind Whitepaper Memory leaks can cause problems and bugs in software which can be hard to detect. In this article we will discuss techniques and tools
Performance Improvements Using Dynamic Performance Stubs
Performance Improvements Using Dynamic Performance Stubs PhD Thesis Peter Trapp Software Technology Research Laboratory De Montfort University This thesis is submitted in partial fulfillment of the requirements
Memory Access Control in Multiprocessor for Real-time Systems with Mixed Criticality
Memory Access Control in Multiprocessor for Real-time Systems with Mixed Criticality Heechul Yun +, Gang Yao +, Rodolfo Pellizzoni *, Marco Caccamo +, Lui Sha + University of Illinois at Urbana and Champaign
Java Virtual Machine: the key for accurated memory prefetching
Java Virtual Machine: the key for accurated memory prefetching Yolanda Becerra Jordi Garcia Toni Cortes Nacho Navarro Computer Architecture Department Universitat Politècnica de Catalunya Barcelona, Spain
Instruction scheduling
Instruction ordering Instruction scheduling Advanced Compiler Construction Michel Schinz 2015 05 21 When a compiler emits the instructions corresponding to a program, it imposes a total order on them.
Virtual Machine Instance Scheduling in IaaS Clouds
Virtual Machine Instance Scheduling in IaaS Clouds Naylor G. Bachiega, Henrique P. Martins, Roberta Spolon, Marcos A. Cavenaghi Departamento de Ciência da Computação UNESP - Univ Estadual Paulista Bauru,
CSE 504: Compiler Design. Data Flow Analysis
Data Flow Analysis Pradipta De [email protected] Current Topic Iterative Data Flow Analysis LiveOut sets Static Single Assignment (SSA) Form Data Flow Analysis Techniques to reason about runtime
A Business Process Services Portal
A Business Process Services Portal IBM Research Report RZ 3782 Cédric Favre 1, Zohar Feldman 3, Beat Gfeller 1, Thomas Gschwind 1, Jana Koehler 1, Jochen M. Küster 1, Oleksandr Maistrenko 1, Alexandru
Hagit Attiya and Eshcar Hillel. Computer Science Department Technion
Hagit Attiya and Eshcar Hillel Computer Science Department Technion !!" What are highly-concurrent data structures and why we care about them The concurrency of existing implementation techniques Two ideas
UniGR Workshop: Big Data «The challenge of visualizing big data»
Dept. ISC Informatics, Systems & Collaboration UniGR Workshop: Big Data «The challenge of visualizing big data» Dr Ir Benoît Otjacques Deputy Scientific Director ISC The Future is Data-based Can we help?
MAQAO Performance Analysis and Optimization Tool
MAQAO Performance Analysis and Optimization Tool Andres S. CHARIF-RUBIAL [email protected] Performance Evaluation Team, University of Versailles S-Q-Y http://www.maqao.org VI-HPS 18 th Grenoble 18/22
