Abstract
Pathology foundation models (FMs) are becoming shared
feature extractors for whole-slide images (WSIs), as pathology artificial
intelligence (AI) expands across cancer types, subtypes, grading, and
biomarkers. Under fixed budgets for graphics processing units (GPUs),
current deployments bind each workflow to a private, GPU-resident FM
copy. This private binding induces redundancy, resource fragmentation,
and limited scalability. We present PathPool, a decoupled, memorybounded,
pooled serving architecture that lets multiple pathology workflows
share one homogeneous FM worker pool. PathPool separates tissue
detection, patch extraction, and FM inference, connects them through
an M-to-N producer-consumer topology, and streams coordinate-indexed
batches through bounded SPSC shared-memory rings. On 120 public
TCGA WSIs from six cohorts, PathPool reproduces a reference pipeline’s
embeddings exactly for two foundation models and keeps in-flight memory
bounded, independent of slide size. With Virchow2 it reaches 94%
of ideal throughput on four GPUs. Under skewed concurrent demand,
pooling cuts idle-GPU fraction from 0.58 to 0.09 and shortens makespan
by 2.15× over static per-workflow partitioning. PathPool changes how
WSI embeddings are served, not what downstream models receive.
Links to Paper and Supplementary Materials
Main Paper (Open Access Version): https://papers.miccai.org/miccai-2026-sat/paper/COMPAYL_079.pdf
SharedIt Link: Not yet available
SpringerLink (DOI): Not yet available
Supplementary Material: https://papers.miccai.org/miccai-2026-sat/supp/COMPAYL_079_supp.pdf
Link to Open Review
BibTex
@InProceedings{LiXin_PathPool_MICCAISAT2026,
author = { Li, Xinwei AND Zeng, Siqi AND Zhu, Lianghui AND He, Yonghong},
title = { { PathPool: Decoupled and Pooled Feature Serving for Pathology Foundation Models } },
booktitle = {Medical Image Computing and Computer Assisted Intervention -- MICCAI 2026 Workshops and Challenges},
year = {2026},
publisher = {Springer Nature Switzerland},
volume = {LNCS 17251},
month = {pending},
page = {pending}
}
