PhotonLibOS
PhotonLibOS copied to clipboard
question: how to use multi-core when writing applications with photonlibos
Looks like photonlibos can only use one CPU core. If I want to write a service running on a multi-core server, how can I use all of the cores?
Can you give an example?
@cllh @jiangdongzi
Photon v0.2.0 has released.
Now we have a more elegant way to enable muti-vcpu scheduling. Please see the echo server test example.
./net-perf -vcpu_num 8
awesome, looking forwards to the full automatic coroutine scheduling enhancement like golang.
when will this feature be available?
Note this is not the ultimate version of multi-core support, the full automatic coroutine scheduling like Golang did (also called task stealing) Does this mean at current time, one certain coroutine can be only scheduled by one certain thread?
thread_migrate allows you to migrate one coroutine from one vcpu to another. (vcpu = OS thread)
Besides, you can use thread/workerpool.h. It's also a multi-thread implementation.
I can achieve 2.4M QPS by running this modified example, with the CPU usage of 800%.
awesome, looking forwards to the full automatic coroutine scheduling enhancement like golang.
when will this feature be available?
The development of work-stealing has already started, and might be finished by this autumn, but there's no hard deadline.
awesome, looking forwards to the full automatic coroutine scheduling enhancement like golang. when will this feature be available?
The development of work-stealing has already started, and might be finished by this autumn, but there's no hard deadline.
Well, I want to know when will you release detailed document?
awesome, looking forwards to the full automatic coroutine scheduling enhancement like golang. when will this feature be available?
The development of work-stealing has already started, and might be finished by this autumn, but there's no hard deadline.
Well, I want to know when will you release detailed document?
Currently we are focused on completing the feature set.
Please read the header files (and possibly some cpp files) for reference, for now.
awesome, looking forwards to the full automatic coroutine scheduling enhancement like golang. when will this feature be available?
The development of work-stealing has already started, and might be finished by this autumn, but there's no hard deadline.
Well, I want to know when will you release detailed document?
And we'll write detailed document later, when major features are implemented and their interfaces get stable.