Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
OpenDAS
dynamo
Commits
f67dc38b
Unverified
Commit
f67dc38b
authored
May 29, 2025
by
Alec
Committed by
GitHub
May 29, 2025
Browse files
fix: Renamed event publisher classes and configuration (#1273)
parent
d3a7587a
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
27 additions
and
26 deletions
+27
-26
launch/dynamo-run/src/subprocess/vllm_v1_inc.py
launch/dynamo-run/src/subprocess/vllm_v1_inc.py
+6
-7
lib/bindings/python/rust/lib.rs
lib/bindings/python/rust/lib.rs
+2
-2
lib/bindings/python/rust/llm/kv.rs
lib/bindings/python/rust/llm/kv.rs
+7
-7
lib/bindings/python/src/dynamo/_core.pyi
lib/bindings/python/src/dynamo/_core.pyi
+5
-5
lib/bindings/python/src/dynamo/llm/__init__.py
lib/bindings/python/src/dynamo/llm/__init__.py
+2
-2
lib/llm/src/kv_router/protocols.rs
lib/llm/src/kv_router/protocols.rs
+3
-1
lib/llm/src/kv_router/publisher.rs
lib/llm/src/kv_router/publisher.rs
+2
-2
No files found.
launch/dynamo-run/src/subprocess/vllm_v1_inc.py
View file @
f67dc38b
...
...
@@ -5,11 +5,10 @@
# Can also be used standalone: `python3 vllm_inc.py` - lots of optional cmd line params
# Setup checklist:
# - We are in a virtualenv with vllm installed. Must be newer than v0.9.0 (currently pre-release)
# 1f079540db5f1080a2f61a730da50d3009934c5a - this commit is working for me
# - We are in a virtualenv with vllm installed. V1 is compatible with v0.9.0
# Steps:
# git clone https://github.com/vllm-project/vllm.git
# cd vllm && git checkout
1f079540db5f1080a2f61a730da50d3009934c5a
# cd vllm && git checkout
v0.9.0
# uv pip uninstall ai-dynamo-vllm
# VLLM_USE_PRECOMPILED=1 uv pip install --editable .
...
...
@@ -34,10 +33,10 @@ from vllm.v1.metrics.loggers import StatLoggerBase
from
vllm.v1.metrics.stats
import
IterationStats
,
SchedulerStats
from
dynamo.llm
import
(
KvEventPublisherFromZmq
,
KvEventPublisherFromZmqConfig
,
KvMetricsPublisher
,
ModelType
,
ZmqKvEventPublisher
,
ZmqKvEventPublisherConfig
,
register_llm
,
)
from
dynamo.runtime
import
Component
,
DistributedRuntime
,
dynamo_worker
...
...
@@ -248,11 +247,11 @@ async def init(runtime: DistributedRuntime, config: Config):
logger
.
info
(
"VllmWorker has been initialized"
)
zmq_config
=
KvEventPublisher
FromZmq
Config
(
zmq_config
=
Zmq
KvEventPublisherConfig
(
worker_id
=
endpoint
.
lease_id
(),
kv_block_size
=
engine_args
.
block_size
)
_
=
KvEventPublisher
FromZmq
(
component
=
component
,
config
=
zmq_config
)
_
=
Zmq
KvEventPublisher
(
component
=
component
,
config
=
zmq_config
)
handler
=
RequestHandler
(
component
,
engine_client
,
default_sampling_params
)
...
...
lib/bindings/python/rust/lib.rs
View file @
f67dc38b
...
...
@@ -61,8 +61,8 @@ fn _core(m: &Bound<'_, PyModule>) -> PyResult<()> {
m
.add_class
::
<
llm
::
kv
::
AggregatedMetrics
>
()
?
;
m
.add_class
::
<
llm
::
kv
::
KvMetricsAggregator
>
()
?
;
m
.add_class
::
<
llm
::
kv
::
KvEventPublisher
>
()
?
;
m
.add_class
::
<
llm
::
kv
::
KvEventPublisher
FromZmq
>
()
?
;
m
.add_class
::
<
llm
::
kv
::
KvEventPublisher
FromZmq
Config
>
()
?
;
m
.add_class
::
<
llm
::
kv
::
Zmq
KvEventPublisher
>
()
?
;
m
.add_class
::
<
llm
::
kv
::
Zmq
KvEventPublisherConfig
>
()
?
;
m
.add_class
::
<
llm
::
kv
::
KvRecorder
>
()
?
;
m
.add_class
::
<
llm
::
nats
::
NatsQueue
>
()
?
;
m
.add_class
::
<
http
::
HttpService
>
()
?
;
...
...
lib/bindings/python/rust/llm/kv.rs
View file @
f67dc38b
...
...
@@ -128,7 +128,7 @@ impl KvMetricsPublisher {
#[pyclass]
#[derive(Clone)]
pub
struct
KvEventPublisher
FromZmq
Config
{
pub
struct
Zmq
KvEventPublisherConfig
{
#[pyo3(get,
set)]
pub
worker_id
:
i64
,
#[pyo3(get,
set)]
...
...
@@ -140,7 +140,7 @@ pub struct KvEventPublisherFromZmqConfig {
}
#[pymethods]
impl
KvEventPublisher
FromZmq
Config
{
impl
Zmq
KvEventPublisherConfig
{
#[new]
#[pyo3(signature
=
(
worker_id,
...
...
@@ -164,16 +164,16 @@ impl KvEventPublisherFromZmqConfig {
}
#[pyclass]
pub
(
crate
)
struct
KvEventPublisher
FromZmq
{
inner
:
llm_rs
::
kv_router
::
publisher
::
KvEventPublisher
FromZmq
,
pub
(
crate
)
struct
Zmq
KvEventPublisher
{
inner
:
llm_rs
::
kv_router
::
publisher
::
Zmq
KvEventPublisher
,
}
#[pymethods]
impl
KvEventPublisher
FromZmq
{
impl
Zmq
KvEventPublisher
{
#[new]
fn
new
(
component
:
Component
,
config
:
KvEventPublisher
FromZmq
Config
)
->
PyResult
<
Self
>
{
fn
new
(
component
:
Component
,
config
:
Zmq
KvEventPublisherConfig
)
->
PyResult
<
Self
>
{
let
mut
inner
=
llm_rs
::
kv_router
::
publisher
::
KvEventPublisher
FromZmq
::
new
(
config
.kv_block_size
);
llm_rs
::
kv_router
::
publisher
::
Zmq
KvEventPublisher
::
new
(
config
.kv_block_size
);
inner
.start_background_task
(
component
.inner
,
config
.worker_id
,
...
...
lib/bindings/python/src/dynamo/_core.pyi
View file @
f67dc38b
...
...
@@ -579,7 +579,7 @@ class KvEventPublisher:
"""
...
class KvEventPublisher
FromZmq
Config:
class
Zmq
KvEventPublisherConfig:
def __init__(
self,
worker_id: int,
...
...
@@ -588,7 +588,7 @@ class KvEventPublisherFromZmqConfig:
zmq_topic: str = ""
) -> None:
"""
Configuration for the KvEventPublisher
FromZmq
.
Configuration for the
Zmq
KvEventPublisher.
:param worker_id: The worker ID.
:param kv_block_size: The block size for the key-value store.
...
...
@@ -597,10 +597,10 @@ class KvEventPublisherFromZmqConfig:
"""
...
class KvEventPublisher
FromZmq
:
def __init__(self, component: Component, config: KvEventPublisher
FromZmq
Config) -> None:
class
Zmq
KvEventPublisher:
def __init__(self, component: Component, config:
Zmq
KvEventPublisherConfig) -> None:
"""
Initializes a new KvEventPublisher
FromZmq
instance.
Initializes a new
Zmq
KvEventPublisher instance.
:param component: The component to be used.
:param config: Configuration for the event publisher.
...
...
lib/bindings/python/src/dynamo/llm/__init__.py
View file @
f67dc38b
...
...
@@ -27,8 +27,6 @@ from dynamo._core import HttpAsyncEngine as HttpAsyncEngine
from
dynamo._core
import
HttpError
as
HttpError
from
dynamo._core
import
HttpService
as
HttpService
from
dynamo._core
import
KvEventPublisher
as
KvEventPublisher
from
dynamo._core
import
KvEventPublisherFromZmq
as
KvEventPublisherFromZmq
from
dynamo._core
import
KvEventPublisherFromZmqConfig
as
KvEventPublisherFromZmqConfig
from
dynamo._core
import
KvIndexer
as
KvIndexer
from
dynamo._core
import
KvMetricsAggregator
as
KvMetricsAggregator
from
dynamo._core
import
KvMetricsPublisher
as
KvMetricsPublisher
...
...
@@ -36,6 +34,8 @@ from dynamo._core import KvRecorder as KvRecorder
from
dynamo._core
import
KvRouter
as
KvRouter
from
dynamo._core
import
ModelType
as
ModelType
from
dynamo._core
import
OverlapScores
as
OverlapScores
from
dynamo._core
import
ZmqKvEventPublisher
as
ZmqKvEventPublisher
from
dynamo._core
import
ZmqKvEventPublisherConfig
as
ZmqKvEventPublisherConfig
from
dynamo._core
import
register_llm
as
register_llm
try
:
...
...
lib/llm/src/kv_router/protocols.rs
View file @
f67dc38b
...
...
@@ -41,7 +41,9 @@ pub struct WorkerSelectionResult {
#[derive(Debug,
Clone,
Serialize,
Deserialize,
Default)]
pub
struct
ForwardPassMetrics
{
pub
data_parallel_rank
:
Option
<
u32
>
,
// backwards compatible
// https://lmsys.org/blog/2024-12-04-sglang-v0-4/#data-parallelism-attention-for-deepseek-models
// Data parallel ranks are semi-independent, so we need to track metrics at the DP level
pub
data_parallel_rank
:
Option
<
u32
>
,
// Optional for backwards compatibility
pub
request_active_slots
:
u64
,
pub
request_total_slots
:
u64
,
pub
kv_active_blocks
:
u64
,
...
...
lib/llm/src/kv_router/publisher.rs
View file @
f67dc38b
...
...
@@ -92,7 +92,7 @@ fn start_publish_task(
// For more info on zmq: https://zeromq.org/
// This publisher reads those events and publishes them to NATS
// The indexer will get the events from NATS and put them in the global prefix tree.
pub
struct
KvEventPublisher
FromZmq
{
pub
struct
Zmq
KvEventPublisher
{
kv_block_size
:
usize
,
processor_handle
:
Option
<
tokio
::
task
::
JoinHandle
<
()
>>
,
zmq_handle
:
Option
<
tokio
::
task
::
JoinHandle
<
()
>>
,
...
...
@@ -100,7 +100,7 @@ pub struct KvEventPublisherFromZmq {
warning_count
:
Arc
<
AtomicU32
>
,
}
impl
KvEventPublisher
FromZmq
{
impl
Zmq
KvEventPublisher
{
pub
fn
new
(
kv_block_size
:
usize
)
->
Self
{
Self
{
kv_block_size
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment