The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.05 - Sept.-Oct. (2013 vol.10)
pp: 301-313
Pedro Costa , Universidade de Lisboa, Lisboa
Marcelo Pasin , University of Neuchatel, Neuchatel
Alysson Neves Bessani , University of Lisboa, Lisboa
Miguel P. Correia , Technical University of Lisbon, Lisboa
ABSTRACT
MapReduce is often used for critical data processing, e.g., in the context of scientific or financial simulation. However, there is evidence in the literature that there are arbitrary (or Byzantine) faults that may corrupt the results of MapReduce without being detected. We present a Byzantine fault-tolerant MapReduce framework that can run in two modes: nonspeculative and speculative. We thoroughly evaluate experimentally the performance of these two versions of the framework, showing that they use around twice more resources than Hadoop MapReduce, instead of the three times more of alternative solutions. We believe this cost is acceptable for many critical applications.
INDEX TERMS
Fault tolerance, Fault tolerant systems, Impedance matching, Computational modeling, Google, Computer crashes, Heart beat, Byzantine fault tolerance, Hadoop, MapReduce
CITATION
Pedro Costa, Marcelo Pasin, Alysson Neves Bessani, Miguel P. Correia, "On the Performance of Byzantine Fault-Tolerant MapReduce", IEEE Transactions on Dependable and Secure Computing, vol.10, no. 5, pp. 301-313, Sept.-Oct. 2013, doi:10.1109/TDSC.2013.7
REFERENCES
[1] P. Costa, M. Pasin, A. Bessani, and M. Correia, "Byzantine Fault-Tolerant MapReduce: Faults Are Not Just Crashes," Proc. IEEE Third Int'l Conf. Cloud Computing Technology and Science, pp. 32-39, 2011,
[2] J. Dean and S. Ghemawat, "MapReduce: Simplified Data Processing on Large Clusters," Proc. Sixth Symp. Operating Systems Design and Implementation, Dec. 2004.
[3] T. White, Hadoop: The Definitive Guide. O'Reilly, 2009.
[4] "Daytona: Iterative MapReduce on Windows Azure," http://research.microsoft.com/en-us/projects daytona/, 2013.
[5] "Amazon Elastic MapReduce," http://aws.amazon.com elasticmapreduce/, 2013.
[6] J. Dean, "Large-Scale Distributed Systems at Google: Current Systems and Future Directions," Proc. Keynote Speech at the Third ACM SIGOPS Int'l Workshop Large Scale Distributed Systems and Middleware (LADIS), Oct. 2009.
[7] S. Ghemawat, H. Gobioff, and S.-T. Leung, "The Google File System," Proc. 19th ACM Symp. Operating Systems Principles, pp. 29-43, 2003.
[8] B. Schroeder and G.A. Gibson, "Understanding Failures in Petascale Computers," J. Physics Conf. Series, vol. 78, article 012022, 2007.
[9] B. Schroeder, E. Pinheiro, and W.-D. Weber, "DRAM Errors in the Wild: A Large-Scale Field Study," Proc. 11th Int'l Joint Conf. Measurement and Modeling of Computer Systems, pp. 193-204, 2009.
[10] E.B. Nightingale, J.R. Douceur, and V. Orgovan, "Cycles, Cells and Platters: An Empirical Analysis of Hardware Failures on a Million Consumer PCs," Proc. ACM SIGOPS/EuroSys European Conf. Computer Systems, pp. 343-356, 2011.
[11] L. Lamport, R. Shostak, and M. Pease, "The Byzantine Generals Problem," ACM Trans. Programming Languages and Systems, vol. 4, no. 3, pp. 382-401, July 1982.
[12] A. Avizienis, J.-C. Laprie, B. Randell, and C. Landwehr, "Basic Concepts and Taxonomy of Dependable and Secure Computing," IEEE Trans. Dependable and Secure Computing, vol. 1, no. 1, pp. 11-33, Mar. 2004.
[13] L.F.G. Sarmenta, "Sabotage-Tolerance Mechanisms for Volunteer Computing Systems," Future Generation Computer Systems, vol. 18, pp. 561-572, Mar. 2002.
[14] F.B. Schneider, "Implementing Fault-Tolerant Service Using the State Machine Approach: A Tutorial," ACM Computing Surveys, vol. 22, no. 4, pp. 299-319, Dec. 1990.
[15] M. Castro and B. Liskov, "Practical Byzantine Fault-Tolerance and Proactive Recovery," ACM Trans. Computer Systems, vol. 20, no. 4, pp. 398-461, Nov. 2002.
[16] A. Clement, M. Kapritsos, S. Lee, Y. Wang, L. Alvisi, M. Dahlin, and T. Rich, "UpRight Cluster Services," Proc. 22nd ACM Symp. Operating Systems Principles, Oct. 2009.
[17] G.S. Veronese, M. Correia, A.N. Bessani, and L.C. Lung, "Spin One's Wheels? Byzantine Fault Tolerance with a Spinning Primary," Proc. IEEE 28th Symp. Reliable Distributed Systems, Sept. 2009.
[18] "MapReduce 0.22 Documentation---GridMix," http://hadoop. apache.org/mapreduce/docs/ currentgridmix.html, 2013.
[19] D. Malkhi and M. Reiter, "Byzantine Quorum Systems," Distributed Computing, vol. 11, no. 4, pp. 203-213, Oct. 1998.
[20] J.-P. Martin, L. Alvisi, and M. Dahlin, "Minimal Byzantine Storage," Proc. 16th Int'l Symp. Distributed Computing (DISC '02), pp. 311-325, Oct. 2002.
[21] A. Bessani, M. Correia, B. Quaresma, F. André, and P. Sousa, "DepSky: Dependable and Secure Storage in a Cloud-of-Clouds," Proc. ACM SIGOPS/EuroSys European Conf. Computer Systems, pp. 31-46, Apr. 2011.
[22] M. Correia, N.F. Neves, and P. Verssimo, "From Consensus to Atomic Broadcast: Time-Free Byzantine-Resistant Protocols without Signatures," Computer J., vol. 49, no. 1, pp. 82-96, Jan. 2006.
[23] J. Yin, J.-P. Martin, A. Venkataramani, L. Alvisi, and M. Dahlin, "Separating Agreement Form Execution for Byzantine Fault Tolerant Services," Proc. 19th ACM Symp. Operating Systems Principles, pp. 253-267, Oct. 2003.
[24] C. Ranger, R. Raghuraman, A. Penmetsa, G. Bradski, and C. Kozyrakis, "Evaluating MapReduce for Multi-Core and Multiprocessor Systems," Proc. IEEE 13th Int'l Symp. High Performance Computer Architecture, pp. 13-24, 2007.
[25] M. Zaharia, A. Konwinski, A.D. Joseph, R. Katz, and I. Stoica, "Improving MapReduce Performance in Heterogeneous Environments," Proc. Eighth USENIX Symp. Operating Systems Design and Implementation, pp. 29-42, 2008.
[26] F. Marozzo, D. Talia, and P. Trunfio, "Adapting MapReduce for Dynamic Environments Using a Peer-to-Peer Model," Proc. First Workshop Cloud Computing and Its Applications, Oct. 2008.
[27] T. Gunarathne, T.-L. Wu, J. Qiu, and G. Fox, "MapReduce in the Clouds for Science," Proc. IEEE Second Int'l Conf. Cloud Computing Technology and Science, pp. 565-572, 2010.
[28] J. Ekanayake, H. Li, B. Zhang, T. Gunarathne, S.-H. Bae, J. Qiu, and G. Fox, "Twister: A Runtime for Iterative MapReduce," Proc. 19th ACM Int'l Symp. High Performance Distributed Computing, pp. 810-818, 2010.
[29] Z. Fadika and M. Govindaraju, "LEMO-MR: Low Overhead and Elastic MapReduce Implementation Optimized for Memory and CPU-Intensive Applications," Proc. IEEE Second Int'l Conf. Cloud Computing Technology and Science, pp. 1-8, 2010.
[30] J. Ekanayake, S. Pallickara, and G. Fox, "MapReduce for Data Intensive Scientific Analyses," Proc. IEEE Fourth Int'l Conf. eScience, pp. 277-284, 2008.
[31] S. Krishnan, C. Baru, and C. Crosby, "Evaluation of MapReduce for Gridding LIDAR Data," Proc. IEEE Second Int'l Conf. Cloud Computing Technology and Science, pp. 33-40, 2010.
[32] M. Isard, M. Budiu, Y. Yu, A. Birrell, and D. Fetterly, "Dryad: Distributed Data-Parallel Programs from Sequential Building Blocks," Proc. ACM SIGOPS/EuroSys European Conf. Computer Systems, pp. 59-72, 2007.
[33] Y. Yu, M. Isard, D. Fetterly, M. Budiu, U. Erlingsson, P.K. Gunda, and J. Currey, "DryadLINQ: A System for General-Purpose Distributed Data-Parallel Computing using a High-Level Language," Proc. Eighth Symp. Operating Systems Design and Implementation, pp. 1-14, 2008.
[34] C. Olston, B. Reed, U. Srivastava, R. Kumar, and A. Tomkins, "Pig Latin: A Not-So-Foreign Language for Data Processing," Proc. ACM SIGMOD Int'l Conf. Management of Data, pp. 1099-1110, 2008.
[35] D. Battré, S. Ewen, F. Hueske, O. Kao, V. Markl, and D. Warneke, "Nephele/PACTs: A Programming Model and Execution Framework for Web-Scale Analytical Processing," Proc. First ACM Symp. Cloud Computing, pp. 119-130, 2010.
[36] "BFT-SMART - High-Performance Byzantine Fault-Tolerant State Machine Replication," http://code.google.com/pbft-smart/, 2013.
[37] L. Gao and G. Malewicz, "Internet Computing of Tasks with Dependencies Using Unreliable Workers," Proc. Eighth Int'l Conf. Principles of Distributed Systems, pp. 443-458, 2004.
[38] A. Fernandez, L. Lopez, A. Santos, and C. Georgiou, "Reliably Executing Tasks in the Presence of Untrusted Entities," Proc. IEEE 25th Symp. Reliable Distributed Systems, pp. 39-50, 2006.
[39] M. Moca, G.C. Silaghi, and G. Fedak, "Distributed Results Checking for MapReduce in Volunteer Computing," Proc. Fifth Workshop Desktop Grids and Volunteer Computing Systems, May 2011.
[40] Z.M. Kedem, K.V. Palem, A. Raghunathan, and P.G. Spirakis, "Combining Tentative and Definite Executions for Very Fast Dependable Parallel Computing," Proc. 23rd Ann. ACM Symp. Theory of Computing, pp. 381-390, 1991.
[41] G. Reis, J. Chang, N. Vachharajani, R. Rangan, and D. August, "SWIFT: Software Implemented Fault Tolerance," Proc. IEEE/ACM Int'l Symp. Code Generation and Optimization, pp. 243-254, 2005.
[42] M. Correia, D.G. Ferro, F.P. Junqueira, and M. Serafini, "Practical Hardening of Crash-Tolerant Systems," Proc. USENIX Technical Conf., 2012.
47 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool