A MapReduce with fault-tolerant mechanism based on multi-core virtual machine is proposed to solve the problem that the simple fault-tolerant mechanism in traditional MapReduce is prone for duplicate calculation in error processing. The system uses checkpoint mechanism to perform error recovery and only saves intermediate results and necessary state information. It stores the intermediate results in isolated memory through virtual machine. The number of worker nodes is dynamically adjusted according to the user's need and the system load. Experiments are conducted on 32-core
2.38 GHz
128 GB SUN server and the results show that the proposed MapReduce reduces communication cost
and improves system reliability and error recovery performance. Virtual Machine Monitor can entirely control and manage the memory of a multi-core system and disable OS to visit the isolated memory directly. The security of data recovery is guaranteed by avoiding affection of errors occurring inside the OS.
关键词
Keywords
references
DEAN J, GHEMAWAT S. MapReduce: a flexible data processing tool[J]. Communications of the ACM, 2010, 53(1): 72-77.
MOHANTY R P, TURUK A K, SAHOO B. Analysing the performance of multi-core architecture[C]∥Proceedings of the first International Conference on Computing, Communication and Sensor Networks. New York, USA: IJCA, 2013: 28-33.
MERRITT R. CPU designers debate multi-core future[EB/OL].(2008-02-06)[2012-10-02]. http:∥www.eetimes.com/document.asp?doc_id=1167932.
DESNOYERS M, MCKENNEY P E, STEM A S, et al. User-level implementations of read-copy update[J]. IEEE Transactions on Parallel and Distributed Systems, 2012, 23(2): 375-382.
Receive-side scaling enhancements in windows server[EB/OL].(2008-11-05)[2012-10-15]. http:∥www.microsoft.com/whdc/device/network/ndis_rss.mspx.
MATTHEWS J N, DOW E M, DESHANE T, et al. Running Xen: a hands-on guide to the art of virtualization[M]. New Jersey, USA: Prentice Hall, 2008: 56-59.
CHAPMAN M. HEISER G. vNUMA: a virtual shared-memory multiprocessor[C]∥Proceedings of the 2009 USENIX Annual Technical Conference. San Diego, USA: USENIX Association, 2009: 349-362.
GULATI A, MERCHANT A, VARMAN P J. MClock: handling throughput variability for hypervisor I/O scheduling[C]∥Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation. Berkeley, CA, USA: USENIX Association, 2010: 1-7.
TALBOT J, YOO R M, KOZYRAKIS C. Phoenix++: modular MapReduce for shared-memory systems[C]∥Proceedings of the Second International Workshop on MapReduce and Its Applications. New York, USA: ACM, 2011: 9-16.