Skip to content

Commit 8252a0d

Browse files
authored
chore(server): add thread-per-core shared-nothing to readme (#2335)
1 parent 46313df commit 8252a0d

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

README.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ Iggy provides **exceptionally high throughput and performance** while utilizing
3232

3333
This is **not yet another extension** running on top of existing infrastructure, such as Kafka or SQL database.
3434

35-
Iggy is a persistent message streaming log **built from the ground up** using low-level I/O for speed and efficiency.
35+
Iggy is a persistent message streaming log **built from the ground up** using low-level I/O with **thread-per-core shared nothing architecture**, `io_uring` and `compio` for maximum speed and efficiency.
3636

3737
The name is an abbreviation for the Italian Greyhound - small yet extremely fast dogs, the best in their class. See the lovely [Fabio & Cookie](https://www.instagram.com/fabio.and.cookie/) ❤️
3838

@@ -42,12 +42,13 @@ The name is an abbreviation for the Italian Greyhound - small yet extremely fast
4242

4343
- **Highly performant**, persistent append-only log for message streaming
4444
- **Very high throughput** for both writes and reads
45-
- **Low latency and predictable resource usage** thanks to the Rust compiled language (no GC)
45+
- **Low latency and predictable resource usage** thanks to the Rust compiled language (no GC) and `io_uring`.
4646
- **User authentication and authorization** with granular permissions and Personal Access Tokens (PAT)
4747
- Support for multiple streams, topics and partitions
4848
- Support for **multiple transport protocols** (QUIC, TCP, HTTP)
4949
- Fully operational RESTful API which can be optionally enabled
5050
- Available client SDK in multiple languages
51+
- **Thread per core shared nothing design** together with `io_uring` guarantee the best possible performance on modern `Linux` systems.
5152
- **Works directly with binary data**, avoiding enforced schema and serialization/deserialization overhead
5253
- Custom **zero-copy (de)serialization**, which greatly improves the performance and reduces memory usage.
5354
- Configurable server features (e.g. caching, segment size, data flush interval, transport protocols etc.)
@@ -98,7 +99,6 @@ We do also publish edge/dev/nightly releases (e.g. `0.5.0-edge.1` or `apache/igg
9899

99100
## Roadmap
100101

101-
- **Shared-nothing** design and **io_uring** support (PoC on experimental branch, WiP on the main branch)
102102
- **Clustering** & data replication based on **[VSR](http://pmg.csail.mit.edu/papers/vr-revisited.pdf)** (on sandbox project using Raft, will be implemented after shared-nothing design is completed)
103103

104104
---
@@ -451,9 +451,7 @@ These benchmarks would start the server with the default configuration, create a
451451

452452
For example, to run the benchmark for the already started server, provide the additional argument `--server-address 0.0.0.0:8090`.
453453

454-
Depending on the hardware, transport protocol (`quic`, `tcp` or `http`) and payload size (`messages-per-batch * message-size`) you might expect **over 5000 MB/s (e.g. 5M of 1 KB msg/sec) throughput for writes and reads**.
455-
456-
**Iggy is already capable of processing millions of messages per second at the microseconds range for p99+ latency**, and with the upcoming optimizations related to the io_uring support along with the shared-nothing design, it will only get better.
454+
**Iggy is already capable of processing millions of messages per second at the microseconds range for p99+ latency** Depending on the hardware, transport protocol (`quic`, `tcp` or `http`) and payload size (`messages-per-batch * message-size`) you might expect **over 5000 MB/s (e.g. 5M of 1 KB msg/sec) throughput for writes and reads**.
457455

458456
Please refer to the mentioned [benchmarking platform](https://benchmarks.iggy.apache.org) where you can browse the results achieved on the different hardware configurations, using the different Iggy server versions.
459457

0 commit comments

Comments
 (0)