Face recognition has been widely used in many application areas such as photo album management and information security. Rapid growth of handheld devices and social networks bring new challenges to face recognition algorithm design and system engineering. To be effective on a handheld device, the face recognition model must be simple and lightweight, and also needs to handle the large variations in background, image size, etc. This paper tries to address these two problems from a system perspective. We employ a simple linear model for face recognition, which is generated from a SVM classifier to tell whether a pair of face is from the same subject or not. And to make this classifier generalized well on all potential inter-face/intra-face variations, we train it with billions of face pairs. Many potential problems arise during the large-scale training procedure. For examples, 1) the training set is too large to fit into a single machine; 2) the computation requirement is so huge that it takes many days to complete a training which makes difficult for algorithm developers to experiment and tune the model effectively. To overcome these obstacles, this paper proposes a large-scale face recognition training system, called LFRTrainer. The system takes advantage of the massive data parallelism available in the problem and utilizes a distributed compute cluster to perform the model training. We have run this system on Intel Endeavor cluster for model development and tuning over a year. Using LFRTrainer, we train a face recognition model for embedded devices which achieves state-of-the-art accuracy and high scalability: 92.2% Face Verification Rate (FVR) at 0.1% False Accept Rate (FAR) on FRGC- 204 benchmark and nearly linear scalability from tens to hundreds of nodes.