90 likes | 210 Vues
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.
E N D
Developer Support Michael, Andrej, Christoph, Alex
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
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
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
Ideas • More informationaboutperformancecharacteristics • Developers usemanyabstractions (e.g. Collection) • Do not knowtheirperformancecharacteristics • >Javadoccontaining Performance Properties? • >Library / Factory creatingstructureswithcertaindesiredperf. Properties • More informationaboutsystemstate / statisticalinformation • Dream: • Models foreachcomponentshippedwiththeimplementation
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
Action • Find out whatactuallyhelpsthedeveloper • Getfeedbackearlyfromdevelopers
In Multicore • Measurement-basedapproaches essential forretrievingrequiredinformationforfeedback • Non-Determinism: • static (code) analysis not suited?
Vision • Smartness in thelibraries • Getbufferofsuitablesize • Getcollectionwith linear write / constantread … • Immediate Feedback / Prediction