performance tuning – sparse matrix multiplication

Say I have a sparse matrix $M$ with $sim 50.000 .000$ non zero elements.

What is the fastest way to make operations such as :

$$M^k X$$

where $X$ is a given vector.

Is the operation $MX$ parallelizable for example ? I have access to some kind of computing cluster and was wondering if I could make use of it ?