First, let me tell you that this node tree is nonsensical. I don’t know what you see on your screen but, on mine, your node tree produces just a dark greyish mess as material. Cycles may allow you to plug things this way but I don’t think it produces anything useful.
The Normal inputs really need some meaningful vector, not a color… which is a kind of vector, but with wrong values. To plug a Normal Map into the Displacement socket is a total waste of computer power. Cycles wastes its time doing calculations for a result which is hard to distinguish from what you would obtain if you simple plugged the noise into the Displacement socket. And don’t get me started on the “RGB to BW” node which I found to be the most abused node in the most useless situations in the Cycles world.
I re-plugged your node tree into something more… sensical. The material doesn’t look like much like snow to me but it’s closer than what I get with your node tree as shown in the snapshot.
As you can see, 2 seconds for a plane and Suzanne, both with a Subsurf at level 2 with Full Global Illumination. Using all the tricks to speed up the render (Static and cached BVH with spatial split) makes no measurable difference with such a simple scene. I guess it must be your landscape which is super heavy… Or else your GPU is an underpowered mobile version of a real one… I don’t know.
Here is a thread about snow from last year: http://www.blenderartists.org/forum/showthread.php?273948-Snow-material-in-Cycles
With that material, your GPU will have some good reasons to take its time.