This paper presents a fault diagnosis system for airplane engines using Bayesian networks (BN) and distributed particle swarm optimization (PSO). The PSO is inherently parallel, works for large domains and does not trap into local maxima. We implemented the algorithm on a computer cluster with 48 processors using message passing interface (MPI) in Linux. Our implementation has the advantages of being general, robust, and scalable. Unlike existing BN-based fault diagnosis methods, neither expert knowledge nor node ordering is necessary prior to the Bayesian Network discovery. The raw datasets obtained from airplane engines during actual flights are preprocessed using equal frequency binning histogram and used to generate Bayesian networks fault diagnosis for the engines. We studied the performance of the distributed PSO algorithm and generated a BN that can detect faults in the test data successfully.