industrial project (234313) ultrasound scanner embedded online profiler students: liat peterfreund,...
TRANSCRIPT
![Page 1: INDUSTRIAL PROJECT (234313) ULTRASOUND SCANNER EMBEDDED ONLINE PROFILER Students: Liat Peterfreund, Hagay Myr Supervisor: Mr. Tomer Gal (GE Healthcare)](https://reader035.vdocuments.site/reader035/viewer/2022072015/56649ed25503460f94be1d07/html5/thumbnails/1.jpg)
INDUSTRIAL PROJECT (234313)
ULTRASOUND SCANNER EMBEDDED ONLINE PROFILERStudents: Liat Peterfreund, Hagay Myr
Supervisor: Mr. Tomer Gal (GE Healthcare)
![Page 2: INDUSTRIAL PROJECT (234313) ULTRASOUND SCANNER EMBEDDED ONLINE PROFILER Students: Liat Peterfreund, Hagay Myr Supervisor: Mr. Tomer Gal (GE Healthcare)](https://reader035.vdocuments.site/reader035/viewer/2022072015/56649ed25503460f94be1d07/html5/thumbnails/2.jpg)
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.
![Page 3: INDUSTRIAL PROJECT (234313) ULTRASOUND SCANNER EMBEDDED ONLINE PROFILER Students: Liat Peterfreund, Hagay Myr Supervisor: Mr. Tomer Gal (GE Healthcare)](https://reader035.vdocuments.site/reader035/viewer/2022072015/56649ed25503460f94be1d07/html5/thumbnails/3.jpg)
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.
![Page 4: INDUSTRIAL PROJECT (234313) ULTRASOUND SCANNER EMBEDDED ONLINE PROFILER Students: Liat Peterfreund, Hagay Myr Supervisor: Mr. Tomer Gal (GE Healthcare)](https://reader035.vdocuments.site/reader035/viewer/2022072015/56649ed25503460f94be1d07/html5/thumbnails/4.jpg)
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
![Page 5: INDUSTRIAL PROJECT (234313) ULTRASOUND SCANNER EMBEDDED ONLINE PROFILER Students: Liat Peterfreund, Hagay Myr Supervisor: Mr. Tomer Gal (GE Healthcare)](https://reader035.vdocuments.site/reader035/viewer/2022072015/56649ed25503460f94be1d07/html5/thumbnails/5.jpg)
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)
![Page 6: INDUSTRIAL PROJECT (234313) ULTRASOUND SCANNER EMBEDDED ONLINE PROFILER Students: Liat Peterfreund, Hagay Myr Supervisor: Mr. Tomer Gal (GE Healthcare)](https://reader035.vdocuments.site/reader035/viewer/2022072015/56649ed25503460f94be1d07/html5/thumbnails/6.jpg)
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
![Page 7: INDUSTRIAL PROJECT (234313) ULTRASOUND SCANNER EMBEDDED ONLINE PROFILER Students: Liat Peterfreund, Hagay Myr Supervisor: Mr. Tomer Gal (GE Healthcare)](https://reader035.vdocuments.site/reader035/viewer/2022072015/56649ed25503460f94be1d07/html5/thumbnails/7.jpg)
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
![Page 8: INDUSTRIAL PROJECT (234313) ULTRASOUND SCANNER EMBEDDED ONLINE PROFILER Students: Liat Peterfreund, Hagay Myr Supervisor: Mr. Tomer Gal (GE Healthcare)](https://reader035.vdocuments.site/reader035/viewer/2022072015/56649ed25503460f94be1d07/html5/thumbnails/8.jpg)
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
![Page 9: INDUSTRIAL PROJECT (234313) ULTRASOUND SCANNER EMBEDDED ONLINE PROFILER Students: Liat Peterfreund, Hagay Myr Supervisor: Mr. Tomer Gal (GE Healthcare)](https://reader035.vdocuments.site/reader035/viewer/2022072015/56649ed25503460f94be1d07/html5/thumbnails/9.jpg)
Demonstration
Lets profile stuff…
![Page 10: INDUSTRIAL PROJECT (234313) ULTRASOUND SCANNER EMBEDDED ONLINE PROFILER Students: Liat Peterfreund, Hagay Myr Supervisor: Mr. Tomer Gal (GE Healthcare)](https://reader035.vdocuments.site/reader035/viewer/2022072015/56649ed25503460f94be1d07/html5/thumbnails/10.jpg)
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
![Page 11: INDUSTRIAL PROJECT (234313) ULTRASOUND SCANNER EMBEDDED ONLINE PROFILER Students: Liat Peterfreund, Hagay Myr Supervisor: Mr. Tomer Gal (GE Healthcare)](https://reader035.vdocuments.site/reader035/viewer/2022072015/56649ed25503460f94be1d07/html5/thumbnails/11.jpg)
The End
Thanks!