-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
three-tier-multithreaded-architecture
a multithreaded architecture for servers that should be scalable
I don’t have your answers, but the runtime source has some pointers that would likely get you the answer you seek: https://github.com/golang/go/blob/master/src/runtime/HACKING...
It sounds like blocking calls switch to a system stack and return the Go stack to the executor pool, but I don’t have source links to back up that claim.
Thanks for this article.
I want to combine the benefits of kernel threads with coroutines or goroutines/green threads/lightweight threads. (If anybody knows anything specifically about fibers, I'd appreciate that because I'm not familiar with them.)
I have a lightweight thread scheduler https://github.com/samsquire/preemptible-thread which is a 1:M:N scheduler (1 scheduler thread, M kernel threads, N lightweight threads) with the lightweight threads being multiplexed on the kernel threads.
I am working on a multithreaded architecture which I all 3 tier multithreaded architecture. It combines request parallelism with IO and CPU parallelism and intra request parallelism.
We split kernel threads into three groups: app threads, which run lightweight threads, IO threads (liburing/epoll) and traditional CPU threadpool with work stealing.
* The IO threads have buffers that other threads can write to to queue up data for sockets.
* Lockfree Ringbuffers are used by CPU threads and lightweight threads to communicate.
I invite feedback and comments: https://github.com/samsquire/three-tier-multithreaded-archit...
* Lockfree Ringbuffers are used by CPU threads and lightweight threads to communicate.
I invite feedback and comments: https://github.com/samsquire/three-tier-multithreaded-archit...