INDUSTRIAL PROJECT (234313) ULTRASOUND SCANNER EMBEDDED ONLINE PROFILER Students: Liat Peterfreund, Hagay Myr Supervisor: Mr. Tomer Gal (GE Healthcare)

Slides:



Advertisements
Similar presentations
Module 13: Performance Tuning. Overview Performance tuning methodologies Instance level Database level Application level Overview of tools and techniques.
Advertisements

Statistical Metadata Driven eForms Oleg Volguine Assistant Director Technology Services Division Australian Bureau of Statistics.
Tahir Nawaz Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a.
The Datacenter Needs an Operating System Matei Zaharia, Benjamin Hindman, Andy Konwinski, Ali Ghodsi, Anthony Joseph, Randy Katz, Scott Shenker, Ion Stoica.
Improving the way we learn
Intel® performance analyze tools Nikita Panov Idrisov Renat.
EEE436 / CS422 Final Presentation Group
® IBM Software Group © 2010 IBM Corporation What’s New in Profiling & Code Coverage RAD V8 April 21, 2011 Kathy Chan
1 Tornado: An Embedded System Development Tool Maung Wynn Aung Han CIS 642, Spring 2001 Prof. Insup Lee.
The Path to Multi-core Tools Paul Petersen. Multi-coreToolsThePathTo 2 Outline Motivation Where are we now What is easy to do next What is missing.
CS 550 Amoeba-A Distributed Operation System by Saie M Mulay.
Chapter 13 Embedded Systems
Managing Agent Platforms with the Simple Network Management Protocol Brian Remick Thesis Defense June 26, 2015.
WNT Client/Server SDK Tony Vaccaro CS699 Project Presentation.
Systems Analysis and Design in a Changing World, 6th Edition
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
Students: Nadia Goshmir, Yulia Koretsky Supervisor: Shai Rozenrauch Industrial Project Advanced Tool for Automatic Testing Final Presentation.
SOA – Development Organization Yogish Pai. 2 IT organization are structured to meet the business needs LOB-IT Aligned to a particular business unit for.
A Free sample background from © 2001 By Default!Slide 1.NET Overview BY: Pinkesh Desai.
1 Integrated Development Environment Building Your First Project (A Step-By-Step Approach)
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
OpenTS for Windows Compute Cluster Server. Overview  Introduction  OpenTS (academic) for Windows CCS  T-converter  T-microkernel  OpenTS installer.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Sadegh Aliakbary Sharif University of Technology Fall 2010.
Institute of Computer and Communication Network Engineering OFC/NFOEC, 6-10 March 2011, Los Angeles, CA Lessons Learned From Implementing a Path Computation.
Agent-based Device Management in RFID Middleware Author : Zehao Liu, Fagui Liu, Kai Lin Reporter :郭瓊雯.
June 6 th – 8 th 2005 Deployment Tool Set Synergy 2005.
Sadegh Aliakbary Sharif University of Technology Fall 2012.
Designing and Developing WS B. Ramamurthy. Plans We will examine the resources available for development of JAX-WS based web services. We need an IDE,
A performance evaluation approach openModeller: A Framework for species distribution Modelling.
TMS320 DSP Algorithm Standard: Overview & Rationalization.
Chapter 7 Interactive Design and Prototyping Human Performance Engineering Robert W. Bailey, Ph.D. Third Edition.
3.14 Work List IOC Core Channel Access. Changes to IOC Core Online add/delete of record instances Tool to support online add/delete OS independent layer.
Debugging and Profiling With some help from Software Carpentry resources.
Derek Wright Computer Sciences Department University of Wisconsin-Madison MPI Scheduling in Condor: An.
Debugging parallel programs. Breakpoint debugging Probably the most widely familiar method of debugging programs is breakpoint debugging. In this method,
BridgePoint Integration John Wolfe / Robert Day Accelerated Technology.
Aleph Version Maintenance. Version Maintenance Requirements for Aleph Stability Control Minimum changes for user Systematic patch application.
Intro to dot Net Dr. John Abraham UTPA CSCI 3327.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University IWPSE 2003 Program.
SKYPIAX, how to add Skype capabilities to FreeSWITCH (and Asterisk) CHICAGO, USA, September 2009.
PRIOR TO WEB SERVICES THE OTHER TECHNOLOGIES ARE:.
Debugging TI RTOS TEAM 4 JORGE JIMENEZ JHONY MEDRANO ALBIEN FEZGA.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
EPICS Release 3.15 Bob Dalesio May 19, Features for 3.15 Support for large arrays Channel access priorities Portable server replacement of rsrv.
THE EYESWEB PLATFORM - GDE The EyesWeb XMI multimodal platform GDE 5 March 2015.
Copyright © 2004, Keith D Swenson, All Rights Reserved. OASIS Asynchronous Service Access Protocol (ASAP) Tutorial Overview, OASIS ASAP TC May 4, 2004.
CDT-412 Software Engineering Project Introduction Lecture Raluca Marinescu.
Microsoft ® Official Course Module 6 Managing Software Distribution and Deployment by Using Packages and Programs.
1 Advanced.Net Debugging Using Visual Studio, R# and OzCode IT Week, Summer 2015.
Visual Programming Borland Delphi. Developing Applications Borland Delphi is an object-oriented, visual programming environment to develop 32-bit applications.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
What it is about? © SkillsRate is registered mark of SKILLSRATE SRL It is all about testing, testing skills,
Introducing the Microsoft® .NET Framework
Using Ada-C/C++ Changer as a Converter Automatically convert to C/C++ to reuse or redeploy your Ada code Eliminate the need for a costly and.
Open Source distributed document DB for an enterprise
Presented by Munezero Immaculee Joselyne PhD in Software Engineering
In-situ Visualization using VisIt
CMPE419 Mobile Application Development
Linternals SysInternals for Linux
Eclipse 20-Sep-18.
System Concept Simulation for Concurrent Engineering
Testing RESTful Web APIs
A GUI Based Aid for Generation of Code-Frameworks of TMOs
Cross-OS Development Platform Contents Application Common Operating Environment (AppCOE): An eclipse based IDE for development of C/C++ applications.
Advanced Debugging With Visual Studio & OzCode
Server Management and Automation Windows Server 2012 R2
CMPE419 Mobile Application Development
Windows Development Dynadata Copyright, 2014 © DynaData S.A. 1/29.
Presentation transcript:

INDUSTRIAL PROJECT (234313) ULTRASOUND SCANNER EMBEDDED ONLINE PROFILER Students: Liat Peterfreund, Hagay Myr Supervisor: Mr. Tomer Gal (GE Healthcare)

Project Objectives  Implement a statistical profiler for an Ultrasound- System (ULS) software that its results will be used for debugging and optimizations.  The target platforms are already deployed systems, means – not in a debug-able environment.  The profiler should have minimum impact on the examined process and should work efficiently and quickly.

Methodology  Sampling (halting) the process every pre-defined time interval  Collecting call-stacks frames of all the process’ threads in every sample  Analyzing the information – resolving the collected frames into their symbols and providing the actual Profiling information.

Profiler Overview (1)  The user sets-up the profiling session:  Profiled process  Running process – by its PID or its exact name  New process – by the full path of an executable  Profiling session duration  Profiling session start delay  Time interval between samples  Stack depth to be examined  Minimal thread runtime (threshold) – below it the thread won’t be examined  The profiler is then activated and starts to collect the Call-Stacks of all the process’ threads.  After collecting the samples, the profiler analyzes the information  Resolves the symbols of all the gathered stack-frames  Calculates the profiling info for each symbol  Relative part of his net runtime (without his sons) out of the total activation time  Relative part of his sons’ total runtime out of the total activation time

Profiler Overview (2)  The profiling mechanism is built of three threads :  Main thread – the thread which sets-up, controls and analyzes the profiling session  Breaker thread – sends the analyzed process an Exception- Debug-Event of type Breakpoint in a pre-defined frequency  Listener thread – listens for Debug-Events from the analyzed process and reacts accordingly to fulfill the following:  Maintain the process’ active threads list (Create-Thread and Exit- Thread events)  Collect the call-stacks frames of the active threads (Breakpoint- Exception events)

Achievements since Midterm (1)  Optimized performance  Internal console prints at a later time  Threshold of minimum activeness of a thread  Threads that haven’t been active at all between two consecutive samples are ignored  Improved analysis  Symbols resolving with cache (for future extensions)  The entire stack as the key for analysis  Portable implementation  DLL, LIB and H files to be used by any application

Achievements since Midterm (2)  UI support  There is a well defined protocol between UI and the profiler  The client applications inherits the provided ProfilerClient interface.  The client application registers itself with the profiler  The client gets an event from the profiler when there is a incoming message.  Our GUI uses polling instead of the above mechanism due to compatibility problem between managed and unmanaged syntax

Achievements All-Together  Fully functional, optimized and deployable Profiler  Can be integrated into any developed software  Shared library (DLL) to be linked with the developed application  Can be used as an independent analysis tool  Console tool  GUI tool (an extra capability)  Windows Form Application  Provides a full setup and control interface  Views the statistics in a convenient tree-like grid  Can be used both in the factory and on the field to analyze, debug and improve the ULS system’s software  Presumably will be deployed with future releases of the ULS software

Demonstration  Lets profile stuff…

Conclusions  The course exposed us to GE Healthcare company  We were given a tour in the GE Healthcare factory, were introduced with both the engineers and the products, from legacy to most recent ultrasound systems  The course exposed us to new technologies and environments  Windows API and Windows Debugging API  Windows Form Application  The course improved our skills as software engineers  Improved design and coding skills  Keep to schedule – deliver what was expected and on time  Teamwork – parallelization of the development

The End Thanks !