mirror of
https://github.com/kvcache-ai/Mooncake.git
synced 2026-11-05 01:17:55 +00:00
[GH-ISSUE #8] prefill is ok, but decode stucked #8
Labels
No labels
ascend
auto-closed
bug
bug
CI/Build
Common
documentation
enhancement
feature request
good first issue
help wanted
high priority
MetaX
nightly-failure
pull-request
PyTorch Backend
question
RFC
Roadmap
stale
Store
Tests
Transfer Engine
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
kvcache-ai/Mooncake#8
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @artetaout on GitHub (Nov 29, 2024).
Original GitHub issue: https://github.com/kvcache-ai/Mooncake/issues/8
the prefill already send KV

but the decoder, stucked in drop_select

did i miss something?
@alogfans commented on GitHub (Nov 30, 2024):
You can try to check the connectivity between two nodes (different config files in TCP & RDMA mode). The "KV send DONE" message just implies that the KVCache entry has been submitted, rather than delivered by remote.
@artetaout commented on GitHub (Dec 1, 2024):
thanks for reply, but i run on single one node, so does this mean
the prefiller with etcd works well
and something wrong with the decoder and etcd ? and how to check them?
possibly it is etcd that does not run well?
i run etcd with the command in doc and test them with etcd client api successfully
@alogfans commented on GitHub (Dec 2, 2024):
The problem may be caused by incorrect confs (e.g., the
mooncake.jsonfile, env variables). You can try to recheck:mooncake.jsonfile,prefill_urlanddecode_urlshould match the env variablesVLLM_HOST_IP="192.168.0.137" VLLM_PORT="51000"in both prefill & decode side. Use different ports if you perform them in one machine.protocolshould be set astcpmooncake.jsonfile should be usually exact (don't need to swap prefill_urlanddecode_url` fields)If the above steps cannot solve your problem, you can try to run our Transfer Engine Bench with
--protocol=tcp.@artetaout commented on GitHub (Dec 2, 2024):
I run on one single node, can you help me correct it ?
the IP and port settings must be wrong in somewhere, here's command I used
@artetaout commented on GitHub (Dec 2, 2024):
and the TransferEngineBench works well,
@pansicheng commented on GitHub (Dec 2, 2024):
I encountered a similar issue and found that the code (
github.com/kvcache-ai/vllm@9c319eee04/vllm/distributed/kv_transfer/kv_pipe/mooncake_distributed_pipe.py (L86)) was causing the sender and receiver of the prefill and decod to not connect properly on one single node. I modified it as follows:Additionally, I configured the mooncake.json as follows (prefill_port = decode_port + 5):
The above changes resolved the issue
@ShangmingCai commented on GitHub (Dec 2, 2024):
Thanks for the digging. This code was originally used to run the inter-node disaggregated prefill demo by default, so we did not consider the port occupation problem of multiple instances on the same node, which will be solved in the future. FYI, if you want to run a disaggregated prefill demo on the same node, you can try https://github.com/vllm-project/vllm/pull/10502, which has already been merged into the main branch of vLLM.
@liweiqing1997 commented on GitHub (Dec 3, 2024):
Hello, could you help me check the correctness of the configuration? When I run the following configuration on a single machine, the decode process gets blocked at this step: Initializing an LLM engine.
{
"prefill_url": "127.0.0.1:31287",
"decode_url": "127.0.0.1:31282",
"metadata_server": "127.0.0.19:2379",
"protocol": "tcp",
"device_name": ""
}
Could you please tell me whether the VLLM_PORT settings for prefill and decode in a single machine need to be different?
@artetaout commented on GitHub (Dec 3, 2024):
the VLLM_PORT and VLLM_HOST_IP needs to be same, because they're used to init process group, otherwise you'll get stucked. And please add more debug log as I listed below
@liweiqing1997 commented on GitHub (Dec 4, 2024):
Thank you, the service can be started now, but I encountered another issue: after inferring N requests(input_len=512 output_len=128 qps= 0.5), a bug occurred during the decode node,prefill node is ok。
My startup parameters are set as follows:
My code is sourced from a library, and the link is:https://github.com/kvcache-ai/vllm/tree/mooncake-integration
Running on two NVIDIA A100 GPUs within a single machine.
{
"prefill_url": "127.0.0.1:31287",
"decode_url": "127.0.0.1:31282",
"metadata_server": "127.0.0.19:2379",
"protocol": "tcp",
"device_name": ""
}
@ShangmingCai commented on GitHub (Dec 4, 2024):
Hello, thank you for trying this PR. We have released a nightly version that is based on the main branch of vLLM, which also addresses the ports conflict and supports tp. You can have it a try to see if this problem still occurs.
Also, I have noticed that you use a strange prompt:
Maybe there exists some bytes encoding problem in your proxy server, which triggers a bug fail of pickle.
@liweiqing1997 commented on GitHub (Dec 4, 2024):
Thank you for your reply; you are right.
@artetaout commented on GitHub (Dec 4, 2024):
hi, do you have plan to support XpYd based on current version? As we can see, the vLLM's PR's roadmap is including it
@ShangmingCai commented on GitHub (Dec 4, 2024):
Yes, we are working on XpYd and the scheduler in an inner version. Also, we have found some teams working on this too. I think the vLLM community will welcome various XpYd implementations, which will help the community find the most efficient and practical way to support this.
@artetaout commented on GitHub (Dec 5, 2024):
So, when will you release the XpYd ?
@artetaout commented on GitHub (Dec 5, 2024):
So, when will you release the XpYd version ?
@ShangmingCai commented on GitHub (Dec 5, 2024):
This feature is still under development and testing, and there is no clear release time yet. If you are interested, you can keep up and follow the progress of this project and the vllm community.
@ShangmingCai commented on GitHub (Dec 16, 2024):
Since v0.2 has been released, which addresses the port conflict issues, I think we can close this issue for now.
Feel free to reopen it or raise a new issue if needed.