mirror of
https://github.com/kvcache-ai/Mooncake.git
synced 2026-11-05 01:17:55 +00:00
[GH-ISSUE #277] Run vLLM + DeepSeekR1 + Mooncakestore failed in single node 8 gpu, show local access violation work queue error for context mlx5_0 #109
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#109
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 @maobaolong on GitHub (Apr 19, 2025).
Original GitHub issue: https://github.com/kvcache-ai/Mooncake/issues/277
Following is my config and log。 there are 2TB memory in my node, I specific 100G memory for each vllmWorker , and there are 8 in all, it can be verified by top command.
This is the log of mooncake master, there are still put get related logs,but allocate failed log appeared eventually.
@maobaolong commented on GitHub (Apr 19, 2025):
@ShangmingCai 感谢之前的帮助,我们现在 tcp 模式可以运行了,接下来在使用 rdma 模式时,遇到了这个错误,请帮忙看看是什么原因,多谢
@ShangmingCai commented on GitHub (Apr 19, 2025):
@xiaguan Can you help with this?
@ShangmingCai commented on GitHub (Apr 19, 2025):
BTW, which whl version are you using? We have released the 0.3.0b5 today, can you try it to see if this problem persist?
@xiaguan commented on GitHub (Apr 19, 2025):
Do you enable master's gc?
Error occurs in get or put? Thx
@maobaolong commented on GitHub (Apr 19, 2025):
@ShangmingCai Will try it soon, thanks for your help.
@maobaolong commented on GitHub (Apr 19, 2025):
@xiaguan I run mooncake master by
/usr/local/lib/python3.12/dist-packages/mooncake/mooncake_master -max_threads 64 -v=1And it displayed like following, so i guess it means gc disabled by default?
@xiaguan commented on GitHub (Apr 19, 2025):
You could try to turn it on
@maobaolong commented on GitHub (Apr 19, 2025):
@xiaguan Oh, thanks, I'm trying the newest mooncake pip package and re-run my test by enable the gc of master. Thanks for your tips.
But is the
worker_pool.cpp:368] Worker: Received context async event local access violation work queue error for context mlx5_0caused by disabled gc ?@xiaguan commented on GitHub (Apr 19, 2025):
no it solves the allocation error
The work queue error seems strange, will figure it out later
@maobaolong commented on GitHub (Apr 19, 2025):
This is a new try. I use the newest version of mooncake
0.3.0b5for mooncake-master and vllm. and enabled the gc.There are no
allocation failedin the master.log, but the above error still invllm.log. And the test result shown that the performance is poorer thantcpmode, it is strange, maybe related to the above error.And is there any fallback logic in mooncake? I guess maybe the communicate mode have fallbacked to tcp ?
Checked by
and
@maobaolong commented on GitHub (Apr 19, 2025):
@deepindeed2022 is It looks similar with your issue?
https://github.com/kvcache-ai/Mooncake/issues/166#issuecomment-2753150553
@maobaolong commented on GitHub (Apr 19, 2025):
@xiaguan I found lots of
allocator.cpp:89] deallocation_succeededin my master.log, it seems a gc threads works eagerly rather than on demand? This is not suitable for my workload, I want to do a full cache hit test, the first time cold run, second time, run on full hit mode.@xiaguan commented on GitHub (Apr 19, 2025):
Yes, if garbage collection is enabled, the object will be deleted after get1s. The previous allocation failure may have been caused by insufficient available space in the cluster, along with a high fragmentation rate of Facebook's allocator. We will work on improving this issue in the future.
@maobaolong commented on GitHub (Apr 19, 2025):
@xiaguan Yeah, I just find the source relevant to.
But why I run tcp mode can pass all the tests and didn't encountered this allocation failed issue? It disable gc too.
@xiaguan commented on GitHub (Apr 19, 2025):
The current default allocation strategy is random.
@xiaguan commented on GitHub (Apr 19, 2025):
The bug appears to be related to the recently updated TransferEngine, and we will investigate and resolve it as soon as possible.
@maobaolong commented on GitHub (Apr 19, 2025):
This is wired for the rdma case, after all my
10requests test finished, there are63264tokens in all, and I specific 100GiB for each vllmWorker, and for DeepSeekR1, there are 8 tp in all, it seems there might be something wrong for it, if not, the kvcache of63264tokens cannot waste100GiBmemory.If you want something more context, I'd like to help to reproduce this issue.
And I would be help me a lot, if there are some PR submit, and I'd like to take a trial. Thanks for the help on this issue.
For the gc, it would be nice to removed key by evictor or a high water mark, there might be some better idea than gc after 1s.
@xiaguan
@xiaguan commented on GitHub (Apr 19, 2025):
Could you please provide me with the complete master log?
@ShangmingCai commented on GitHub (Apr 19, 2025):
@alogfans Could this be related to the device fault-tolerant issue? Please check the log when you are available. I find this log suspicious :"remote invalid request error".
@maobaolong commented on GitHub (Apr 20, 2025):
@xiaguan Thanks for follow-up this issue. I use Qwen2.5-1.5B-Instruct model with
tp=4and mlx_1 as rdma device to reproduce this issue.mlx5_1can work.master.log
@stmatengss commented on GitHub (Apr 20, 2025):
This might relate to the issue identified by @eryugey, where memory occupation grows significantly during long-time running. We suspect the Slice Cache introduced in the recent TransferEngine update is the primary cause.
@maobaolong commented on GitHub (Apr 20, 2025):
@stmatengss Thanks for your information, but i only run vllm + mooncake server for my test purpose only, and I can make sure that it do not live longer than 3 minutes.
And as compare purpose, I ran
infinistoreas well, it can pass my test for the same model and other vllm variables.@alogfans commented on GitHub (Apr 21, 2025):
@stmatengss The "allocation failed" error does not related to the Slice Cache.
@maobaolong Both "Remote Invalid Request Error" and "local access violation work queue error" seems bugs in the user code. Can you provide detailed log by adding MC_LOG_LEVEL environment variable as "TRACE"?
@maobaolong commented on GitHub (Apr 21, 2025):
@alogfans I will run again soon.
@xiaguan commented on GitHub (Apr 23, 2025):
@maobaolong This issue has been resolved in our private conversation. May I go ahead and close it?
@maobaolong commented on GitHub (Apr 23, 2025):
@xiaguan @alogfans @stmatengss @ShangmingCai Thanks for your kindly help on this issue, eventually, we found this is not a urgent issue and can only reproduce on our private version of vLLM and our model, so I'd like to close this issue.
Thank all for your help again!
@qyzhaoxun commented on GitHub (May 29, 2025):
@xiaguan @maobaolong 你好,使用vllm+mooncake-transferengine跑 pd 分离也遇到了下面的错误,"Remote Invalid Request Error" and "local access violation work queue error" 。可以问一下这个报错是怎么解决的吗?
使用的vllm版本是vllm/vllm-openai:v0.8.5.post1。input token在2000以下没问题,但是到3000+的时候就复线了