phuslu / lru

High performance LRU cache
MIT License
205 stars 8 forks source link

tested with 192 cores, performance is not very good, suggestion on how to tweak for 192 or 448 cores server #13

Open ouvaa opened 7 months ago

ouvaa commented 7 months ago

wanted to go extreme, how to make 192 cores faster? same pastebin info on server, doesnt really scale that well. can suggest how to make it multicore shard better?

phuslu commented 7 months ago

an issue worth read first https://github.com/golang/go/issues/65064

maybe your bottleneck is on

  1. golang netpoll (as above issue)
  2. golang numa awareness/support (?)

anyway, although sharding processing can resolve this issue but it brings complexity and latency, it still It's a last resort.

ouvaa commented 7 months ago

@phuslu cant believe u found that out and yes i just read it. it's very interesting. it's actually on gnet using the epoll. everything mentioned by them is valid

i tried thinking in numa actually but found extremely little support. i thought maybe your lru can implement the numa instead

phuslu commented 7 months ago

i thought maybe your lru can implement the numa instead

I doubt it because it subject to go scheduler