Kubeflow Pipelines Execution and Storage Behavior
Kubeflow Pipelines 2.16.1 installed by Alauda kfp-operator v26.3.1 or the
Data Science Pipelines Operator (DSPO) v2.15.2 supports task caching,
dsl.ParallelFor, typed KFP artifacts, and S3-compatible artifact persistence
on amd64 and arm64 clusters. These mechanisms are KFP features; the operator
configures the API server, workflow controller, cache server, and artifact
store that implement them.
TOC
Feature summaryCache a task safelyRun tasks withParallelForPersist and pass a typed artifactRun the verification pipelineDeploy on an arm64 clusterkfp-operatorData Science Pipelines Operator (DSPO)Platform compatibility and database backendsFeature summary
The verification pipeline linked below was run with DSPO on an x86 cluster. It
produced one Dataset, read it from three ParallelFor tasks, and then
submitted the identical pipeline again. All three consumers succeeded, and
four executor tasks in the second run were reported as SKIPPED because their
cached results were reused. The dataset object remained present in S3 after
the workflow pods completed.
The managed AutoGluon pipelines intentionally disable caching for their main tasks. Their source object key can refer to mutable data, and each run must publish fresh progress and model artifacts. Caching remains available to your own pipelines.
Cache a task safely
Caching is enabled for a run by default. It can also be set when submitting a compiled package:
Disable caching for a task with external side effects or mutable inputs:
KFP computes a cache key from the component and its declared inputs. It cannot detect that the contents behind an unchanged S3 object key, URL, database query, or image tag changed. Pass an immutable object version, digest, or explicit version parameter when fresh external content must invalidate the cache.
Run tasks with ParallelFor
Use dsl.ParallelFor when the same component can process independent items:
The controller creates one evaluate task for each item. Set parallelism
below the item count when namespace quota, node capacity, or an external API
cannot sustain every iteration at once.
Persist and pass a typed artifact
Write files to the path supplied by the output artifact. Do not invent a local path and expect it to survive the producer pod:
Passing producer.outputs["dataset"] to a consumer establishes the dependency.
The KFP launcher uploads the producer's file to the artifact store and
materializes it at dataset.path in the consumer pod.
This is different from a KFP workspace PVC:
Run the verification pipeline
Download
verify-kfp-features.py
and run it from a Workbench or another environment that can reach the KFP API:
The script compiles one producer and three parallel consumers, submits it twice with the same parameter, and fails unless all of the following are true:
- the first run succeeds;
- exactly three
verify-datasettasks succeed; - every consumer reads the producer's Dataset content; and
- the second run reports cached tasks as
SKIPPED.
The final output contains one PASS line for each mechanism. An administrator
can independently confirm persistence by listing the run prefix in the KFP
artifact bucket after the pods finish.
Deploy on an arm64 cluster
The Alauda KFP 2.16.1 releases package the pipeline service and runtime images
for both linux/amd64 and linux/arm64. The optional
kfp-metadata-writer image remains amd64-only. DSPO does not deploy this
component; Alauda kfp-operator must disable it on arm64.
kfp-operator
With Alauda kfp-operator v26.3.1, install the operator normally from
OperatorHub and set the optional metadata writer to false in the
KubeflowPipelines custom resource before reconciliation:
Keep the remaining spec.global.images values from the release sample. The
support_arm image field only controls packaging/image relocation; it does not
disable the Deployment. Verify that the writer is absent after reconciliation:
Data Science Pipelines Operator (DSPO)
The V2 reconciler in DSPO v2.15.2 does not deploy kfp-metadata-writer. No
arm64 override is required. Create the DSPA with the normal V2 settings and do
not add an MLMD writer field:
Verify the namespace contains MLMD gRPC/Envoy resources but no
metadata-writer Deployment. DSPO and kfp-operator are mutually exclusive;
choose one installation model per cluster.
Platform compatibility and database backends
The following results apply to the Alauda builds aligned with KFP 2.16.1:
All required runtime images in these releases have amd64 and arm64 manifests,
except kfp-metadata-writer. Disabling that component is required only for an
arm64 Alauda kfp-operator installation; it is not part of a DSPO deployment.
Both operators currently expose only MySQL connection settings. DSPO performs
its external database health check with the MySQL driver and renders
DB_DRIVER_NAME=mysql. The kfp-operator chart renders dbType=mysql,
DBDriverName=mysql, and DBCONFIG_MYSQLCONFIG_*. Pointing either operator at
a PostgreSQL endpoint does not switch its driver and does not produce a usable
KFP installation. Use MySQL until a PostgreSQL driver selection and the
upstream PostgreSQL deployment patches are wired into the operator interface.