Building custom memory profilers. In# Gonzalez- Herrera Diverse Team Advisers: Johann Bourcier and Olivier Barais

Similar documents
OS/Run'me and Execu'on Time Produc'vity

Trace-Based and Sample-Based Profiling in Rational Application Developer

SQream Technologies Ltd - Confiden7al

ARTIST Methodology and Tooling. Jesus Gorroñogoitia - Atos SOC Crete, 1 st July 2015

Performance Management in Big Data Applica6ons. Michael Kopp, Technology

Developing OpenDaylight Apps with MD-SAL. J. Medved, E. Warnicke, A. Tkacik. R. Varga Cisco Sample App: M. Rehak, Cisco February 04, 2014

Virtualiza)on and its Applica)ons

«Shanoir : une solu/on pour la ges/on de données distribuées en imagerie in- vivo» Jus/ne Guillaumont Isabelle Corouge

THE BUSY DEVELOPER'S GUIDE TO JVM TROUBLESHOOTING

Introduc)on to Hadoop

Towards Reconstruc/ng Architectural Models of So8ware Tools by Run/me Analysis

Experiments on cost/power and failure aware scheduling for clouds and grids

Data Management in the Cloud: Limitations and Opportunities. Annies Ductan

CS 4604: Introduc0on to Database Management Systems

Instrumentation Software Profiling

MAXIMIZING THE SUCCESS OF YOUR E-PROCUREMENT TECHNOLOGY INVESTMENT. How to Drive Adop.on, Efficiency, and ROI for the Long Term

Introduc8on to Apache Spark

Web Services and Development of Semantic Applications

Algorithms and Tools for Scalable Graph Analy8cs. Kamesh Madduri

Mangrove - SOA Modeling Framework Crea&on Review

HOLACONF - Cloud Forward 2015 Conference From Distributed to Complete Computing HAMZA. in collaboration SAHLI with

An Econocom Group company. Your partner in the transi4on towards Mobile IT

Java Debugging Ľuboš Koščo


Ibis: Scaling Python Analy=cs on Hadoop and Impala

SBML SBGN SBML Just my 2 cents. Alice C. Villéger COMBINE 2010

An Integrated Approach to Manage IT Network Traffic - An Overview Click to edit Master /tle style

The Flink Big Data Analytics Platform. Marton Balassi, Gyula Fora" {mbalassi,

Persistent Binary Search Trees

Can t We All Just Get Along? Spark and Resource Management on Hadoop

Rational Application Developer Performance Tips Introduction

Big Data. The Big Picture. Our flexible and efficient Big Data solu9ons open the door to new opportuni9es and new business areas

Cloud Compu)ng: Overview & challenges. Aminata A. Garba

Effective Java Programming. measurement as the basis

Geoff McGregor, Indiana University Integra(ng KC with CAS and LDAP 4/25/2012

Modeling and mining large scale biological seman0c networks using NEO4J

Internet of Things and Internet of People: The Role of User Interaction in the IIoT vision

Pu?ng B2B Research to the Legal Test

Run$me Query Op$miza$on

Profiling and Testing with Test and Performance Tools Platform (TPTP)

What s Cool in the SAP JVM (CON3243)

How To Make A Cloud Based Computer Power Available To A Computer (For Free)

Java VM monitoring and the Health Center API. William Smith

Project Management Introduc1on

OM2M une implémentation opensource de la norme ETSI-M2M: Expérience dans le bâtiment ADREAM

Mobile Payments World. Consul4ng Overview 2013

Mining of Massive Datasets Jure Leskovec, Anand Rajaraman, Jeff Ullman Stanford University

IT Change Management Process Training

Data Warehousing. Yeow Wei Choong Anne Laurent

Asynchronous Dynamic Load Balancing (ADLB)

Effec%ve AX 2012 Upgrade Project Planning and Microso< Sure Step. Arbela Technologies

>

RESTful or RESTless Current State of Today's Top Web APIs

Project Overview. Collabora'on Mee'ng with Op'mis, Sept. 2011, Rome

Java Mission Control

Programming Language Selec0on. Jonathan Bell November 16, 2010

How To Improve Performance On An Asa 9.4 Web Application Server (For Advanced Users)

Qubera Solu+ons Access Governance a next genera0on approach to Iden0ty Management

Project Por)olio Management

Stream Deployments in the Real World: Enhance Opera?onal Intelligence Across Applica?on Delivery, IT Ops, Security, and More

The Elusive U,lity Customer: How Big Data & Analy,cs Connects U,li,es & Their Customers

Mining Social Network Graphs

SDN- based Mobile Networking for Cellular Operators. Seil Jeon, Carlos Guimaraes, Rui L. Aguiar

Graph Database Proof of Concept Report

REST (Representa.onal State Transfer) Ingegneria del So-ware e Lab. Università di Modena e Reggio Emilia Do<. Marzio Franzini

Discovering Computers Fundamentals, 2010 Edition. Living in a Digital World

Oracle WebLogic Thread Pool Tuning

PROJECT PORTFOLIO SUITE

League of Legends: Scaling to Millions of Ninjas, Yordles, and Wizards

Informa*on Management

Cloud Based Tes,ng & Capacity Planning (CloudPerf)

BENCHMARKING V ISUALIZATION TOOL

San Jacinto College Banner & Enterprise Applica5on Review Task Force Report. November 01, 2011 FINAL

Ubuntu, FEAP, and Virtualiza3on. Jonathan Wong Lab Mee3ng 11/08/10

Eclipse Memory Analyzer and other Java stuff

UQ pipeline implementa,on and so0ware integra,on

Quality Assurance of Software Models within Eclipse using Java and OCL

Founda'onal IT Governance A Founda'onal Framework for Governing Enterprise IT Adapted from the ISACA COBIT 5 Framework

Theo JD Bothma Department of Informa1on Science

Keeping Pace with Big Data

Introduc)on to the MapReduce Paradigm and Apache Hadoop. Sriram Krishnan

HathiTrust Research Center Architecture Overview

!"#$%&'()*#"+,&-(.#,"*'/'.%-*

Overview on Graph Datastores and Graph Computing Systems. -- Litao Deng (Cloud Computing Group)

Hunk & Elas=c MapReduce: Big Data Analy=cs on AWS

Aplicações empresariais de elevada performance com Oracle WebLogic e Coherence. Alexandre Vieira Middleware Solutions Team Leader

Running Jobs on Genepool

Practical Performance Understanding the Performance of Your Application

Capitalize on your carbon management solu4on investment

Big Data + Big Analytics Transforming the way you do business

Understanding and Detec.ng Real- World Performance Bugs

Koen Aers JBoss, a division of Red Hat jbpm GPD Lead

Outline BST Operations Worst case Average case Balancing AVL Red-black B-trees. Binary Search Trees. Lecturer: Georgy Gimel farb

Blue Medora VMware vcenter Opera3ons Manager Management Pack for Oracle Enterprise Manager

Payments Cards and Mobile Consul3ng Overview 2013

HECTOR a software model checker with cooperating analysis plugins. Nathaniel Charlton and Michael Huth Imperial College London

An Oracle White Paper September Advanced Java Diagnostics and Monitoring Without Performance Overhead

WEBAPP PATTERN FOR APACHE TOMCAT - USER GUIDE

The Theory And Practice of Testing Software Applications For Cloud Computing. Mark Grechanik University of Illinois at Chicago

Data Management in the Cloud

Transcription:

Building custom memory profilers In# Gonzalez- Herrera Diverse Team Advisers: Johann Bourcier and Olivier Barais

What are and why we need custom memory profilers? Developers think in terms of high- level abstrac#ons High- level abstrac#ons everywhere!!! Development frameworks Tooling- support is geing bejer DSLs Built atop existent technologies => using subop*mal tools when no op*on is available 2

Aspects in Kermeta 3 K3 defini#on User s mental model Real, low- level, representa#on 3

State- of- the- art profilers view? Object Class Name Instance Size A@32443234 A sizeof(a) + sizeof(a.a) AAspectProperty@fdsfdf3343 AAspectProperty sizeof(aaspectproperty) + sizeof(aaspectproperty.b) AAspect1Property@dfds\j566 AAspect1Property sizeof(aaspect1property). 4

Again why custom memory profilers? For execu#ves: Memory profilers for Java mostly offer support for standard Java abstrac#ons. As well as we None need at all custom or just editors, restricted we support need for custom maintenance tools addi#onal abstrac#ons But when there is support, solu#ons perform poorly This forbid their usage at run#me 5

What problem we face? Compute values on each subset entry A0 entry value key key value value key key value C A B C A B A.a B.b A.a B.b 6

Problem in detail The heap is a DAG with thousands of nodes. Such a DAG changes a lot over #me A memory analysis is: 1. Solve a subgraph matching problem (NP- complete) 2. Compute values on the subgraph Most queries are tractable OQL (Eclipse MAT, VisualVM) Cypher (internal experiments) Tractable doesn t mean ready for produc#on environments Preprocessing is a bojleneck Duplica#ng the DAG is a poor choice 7

Brief DSL s descripfon Subgraph specifica#on User- defined data Collec#ons Anonymous lambda expressions to operate on collec#ons 8

DSL for custom memory profiling Trade- off between expressiveness and performance The computa#onal model is simple and explicit Linear #me execu#on on the number of objects Easy to see the cost of profiling Execute the DSL by traversing the DAG of live objects Support many queries, par#cularly resource consump#on queries 9

Language implementafon Java XText JVMTI agent Our DSL JVMTI plugin in C JVM Applica#on Op*miza*on is the main issue in the implementa*on Avoid precompu#ng unneeded data by using variability Avoid traversing leaf nodes Reordering expressions Minimizing number of graph traversals 10

EvaluaFon Performance gain 1. Impact of Analysis on the Total Execu#on Time 2. Comparing Analysis Time for Simple Asser#on 3. Analysis Time in Real Scenarios Discussion on expressiveness 11

Impact of Analysis on the Total ExecuFon Time Very simple analysis Execute the analysis many #mes Use different analysis techniques 12

Comparing Analysis Time for Simple AsserFon 13

Analysis Time in Real Scenarios OSGi- based applica#ons Compute the memory consump#on of each component 14

Discussion on Language Expressiveness Our approach Cypher Easy to reason about its performance and expressiveness OQL enough 15

Conclusions and Future Works Tooling support for high- level abstrac#ons is incomplete. We lack tools to deal with maintenance tasks. We provide a DSL to define custom memory profilers which show low overhead Performance has been evaluated Expressiveness was discussed For a new DSL, is it possible to automate the genera#on of a profiler? 16

? 17