Why vector().get_local() instead of vector().get()

Hi, I am new to parallel compute, thus I got bit confused when on how exactly fenics index matrices and vectors globally and locally.

Such as I saw majority of the material uses function.vector().get_local() to get the array of a vector or matrix. Isn’t get_local() only for getting values from local process instead of the assembled vector or matrix?

I try to use vector.get() method, but I’m not too sure about what la_index I suppose to use.

virtual void 	get (double *block, std::size_t m, const dolfin::la_index *rows) const
 
virtual void 	get_local (double *block, std::size_t m, const dolfin::la_index *rows) const

virtual void 	get_local (std::vector< double > &values) const

It’s appreciated If anyone could direct me to some material with more details.

Regards
JT