Skip to content

Enable threadpool support in the vllm_performance actuator#1000

Draft
mgazz wants to merge 7 commits into
IBM:mainfrom
mgazz:threadpool
Draft

Enable threadpool support in the vllm_performance actuator#1000
mgazz wants to merge 7 commits into
IBM:mainfrom
mgazz:threadpool

Conversation

@mgazz
Copy link
Copy Markdown
Member

@mgazz mgazz commented Jun 4, 2026

No description provided.

mgazz added 7 commits June 3, 2026 11:08
Signed-off-by: Michele Gazzetti <michele.gazzetti1@ibm.com>
Signed-off-by: Michele Gazzetti <michele.gazzetti1@ibm.com>
Signed-off-by: Michele Gazzetti <michele.gazzetti1@ibm.com>
…yments

allow PropertyValue to store dict values and make grouped sampling hash dict/list values safely in _build_point_group_values()

add threadpool and renderer_num_workers support through the vLLM actuator deployment pipeline and geospatial test YAMLs in experiment_executor.py, build_components.py, and related config files

include tests and implementation notes in test_experiment_executor.py and ado-threadpool-threadpool-property-implementation.md

Signed-off-by: Michele Gazzetti <michele.gazzetti1@ibm.com>
Replace dict-based image property representation with list-based format
for better compatibility with PropertyValue schema.

Changes:
- Remove dict support from PropertyValue schema (property_value.py)
- Update vLLM actuator to use list format [image_url, vllm_version]
- Migrate experiment YAML files to list-based image values
- Update all related tests to reflect list-based approach
- Remove obsolete dict-based group sampler tests

The new format uses a simple list where:
- First element: image URL string
- Second element (optional): vLLM version string

This simplifies the schema and maintains backward compatibility
with string-only image values.
- Add composite cache key combining environment and benchmark params
- Move cache to EnvironmentManager actor for persistence across batches
- Ensure cache hits only occur for identical env + benchmark config
- Add comprehensive tests for cache key generation
- Fixes issue where measurements were incorrectly reused

Signed-off-by: Michele Gazzetti <michele.gazzetti1@ibm.com>
- Create VLLMVersionChecker and CacheKeyBuilder utility classes
- Add CachedMeasurement dataclass for structured cache storage
- Refactor make_hashable to use pattern matching
- Add pytest fixtures and parametrize tests
- Remove excessive comments and simplify docstrings
- All 49 tests passing

Signed-off-by: Michele Gazzetti <michele.gazzetti1@ibm.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant