Benchmarking Bio-image Analysis Workflows on High Performance Computing and Edge Computing Platforms
Creators: name: Kulkarni, Somashekhar Hanumant
Publisher: name: Zenodo
Year: 2024
Subjects: bio-image analysis
deep learning
machine learning
workflows
benchmarking
high performance computing
edge computing
computer vision
image segmentation
image denoising
microscopy
containers
master thesis

description: The developments in microscopy have enabled biologists to acquire high-resolution multimodal images of biological entities. This high-quality data can be in the order of Gigabytes or Terabytes in size. Hence, it is becoming increasingly common to see microscopes coupled with Edge Computing (EC) systems that have high computing and data storage capabilities. On the other hand, the advancements in computing hardware have enabled substantial progress in Deep Learning techniques and increased their usage in scientific fields. Bioimage analysis is one such field where Deep learning models are used either exclusively or in conjunction with traditional methods to accomplish tasks such as denoising images, segmenting images, detecting biological entities, tracking biological entities, and image registration. Image analysis workflows are used to streamline and speed up image analysis tasks and also to make efficient use of the large amounts of available data and powerful techniques. The workflows are executed in reproducible environments such as Singularity containers or Conda environments. The question then arises as to how should one choose an optimal computing system for executing a bio-image analysis workflow.

This thesis aims to provide biologists recommendations, on choosing the optimal computing system for executing workflows, through quantitative metrics obtained by benchmarking workflows on different computing systems. Three distinct bio-image analysis workflows with different compute and memory footprints are benchmarked: Noise2Void prediction workflow, Noise2Void training workflow, and Segmentation workflow. The Segmentation workflow is further divided into two implementations: a GPU-accelerated workflow based on the pyclesperanto library and a CPU-accelerated workflow based on the napari-segmentblobs-and-things-with-membranes library. Different data sets with varying image sizes are used. The workflows, except for N2V training, are benchmarked for images of varying sizes and multiple images of the same size. The benchmarks are executed on a High-Performance Computing cluster (HPC) and an EC server. Timing and memory metrics are recorded for each of the benchmarked workflows. A general strategy is developed to decide the optimal computing system for a workflow based on the median and upper quartile cumulative timings on the HPC cluster and median cumulative timings on the EC server for processing multiple images of the same size. Based on the developed strategy, the HPC cluster is found to be the optimal system for executing all the benchmarked workflows beyond a varying threshold for the minimum image count in the image stack. The EC server is found to provide competitive performance for executing the workflows below the particular thresholds.