In current implementation, each thread calls write after it read 32 MB block data concurrently. So I guess this causes the same problem by issuing multiple concurrent write request.
https://github.com/Kucukaslan/PoCSequentiality/blob/5a52a241093c09140d326294196f72cff672cd90/main.go#L131
It would be better if each thread can send data to a writer thread via a channel and that thread sequentially issue the write requests.
channel can receive a struct like
struct {
data *[]byte
startIndex int
length int
}
In current implementation, each thread calls write after it read 32 MB block data concurrently. So I guess this causes the same problem by issuing multiple concurrent write request.
https://github.com/Kucukaslan/PoCSequentiality/blob/5a52a241093c09140d326294196f72cff672cd90/main.go#L131
It would be better if each thread can send data to a writer thread via a channel and that thread sequentially issue the write requests.
channel can receive a struct like