Como a sua idéia difere do --pipe --round-robin do GNU Parallel?
seq 100 | parallel --pipe --round-robin -j10 -N 1 'echo Start;cat'
Fazê-lo linha por linha é um pouco ineficiente para o Paralelo GNU. Fazer isso bloco por bloco é mais eficiente:
seq 1000000 | parallel --pipe --round-robin -j10 'echo Start;cat'
Ajuste o bloco para atender às suas necessidades.