Ultimate access to all questions.
Consider a scenario where you are tasked with scaling a linear regression model using Apache Spark across a distributed environment. Describe in detail how Spark manages to distribute the computation of linear regression, including the handling of large datasets, the use of parallel processing, and the optimization techniques employed to ensure efficient computation.