Skip to content

Changed default read buffer size to 128KB#324

Merged
ozkoca merged 1 commit intoawslabs:physical-io-featurefrom
ozkoca:physical-io-feature-block-size
Jul 25, 2025
Merged

Changed default read buffer size to 128KB#324
ozkoca merged 1 commit intoawslabs:physical-io-featurefrom
ozkoca:physical-io-feature-block-size

Conversation

@ozkoca
Copy link
Collaborator

@ozkoca ozkoca commented Jul 25, 2025

Description of change

This PR changes default read buffer size to 128KB to have a better performance

Relevant issues

#286
#287
#288
#289
#294
#316
#320
#323

Does this contribution introduce any breaking changes to the existing APIs or behaviors?

No

Does this contribution introduce any new public APIs or behaviors?

No

How was the contribution tested?

Unit tests

Does this contribution need a changelog entry?

N/A


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and I agree to the terms of the Developer Certificate of Origin (DCO).

@ozkoca ozkoca merged commit 522fe41 into awslabs:physical-io-feature Jul 25, 2025
@ozkoca ozkoca mentioned this pull request Jul 25, 2025
1 task
@ozkoca ozkoca deleted the physical-io-feature-block-size branch July 25, 2025 10:56
ozkoca added a commit that referenced this pull request Jul 31, 2025
## Description of change
This PR implements a new PhysicalIO design with key improvements:

**Fixed Block Size:** Previously, block sizes varied based on request
ranges, requiring entire request ranges to complete before blocks became
available. The new design uses fixed-size blocks that become ready as
soon as individual blocks are filled, enabling faster data access and
better parallelization.

**Direct Block Writing:** Eliminates an extra memory copy by writing S3
data directly into Block storage instead of copying from intermediate
buffers, reducing memory overhead and CPU usage.

**Improved Concurrency:** Fixed-size blocks allow multiple blocks to be
processed independently, improving throughput for concurrent read
operations.

**Better Memory Management:** Predictable block sizes enable more
efficient memory allocation and cache management strategies.

**Enhanced Read Performance:** Blocks become available for reading as
soon as they're filled, rather than waiting for entire request ranges to
complete, reducing read latency.

#### Relevant issues
#286
#287
#288
#289
#294
#316
#320
#323
#324

#### Does this contribution introduce any breaking changes to the
existing APIs or behaviors?
No

#### Does this contribution introduce any new public APIs or behaviors?
No

#### How was the contribution tested?
Unit tests, microbenchmarks

#### Does this contribution need a changelog entry?
- [ ] I have updated the CHANGELOG or README if appropriate

---

By submitting this pull request, I confirm that my contribution is made
under the terms of the Apache 2.0 license and I agree to the terms of
the [Developer Certificate of Origin
(DCO)](https://developercertificate.org/).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants