How we optimize Spark SQL jobs with parallel and asynchronous I/O

Parallel I/O I/O and computation are handled sequentially by the same thread Tuples in a single task are computed sequentially I/O for different files or row groups are handled sequentially Introduce a buffer to separate I/O and computation I/O and computation will be handled in separated threads I/O for different files or row groups ................
................