Many practical computing problems concern large graph. Standard problems include web graph analysis and social networks analysis like Facebook, Twitter. The scale of these graph poses challenge to their efficient processing. To ef- ficiently process large-scale graph, we create X-Pregel, a graph processing system based on Google's Computing Pregel model , by using the state-of-the-art PGAS programming language X10. We do not purely implement Google Pregel by using X10 language, but we also introduce two new fea- tures that do not exists in the original model to optimize the performance : (1) an optimization to reduce the number of messages which is exchanged among workers, (2) a dynamic re-partitioning scheme that effectively reassign vertices to different workers during the computation. Our performance evaluation demonstrates that our optimization method of sending messages achieves up to 200% speed up on Pager- ank by reducing the network I/O to 10 times in compari- son with the default method of sending messages when pro- cessing SCALE20 Kronecker graph (vertices = 1,048,576, edges = 33,554,432). It also demonstrates that our system processes large graph faster than prior implementation of Pregel such as GPS (stands for graph processing system) and Giraph.