Projects

Project areas are listed below, with status and students.

Production Monitoring of High Performance Computing Applications

Long-running HPC applications currently offer little information to users, developers, and system administrators as to how they are progressing and how efficiently they are running. We are investigating ways to monitor production runs of HPC applications that are highly efficient and that provide meaningful information about application performance, progress, and system resource utilization. Results of these investigations are in the ProMon monitoring tool.

Student: Mohammed Al-Tahat (current MS, then PhD, HPC job quality)
Student: Strahinja Trekacov (current PhD, HPC job quality)
Student: John Ossorgin (MS, graduated, phase performance)
Student: Dr. Omar Aaziz (PhD, graduated, HPC app performance)
Student: Ujjwal Panthi (MS, graduated, YaViT HPC vis tool)
Student: Nasim Ghazanfari (MS, graduated, loop instrumentation)
Student: Dr. Hadi Sharifi (PhD, graduated, initial ProMon tool)

MS Project Idea: Grafana for Application Heartbeats: Create a Grafana dashboard for visualizing HPC application performance, based on application heartbeats.

MS Project Idea: SOS Performance Analysis: Analyze the performance of the SOS database by creating driver test apps, and compare to SQLite; include multi-thread, multi-process, and both C and Python interfaces.

MS Project Idea: Application Analysis in DSOS Framework: Redo our application analysis in the DSOS Python framework.

MS Project Idea: YaViT Extension: Continue the YaViT visualization framework.

MS Project Idea: GCov Phase Instrumentation: Use the gcov tool to do more accurate phase identification and instrumentation.

MS Project Idea: SimpleLDMS: Write a simple API-compatible LDMS sampler harness.

Compiler Support for Local Memory Store

LMStore is a novel scratchpad memory design, with initial research evaluation that shows its capability for improving program performance. This project will create compiler support for LMStore and will evaluate real program performance over a more detailed simulation model

Student: Essa Imhmed (current IDOC)

(Completed, interested in more) Agile Software Development: Measurement and Training

Can agile software development methods be specified and measured in a way that does not destroy their “agility”? Can useful agility metrics be defined and measured? Can novel training tools be used to affect student agile team performance? These are some of the questions we are beginning to investigate in our agile methods research.

Student: Dr. Olaa Alsaedi (PhD, graduated)

Student: Juwaria Adil (MS, graduated)

(Completed) TEAMS: The Extensible Aspect-oriented Monitoring System

We are using AOP to create a high-level abstraction for creating efficient runtime monitoring instrumentation. This project entails extending AOP ideas and implementations to support more detailed advice weaving and advice weaving over non-code dimensions (e.g., for sampling).

Student: Samira Pakravan (MS, graduated)
Student: Prathyusha Mandadapu (MS, graduated)
Student: Dr. Gholamali Rahnavard (PhD, graduated)
Student: Dr. Amjad Nusayr (PhD, graduated)

(Completed) Understanding and Improving Hardware Performance on Graph Algorithms

Large parallel graph computations are becoming a major class of HPC computing efforts, yet it is known that such algorithms do not utilize standard hardware architectures very effectively. We are studying the low-level behavior of parallel graph algorithms in order to understand the hardware bottlenecks and improve both the hardware and the algorithms.

Student: Mustafa Elfituri (IDOC, graduated)

(Completed) Monitoring and Analysis of Wireless Sensor Software

Wireless sensor software, as with other embedded software, is hard to debug, analyse, and understand. We have created some runtime monitoring mechanisms for wireless software on the TinyOS platform, and are currently working on static analyses of sensor software for understanding real-time behavior limits.

Student: Dr. Mustafa Hammad (PhD, graduated)