Hello,
I have read the following webpage about Parallel Disk IO by Dmitry
Vyukov, here it is:
http://www.1024cores.net/home/scalable-architecture/parallel-disk-io
Read it carefully and you will notice that it is not optimal,
cause a better way to do is that the threads must read directly from the
harddisk, but you have to use my following mechanism: an independent
thread from the readers threads will calculate the throughput of the
system , since you have to read equal chunks of data from the file, and
as the reader threads will process the data they will update a
"counter"each time they process the chunk of data , and the independant
thread that calculates the throughput will read the "counter" two times
in an interverval of t and it will
calculate the throughput that is: (counter_2 -
counter_1)*size_of_the_chunk_of_data / t, and counter_2 - counter_1 is
the time of the interval and the independant thread that calculates the
throughput have to start more threads and it will recalculate the
throughput and if the throughput goes up it will start more
threads, but if the throughput goes down it will take the previous count
of the threads and it will start this count number of threads and blocks
the other threads , this way my mechanism will more optimal than the
Dmitry Vyukov mechanism, and the independant thread will follow the same
mechanism throughout the duration of the reading of the file, that means
it will start more threads and recalculate the throughput and if the
throughput goes up it will start more threads, but if the throughput
goes down it will take the previous count of the threads and start this
count number of threads and it will blocks the other threads , this is
my own mechanism that i am presenting to you and i think it is more
optimal than the Dmitry Vyukov way of doing.
Thank you for your time.
Amine Moulay Ramdane.