4 title: Introduction to Crunch
7 In "getting data from Keep,":tutorial-keep.html#arv-get we downloaded a file from Keep and did some computation with it (specifically, computing the MD5 hash of the complete file). While a straightforward way to accomplish a computational task, there are several obvious drawbacks to this approach:
8 * Large files require significant time to download.
9 * Very large files may exceed the scratch space of the local disk.
10 * We are only able to use the local CPU to process the file.
12 The Arvados "Crunch" framework is designed to support processing very large data batches (gigabytes to terabytes) efficiently, and provides the following benefits:
13 * Increase concurrency by running tasks asynchronously, using many CPUs and network interfaces at once (especially beneficial for CPU-bound and I/O-bound tasks respectively).
14 * Track inputs, outputs, and settings so you can verify that the inputs, settings, and sequence of programs you used to arrive at an output is really what you think it was.
15 * Ensure that your programs and workflows are repeatable with different versions of your code, OS updates, etc.
16 * Interrupt and resume long-running jobs consisting of many short tasks.
17 * Maintain timing statistics automatically, so they're there when you want them.