“Do piped programs run sequentially or in parallel?”:
Piped commands are run in parallel. They keep reading from the pipe until they are terminated, they finish their work, or they receive an end-of-file indicator. When a pipe (or the data read from a pipe) gets too large, the command is terminated to prevent the system from running out of RAM.