PerfFlowAspect

PerfFlowAspect is a tool to analyze cross-cutting performance concerns of composite scientific workflows.

Introduction

High performance computing (HPC) researchers are increasingly introducing and composing disparate workflow-management technologies and components to create scalable end-to-end science workflows. These technologies have generally been developed in isolation and often feature widely varying levels of performance, scalability and interoperability. All things considered, optimizing the end-to-end workflow amidst those considerations is a highly daunting task and thus it requires effective performance analysis techniques and tools.

Unfortunately, there still is a paucity of techniques and tools that can analyze the end-to-end performance of such a composite workflow. While a myriad of analysis tools exist for traditional HPC programming paradigms (e.g., a single application running at scale), there has been a lack of studies and tools to understand the effectiveness and efficiency of this emerging workflow paradigm.

Enter PerfFlowAspect. It is a simple Aspect-Oriented Programming-based (AOP) tool that can cast a cross-cutting performance-analysis concern or aspect across a heterogeneous set of components (e.g, combining Maestro and a custom workflow pipeline with Flux along with microservices running on on-premises Kubernetes machines) used to create a modern-day composite science workflow.

PerfFlowAspect will provide multi-language support, particularly for those most relevant in HPC workflows including Python. It is designed specifically to allow researchers to weave the performance aspect into critical points of execution across many workflow components without having to lose the modularity and uniformity as to how performance is measured and controlled.

PerfFlowAspect Project Resources

Online Documentation https://perfflowaspect.readthedocs.io/

Github Source Repo https://github.com/flux-framework/PerfFlowAspect.git

Issue Tracker https://github.com/flux-framework/PerfFlowAspect/issues

Contributors

  • Dong H. Ahn (NVIDIA)

  • Stephanie Brink

  • James Corbett

  • Stephen Herbein (NVIDIA)

  • Aliza Lisan (University of Oregon)

  • Daniel Milroy

  • Francesco Di Natale (NVIDIA)

  • Tapasya Patki

  • Jae-Seung Yeom

  • Hariharan Devarajan

PerfFlowAspect Documentation

Indices and tables