1 / 9

Enhancing Developer Productivity: Performance Prediction and Support Tools

This document explores tools and strategies designed to support software developers in various domains, particularly focusing on embedded systems and enterprise applications. It addresses common challenges developers face, such as time-consuming performance evaluations and the need for effective migration of algorithms across memory models. The proposed solutions prioritize automation, ease of use, and immediate feedback about performance characteristics, aiming to streamline the development process and improve software efficiency. Insights into system states and statistical information are also provided to enhance the decision-making process.

albina
Télécharger la présentation

Enhancing Developer Productivity: Performance Prediction and Support Tools

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Developer Support Michael, Andrej, Christoph, Alex

  2. Scenarios • Embedded: • Givenhardware • Maximizeamountofapplicationsrun on this HW • Prediction-Support for Developer/Deployer • System-Level: • Migrate parallel algorithmaccrossdifferent memory-models • Exhaustive correctnessverificationrequired • Enterprise: • Development ofcertainenterpriseapplication • Performance behaviourfor an representative WL on a referencemachine

  3. Developers Problem • Embedded: • Developers areawareofanddedicadedtodevelopinggoodperformingsoftware • But time consuming • Enterprise: • Performance considered not tobepriorityNo 1 • SPE isa burden • In General: • Developer is not interestedwhereresultscomefrom • Manual Performance evaluationis time consuming •  Automation of SPE • As lessinputaspossible • As muchoutputaspossible

  4. Wich supportisdesired? • Embedded: • Given a HW model • Tool providesmaxloadundercertaintimingproperties • System-Level: • User annotesshareddatastructures • Model Extraction Explore different migrations • Proofcorrectness after possiblemigration • Enterprise: • Extractmodelofapplicationunderdevelopment • Conductpredictiontechniques • Show relevant performanceissuesduringdevelopment

  5. Ideas • More informationaboutperformancecharacteristics • Developers usemanyabstractions (e.g. Collection) • Do not knowtheirperformancecharacteristics • >Javadoccontaining Performance Properties? • >Library / Factory creatingstructureswithcertaindesiredperf. Properties • More informationaboutsystemstate / statisticalinformation • Dream: • Models foreachcomponentshippedwiththeimplementation

  6. Characteristicsof Tool-Support • Easy tousetools • Addressthetargetaudience • Different views on the same thing • Correspondingabstractionlevel • Hide „uglydetails“ (ifdesired) • Integrated with IDE • Nointerruptionofworkflow •  Immidiatebenefit • Trade-off: Accuracyoffeedback • Useweek-end formore time-consuming / moreaccurate feedback-mechanisms

  7. Action • Find out whatactuallyhelpsthedeveloper • Getfeedbackearlyfromdevelopers

  8. In Multicore • Measurement-basedapproaches essential forretrievingrequiredinformationforfeedback • Non-Determinism: • static (code) analysis not suited?

  9. Vision • Smartness in thelibraries • Getbufferofsuitablesize • Getcollectionwith linear write / constantread … • Immediate Feedback / Prediction

More Related