1 - If you have 50 servers, and each one has 10 fs's to process, you can do it 50x faster by running each batch of 10 on the actual servers, and then transfer the data to wherever you were using it before.
2 - This looks a lot like a set of keys and values to me, why not use a hash?
3 - If you are doing the shell-out command 50x, and it's a network query, the cpu use of the split of the data is _totally_ insignificant. Any way to do all 50 as a batch query?