Making Dynamic Memory Allocation Static To Support WCET Analyses

Size: px
Start display at page:

Download "Making Dynamic Memory Allocation Static To Support WCET Analyses"

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

A Framework to Quantify the Overestimations of Static WCET Analysis. Hugues Cassé, Haluk Ozaktas, Christine Rochange

A Framework to Quantify the Overestimations of Static WCET Analysis. Hugues Cassé, Haluk Ozaktas, Christine Rochange A Framework to Quantify the Overestimations of Static Analysis Hugues Cassé, Haluk Ozaktas, Christine Rochange 15th Workshop on Analysis July 7, 2015 source code compiler binary code CFG building A flow

More information

Worst-Case Execution Time Prediction by Static Program Analysis

Worst-Case Execution Time Prediction by Static Program Analysis Worst-Case Execution Time Prediction by Static Program Analysis Reinhold Heckmann Christian Ferdinand AbsInt Angewandte Informatik GmbH Science Park 1, D-66123 Saarbrücken, Germany Phone: +49-681-38360-0

More information

The Worst-Case Execution Time Problem Overview of Methods and Survey of Tools

The Worst-Case Execution Time Problem Overview of Methods and Survey of Tools The Worst-Case Execution Time Problem Overview of Methods and Survey of Tools Reinhard Wilhelm, Jakob Engblom, Andreas Ermedahl, Niklas Holsti, Stephan Thesing, David Whalley, Guillem Bernat, Christian

More information

HVM TP : A Time Predictable and Portable Java Virtual Machine for Hard Real-Time Embedded Systems JTRES 2014

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

More information

Static Analysis of Virtualization- Obfuscated Binaries

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

More information

GameTime: A Toolkit for Timing Analysis of Software

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

More information

Designing Predictable Multicore Architectures for Avionics and Automotive Systems extended abstract

Designing Predictable Multicore Architectures for Avionics and Automotive Systems extended abstract Designing Predictable Multicore Architectures for Avionics and Automotive Systems extended abstract Reinhard Wilhelm, Christian Ferdinand, Christoph Cullmann, Daniel Grund, Jan Reineke, Benôit Triquet

More information

Timing Analysis of Real-Time Software

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

More information

Towards Model-Driven Development of Hard Real-Time Systems

Towards Model-Driven Development of Hard Real-Time Systems Towards Model-Driven Development of Hard Real-Time Systems Integrating ASCET and ait/stackanalyzer Christian Ferdinand 1, Reinhold Heckmann 1, Hans-Jörg Wolff 2, Christian Renz 2, Oleg Parshin 3, and Reinhard

More information

Optimized Scheduling in Real-Time Environments with Column Generation

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,

More information

Efficient and Robust Allocation Algorithms in Clouds under Memory Constraints

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

More information

DACOTA: Post-silicon Validation of the Memory Subsystem in Multi-core Designs. Presenter: Bo Zhang Yulin Shi

DACOTA: Post-silicon Validation of the Memory Subsystem in Multi-core Designs. Presenter: Bo Zhang Yulin Shi DACOTA: Post-silicon Validation of the Memory Subsystem in Multi-core Designs Presenter: Bo Zhang Yulin Shi Outline Motivation & Goal Solution - DACOTA overview Technical Insights Experimental Evaluation

More information

Fault-Tolerant Application Placement in Heterogeneous Cloud Environments. Bart Spinnewyn, prof. Steven Latré

Fault-Tolerant Application Placement in Heterogeneous Cloud Environments. Bart Spinnewyn, prof. Steven Latré Fault-Tolerant Application Placement in Heterogeneous Cloud Environments Bart Spinnewyn, prof. Steven Latré Cloud Application Placement Problem (CAPP) Application Placement admission control: decide on

More information

K-Cover of Binary sequence

K-Cover of Binary sequence K-Cover of Binary sequence Prof Amit Kumar Prof Smruti Sarangi Sahil Aggarwal Swapnil Jain Given a binary sequence, represent all the 1 s in it using at most k- covers, minimizing the total length of all

More information

Introduction to Data-flow analysis

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

More information

Software Reliability Estimation Based on Static Error Detection

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,

More information

Virtual Machine Learning: Thinking Like a Computer Architect

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

More information

aicas Technology Multi Core und Echtzeit Böse Überraschungen vermeiden Dr. Fridtjof Siebert CTO, aicas OOP 2011, 25 th January 2011

aicas Technology Multi Core und Echtzeit Böse Überraschungen vermeiden Dr. Fridtjof Siebert CTO, aicas OOP 2011, 25 th January 2011 aicas Technology Multi Core und Echtzeit Böse Überraschungen vermeiden Dr. Fridtjof Siebert CTO, aicas OOP 2011, 25 th January 2011 2 aicas Group aicas GmbH founded in 2001 in Karlsruhe Focus: Embedded

More information

Software Pipelining by Modulo Scheduling. Philip Sweany University of North Texas

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

More information

A Tentative Systems-Architecture for Requirements-Controlled Energy Management in a Computing Infrastructure

A Tentative Systems-Architecture for Requirements-Controlled Energy Management in a Computing Infrastructure Dr Frank J. Furrer frank.j.furrer@bluewin.ch A Tentative Systems-Architecture for Requirements-Controlled Energy Management in a Infrastructure Summary Energy consumption of computing systems is a growing

More information

Multi-GPU Load Balancing for Simulation and Rendering

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

More information

Scratchpad Allocation for Concurrent Embedded Software

Scratchpad Allocation for Concurrent Embedded Software Scratchpad Allocation for Concurrent Embedded Software VIVY SUHENDRA Institute for Infocomm Research, Singapore ABHIK ROYCHOUDHURY and TULIKA MITRA National University of Singapore, Singapore Software-controlled

More information

Multi-objective Design Space Exploration based on UML

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

More information

Cloud Computing. and Scheduling. Data-Intensive Computing. Frederic Magoules, Jie Pan, and Fei Teng SILKQH. CRC Press. Taylor & Francis Group

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

More information

How To Trace

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

More information

A Lab Course on Computer Architecture

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,

More information

Deduplication in VM Environments Frank Bellosa <bellosa@kit.edu> Konrad Miller <miller@kit.edu> Marc Rittinghaus <rittinghaus@kit.

Deduplication in VM Environments Frank Bellosa <bellosa@kit.edu> Konrad Miller <miller@kit.edu> Marc Rittinghaus <rittinghaus@kit. Deduplication in VM Environments Frank Bellosa Konrad Miller Marc Rittinghaus KARLSRUHE INSTITUTE OF TECHNOLOGY (KIT) - SYSTEM ARCHITECTURE GROUP

More information

On Orchestrating Virtual Network Functions

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

More information

Dynamic Memory Management for Embedded Real-Time Systems

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

More information

Performance Improvement In Java Application

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

More information

Hardware Acceleration for Just-In-Time Compilation on Heterogeneous Embedded Systems

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

More information

Throughput constraint for Synchronous Data Flow Graphs

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

More information

Application Partitioning on Programmable Platforms Using the Ant Colony Optimization

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

More information

A high-level implementation of software pipelining in LLVM

A high-level implementation of software pipelining in LLVM A high-level implementation of software pipelining in LLVM Roel Jordans 1, David Moloney 2 1 Eindhoven University of Technology, The Netherlands r.jordans@tue.nl 2 Movidius Ltd., Ireland 2015 European

More information

CLAPP: Characterizing Loops in Android Applications

CLAPP: Characterizing Loops in Android Applications CLAPP: Characterizing Loops in Android Applications Yanick Fratantonio UC Santa Barbara, USA yanick@cs.ucsb.edu Christopher Kruegel UC Santa Barbara, USA chris@cs.ucsb.edu Aravind Machiry UC Santa Barbara,

More information

Hardware-Aware Analysis and. Presentation Date: Sep 15 th 2009 Chrissie C. Cui

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

More information

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

More information

Software Stacks for Mixed-critical Applications: Consolidating IEEE 802.1 AVB and Time-triggered Ethernet in Next-generation Automotive Electronics

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 till.steinbach@haw-hamburg.de September

More information

Client-server Sockets

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,

More information

Computer Architecture Syllabus of Qualifying Examination

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

More information

A Systematic Approach to Model-Guided Empirical Search for Memory Hierarchy Optimization

A Systematic Approach to Model-Guided Empirical Search for Memory Hierarchy Optimization A Systematic Approach to Model-Guided Empirical Search for Memory Hierarchy Optimization Chun Chen, Jacqueline Chame, Mary Hall, and Kristina Lerman University of Southern California/Information Sciences

More information

Charles Koelbel Rice University chk@cs.rice.edu http://vgrads.rice.edu/

Charles Koelbel Rice University chk@cs.rice.edu http://vgrads.rice.edu/ Virtual Grid Application Development Software (VGrADS), Electron Microscopy Analysis (EMAN), and Other Acronyms Charles Koelbel Rice University chk@cs.rice.edu http://vgrads.rice.edu/ Virtual Grid Application

More information

Low-Level Verification of Embedded Software: Addressing the Challenge

Low-Level Verification of Embedded Software: Addressing the Challenge Low-Level Verification of Embedded Software: Addressing the Challenge Sanjit A. Seshia Assistant Professor EECS, UC Berkeley FMCAD 2010 Panel October 2010 Abstraction Layers in Computing Algorithms, Protocols,

More information

Cache-Aware Real-Time Scheduling Simulator: Implementation and Return of Experience

Cache-Aware Real-Time Scheduling Simulator: Implementation and Return of Experience Cache-Aware Real-Time Scheduling Simulator: Implementation and Return of Experience Hai Nam Tran, Frank Singhoff, Stéphane Rubini, Jalil Boukhobza Univ. Bretagne Occidentale, UMR 6285, Lab-STICC, F-292

More information

Reconfigurable Architecture Requirements for Co-Designed Virtual Machines

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 ken@unb.ca Micaela Serra

More information

International Workshop on Field Programmable Logic and Applications, FPL '99

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

More information

The C Programming Language course syllabus associate level

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

More information

Programming Embedded Systems

Programming Embedded Systems Programming Embedded Systems Lecture 13 Overview of memory management Monday Feb 27, 2012 Philipp Rümmer Uppsala University Philipp.Ruemmer@it.uu.se 1/32 Lecture outline Memory architecture of microcontrollers,

More information

Evading Android Emulator

Evading Android Emulator Evading Android Emulator Thanasis Petsas petsas@ics.forth.gr petsas@ics.forth.gr - www.syssec-project.eu 1 What is a Virtual Machine? A software based computer that functions like a physical machine A

More information

Module: Software Instruction Scheduling Part I

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

More information

CS/COE 1501 http://cs.pitt.edu/~bill/1501/

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

More information

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

More information

Timing-Predictable Memory Allocation In Hard Real-Time Systems

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

More information

Sequential Performance Analysis with Callgrind and KCachegrind

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

More information

An Ant Colony Optimization Approach to the Software Release Planning Problem

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

More information

Hardware/Software Co-Design of Run-Time Schedulers for Real-Time Systems

Hardware/Software Co-Design of Run-Time Schedulers for Real-Time Systems Design Automation for Embedded Systems, 6, 89 144 (2000) c 2000 Kluwer Academic Publishers, Boston. Manufactured in The Netherlands. Hardware/Software Co-Design of Run-Time Schedulers for Real-Time Systems

More information

Obfuscation: know your enemy

Obfuscation: know your enemy Obfuscation: know your enemy Ninon EYROLLES neyrolles@quarkslab.com Serge GUELTON sguelton@quarkslab.com Prelude Prelude Plan 1 Introduction What is obfuscation? 2 Control flow obfuscation 3 Data flow

More information

Change Impact Analysis

Change Impact Analysis Change Impact Analysis Martin Ward Reader in Software Engineering martin@gkc.org.uk Software Technology Research Lab De Montfort University Change Impact Analysis Impact analysis is a process that predicts

More information

On some Potential Research Contributions to the Multi-Core Enterprise

On some Potential Research Contributions to the Multi-Core Enterprise On some Potential Research Contributions to the Multi-Core Enterprise Oded Maler CNRS - VERIMAG Grenoble, France February 2009 Background This presentation is based on observations made in the Athole project

More information

ADAPTIVE DISTRIBUTED CACHING WITH MINIMAL MEMORY USAGE

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

More information

Dynamic Resource Allocation in Software Defined and Virtual Networks: A Comparative Analysis

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

More information

Time-line based model for software project scheduling

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

More information

Predictable response times in event-driven real-time systems

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 mgh@unican.es

More information

Know or Go Practical Quest for Reliable Software

Know or Go Practical Quest for Reliable Software Know or Go Practical Quest for Reliable Software Dr.-Ing. Jörg Barrho Dr.-Ing. Ulrich Wünsche AVACS Project meeting 25.09.2014 2014 Rolls-Royce Power Systems AG The information in this document is the

More information

Sequential Performance Analysis with Callgrind and KCachegrind

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

More information

Static Analysis. Find the Bug! 15-654: Analysis of Software Artifacts. Jonathan Aldrich. disable interrupts. ERROR: returning with interrupts disabled

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

More information

Keywords: Dynamic Load Balancing, Process Migration, Load Indices, Threshold Level, Response Time, Process Age.

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

More information

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

More information

Worst-Case Energy Consumption Analysis for Energy-Constrained Embedded Systems

Worst-Case Energy Consumption Analysis for Energy-Constrained Embedded Systems To appear in: Proceedings of the 27th uromicro Conference on Real-Time Systems (CRTS 15) Lund, Sweden, 7 10 July 2015 Worst-Case nergy Consumption Analysis for nergy-constrained mbedded Systems Peter Wägemann,

More information

Visualization Enables the Programmer to Reduce Cache Misses

Visualization Enables the Programmer to Reduce Cache Misses Visualization Enables the Programmer to Reduce Cache Misses Kristof Beyls and Erik H. D Hollander and Yijun Yu Electronics and Information Systems Ghent University Sint-Pietersnieuwstraat 41, Gent, Belgium

More information

Agenda. Capacity Planning practical view CPU Capacity Planning LPAR2RRD LPAR2RRD. Discussion. Premium features Future

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

More information

Compiler Aided Ticket Scheduling (CATS) For Non-Preemptive Embedded Systems

Compiler Aided Ticket Scheduling (CATS) For Non-Preemptive Embedded Systems Compiler Aided Ticket Scheduling (CATS) For Non-Preemptive Embedded Systems Tal Anker Marvell Technology Group TalA@marvell.com Yaron Weinsberg, Danny Dolev The Hebrew University of Jerusalem {wyaron,dolev}@cs.huji.ac.il

More information

Lecture 3 Theoretical Foundations of RTOS

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)

More information

Identifying More Efficient Ways of Load balancing the Web (http) Requests.

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,

More information

Embedded Systems 20 BF - ES

Embedded Systems 20 BF - ES Embedded Systems 20-1 - Multiprocessor Scheduling REVIEW Given n equivalent processors, a finite set M of aperiodic/periodic tasks find a schedule such that each task always meets its deadline. Assumptions:

More information

Generating Run-Time Progress Reports for a Points-to Analysis in Eclipse

Generating Run-Time Progress Reports for a Points-to Analysis in Eclipse Generating Run-Time Progress Reports for a Points-to Analysis in Eclipse Jason Sawin Mariana Sharp Atanas Rountev ABSTRACT Eclipse plug-ins have access to a rich collection of GUI components. One such

More information

Periodic Task Scheduling

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

More information

Memory Allocation Technique for Segregated Free List Based on Genetic Algorithm

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

More information

Dynamic Behavior Analysis Using Binary Instrumentation

Dynamic Behavior Analysis Using Binary Instrumentation Dynamic Behavior Analysis Using Binary Instrumentation Jonathan Salwan jsalwan@quarkslab.com St'Hack Bordeaux France March 27 2015 Keywords: program analysis, DBI, DBA, Pin, concrete execution, symbolic

More information

Integer Programming: Algorithms - 3

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

More information

Methodology For Securing Networked Self-Adaptive Embedded Systems

Methodology For Securing Networked Self-Adaptive Embedded Systems Taddeo - PhD Review Methodology For Securing Networked Self-Adaptive Embedded Systems Antonio Vincenzo Taddeo antonio.taddeo@alari.ch Academic Advisor: Prof. Mariagiovanna Sami sami@alari.ch Research Advisor:

More information

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

More information

Get the Better of Memory Leaks with Valgrind Whitepaper

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

More information

Data Validation for Smart Grid Analytics

Data Validation for Smart Grid Analytics Key Concepts This white paper presents several key concepts behind quality and validation as implemented in the industry. Typical validation mechanisms and workflow targeting automatically and manually

More information

Performance Improvements Using Dynamic Performance Stubs

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

More information

Embedded Systems 20 REVIEW. Multiprocessor Scheduling

Embedded Systems 20 REVIEW. Multiprocessor Scheduling Embedded Systems 0 - - Multiprocessor Scheduling REVIEW Given n equivalent processors, a finite set M of aperiodic/periodic tasks find a schedule such that each task always meets its deadline. Assumptions:

More information

Memory Access Control in Multiprocessor for Real-time Systems with Mixed Criticality

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

More information

Java Virtual Machine: the key for accurated memory prefetching

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

More information

A Numerical Study on the Wiretap Network with a Simple Network Topology

A Numerical Study on the Wiretap Network with a Simple Network Topology A Numerical Study on the Wiretap Network with a Simple Network Topology Fan Cheng and Vincent Tan Department of Electrical and Computer Engineering National University of Singapore Mathematical Tools of

More information

Instruction scheduling

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.

More information

Virtual Machine Instance Scheduling in IaaS Clouds

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,

More information

CSE 504: Compiler Design. Data Flow Analysis

CSE 504: Compiler Design. Data Flow Analysis Data Flow Analysis Pradipta De pradipta.de@sunykorea.ac.kr Current Topic Iterative Data Flow Analysis LiveOut sets Static Single Assignment (SSA) Form Data Flow Analysis Techniques to reason about runtime

More information

A Business Process Services Portal

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

More information

Hagit Attiya and Eshcar Hillel. Computer Science Department Technion

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

More information

Some Future Challenges of Binary Translation. Kemal Ebcioglu IBM T.J. Watson Research Center

Some Future Challenges of Binary Translation. Kemal Ebcioglu IBM T.J. Watson Research Center Some Future Challenges of Binary Translation Kemal Ebcioglu IBM T.J. Watson Research Center Disclaimers! The IBM material in this tutorial consists of nonconfidential research projects and ideas! Non-IBM

More information

UniGR Workshop: Big Data «The challenge of visualizing big data»

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?

More information

MAQAO Performance Analysis and Optimization Tool

MAQAO Performance Analysis and Optimization Tool MAQAO Performance Analysis and Optimization Tool Andres S. CHARIF-RUBIAL andres.charif@uvsq.fr Performance Evaluation Team, University of Versailles S-Q-Y http://www.maqao.org VI-HPS 18 th Grenoble 18/22

More information

Second year review WP2 overview SW-based Method. Trento - October 17th, 2008

Second year review WP2 overview SW-based Method. Trento - October 17th, 2008 Second year review WP2 overview SW-based Method Trento - October 17th, 2008 1 Goal To investigate software-only methodologies for remote entrusting implementation 2 Tasks D2.3 D2.4 M0 M3 M6 M9 M12 M15

More information

CacheAudit: A Tool for the Static Analysis of Cache Side Channels

CacheAudit: A Tool for the Static Analysis of Cache Side Channels CacheAudit: A Tool for the Static Analysis of Cache Side Channels Goran Doychev 1, Dominik Feld 2, Boris Köpf 1, Laurent Mauborgne 1, and Jan Reineke 2 1 IMDEA Software Institute 2 Saarland University

More information

Testing Decision Procedures for Security-by-Contract

Testing Decision Procedures for Security-by-Contract Testing Decision Procedures for Security-by-Contract Nataliia Bielova, Ida Siahaan University of Trento Joint Workshop on Foundations of Computer Security, Automated Reasoning for Security Protocol Analysis

More information