Sounds to me like you should put the data into a DB and use the DB to make these histograms. The data set is so large that using Perl in memory hashes is not the best solution. A good DB will spawn multiple threads to handle a big requests and you will be able to control the amount of memory that the DB has available to it.
Having multiple workers reading separate parts of a single disk file typically doesn't help because the bottleneck is the maximum bandwidth of reading the single hard disk. Having multiple workers doesn't magically make new physical memory appear.
Update: If you are doing significant bio work, then a machine with 16GB RAM is WAY, WAY under powered. Seriously think about buying more hardware with more RAM, a lot more RAM and SSD disks instead of the spinning kind.
In reply to Re: MCE: How to access variables globally
by Marshall
in thread MCE: How to access variables globally
by biohisham
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |