Gremlin (over Spark) does not use GraphX. It simply represents the graph as a tensor RDD (i.e. a multi-layered matrix) and with the Spark functional library, it implements BSP-based vertex-centric computing (i.e. message passing). You can see examples and a diagram explaining how it works at this location:
http://tinkerpop.incubator.apache.org/docs/3.0.0-incubating/...