Tar peut-il archiver les files en parallèle?

J'essaie de déplacer des parties d'un grand directory (~ 40 GiB et ~ 8 millions de files) sur plusieurs machines via Amazon S3, et en raison de la nécessité de préserver les liens symboliques, je suis en train d'emmagasiner le file, synchronisation directement sur S3.

La plupart des files sont déjà compressés, donc je ne compresse pas l'archive avec gzip ou bzip. Ma command est dans le sens de

tar --create --exclude='*.large-files' --exclude='unimportant-directory-with-many-files' --file /tmp/archive.tar /directory/to/archive 

En exécutant ceci, j'ai remarqué que le tar semble seulement utiliser un kernel sur la machine à huit cœurs. Mon printing, basée sur le rattachement de ce kernel, la faible charge moyenne (~ 1) et les statistics que je vois d' iostat est que cette opération est en fait liée au processeur plutôt qu'au disque, comme je m'y attendais . Puisque c'est lent (~ 90 minutes), je suis intéressé à essayer de paralléliser le goudron pour utiliser les cœurs supplémentaires.

D'autres questions sur ce sujet mettent l' accent sur la compression ou créer plusieurs archives (qui, en raison de la structure du directory, n'est pas facile dans ma situation). Il semble que la plupart des gens oublient que vous pouvez même créer une archive sans la compresser.

En raison de la nature d'une archive tar qui stocke séquentiellement les files dans la sortie, il n'y a aucun moyen de paralléliser le process sauf si vous faites plus d'une archive.

Notez que le goulot d'étranglement de l'opération serait probablement le disque dur. Pour cette raison, même si vous avez fractionné la tâche dans deux process ou plus, cela ne fonctionnerait pas plus rapidement à less qu'ils ne fonctionnent sur des lecteurs différents.