Módulo de recuperación de fallos de los procesos de un sistema FreeBSD utilizando variables en disco
Resumen
ABSTRACT
This paper describes the creation of a crash-recovery module of the processes in a reliable communication program with fall and recovery of equipment, on a FreeBSD system. The creation of this module is based on the parameters or values that a running process contains, establishing a variable or file that is stored on disk. The variable is synchronized with the values of each process so that they can be retrieved by the module, avoiding loss of information during the transmission prior to the data integration. The module presents two recovery mechanisms, the coherence checker and the concurrency control, each of which process in a synchronized way with the process and the recovery of the variable in the event of a failure.
Keywords: crash-recovery module, recovery mechanisms, coherence checker, concurrency control.
RESUMEN
El presente trabajo describe la creación de un módulo de recuperación de fallos de los procesos de un programa de comunicación fiable con caídas y recuperación de equipos, en un sistema FreeBSD. La creación de este módulo se basa en los parámetros o valores que un proceso en ejecución contenga, estableciendo una variable o fichero que se almacena en disco. La variable se sincroniza con los valores de cada proceso para que puedan ser recuperados por el módulo, con la finalidad de que no se pierda la información o datos que se estén trasmitiendo al momento de reintegrarse. El módulo presenta dos mecanismos de recuperación, el comprobador de coherencia y el control de concurrencia, cada uno de ellos trabaja de forma sincronizada con el proceso y la variable de recuperación en caso de presentarse algún tipo de fallo.
Palabras clave: módulo de recuperación, mecanismos de recuperación, comprobador de coherencia, control de concurrencia.
Descargas
Métricas
Citas
Angela, V., Granizo, R., Alex, A., & Tacuri, U. (2016). Guía referencial para el manejo de QoS en redes WLAN prioritizando tráfico. MASKANA: Actas CEDIA 2016, 65-77.
Chowdhury, T., & Mustafa, R. (2010). Parallel data transmission: A proposed multi-layered reference model. Paper presented at the Novel Algorithms and Techniques in Telecommunications and Networking, 139-142.
Claus, C., Zeppenfeld, J., Müller, F., & Stechele, W. (2007). Using partial-run-time reconfigurable hardware to accelerate video processing in driver assistance system. Paper presented at the Proceedings -Design, Automation and Test in Europe, DATE, 498-503.
Dickens, P. M., & Thakur, R. (1999). Improving collective I/O performance using threads. In Parallel Processing, 1999. 13th International and 10th Symposium on Parallel and Distributed Processing, Proceedings (pp. 38-45). IEEE.
Kamoshida, Y., & Taura, K. (2008). Scalable data gathering for real-time monitoring systems on distributed computing. Paper presented at the Proceedings CCGRID 2008 - 8th IEEE International Symposium on Cluster Computing and the Grid, 425-432.
Kleiman, S., Shah, D., & Smaalders, B. (1996). Programming with threads (p. 48). Sun Soft Press.
Jung, I., Hyun, J., Lee, J., & Ma, J. (2001). Two-phase barrier: A synchronization primitive for improving the processor utilization. International Journal of Parallel Programming, 29(6), 607-627.
McKusick, M. K., Neville-Neil, G. V., & Watson, R. N. (2014). The design and implementation of the FreeBSD operating system. Pearson Education.
Merz, F., Falke, S., & Sinz, C. (2012). LLBMC: Bounded model checking of C and C++ programs using a compiler IR. In International Conference on Verified Software: Tools, Theories, Experiments (pp. 146-161). Springer Berlin Heidelberg.
Mitterbauer, J., Zeilinger, H., Kohlhauser, S., Turek, T., & Kreilmeier, M. (2011). Reliable data distribution in voice communication environments: Performance analysis of the group communication systems corosync and spread. Paper presented at the IEEE AFRICON Conference.
Pina, L., & Hicks, M. (2016). Tedsuto: A general framework for testing dynamic software updates. Paper presented at the Proceedings - 2016 IEEE International Conference on Software Testing, Verification and Validation, ICST 2016, 278-288.
Plow, G. M. (1983). Method and means for cataloging data sets using dual keyed data sets and direct pointers. U.S. Patent No 4,408,273.
Spread Toolkit (2017). Accessed from http://www.spread.org
Sutter, H. (2005). A fundamental turn toward concurrency in software. Dr.Dobb's Journal, 30(3), 16-22.
Trott, O., & Olson, A. J. (2010). AutoDock Vina: improving the speed and accuracy of docking with a new scoring function, efficient optimization, and multithreading. Journal of Computational Chemistry, 31(2), 455-461.
Descargas
Publicado
Cómo citar
Número
Sección
Licencia
Copyright © Autors. Creative Commons Attribution 4.0 License para cualquier artículo enviado a partir del 6 de junio de 2017. Para los manuscritos presentados anteriormente, se utilizó la licencia CC BY 3.0.
Usted es libre de:
Compartir — compartir y redistribuir el material publicado en cualquier medio o formato. |
Adaptar — combinar, transformar y construir sobre el material para cualquier propósito, incluso comercialmente. |
Bajo las siguientes condiciones:
Atribución — Debe otorgar el crédito correspondiente, proporcionar un enlace a la licencia e indicar si se realizaron cambios. Puede hacerlo de cualquier manera razonable, pero de ninguna manera que sugiera que el licenciador lo respalda a usted o a su uso. |
Sin restricciones adicionales: no puede aplicar términos legales o medidas tecnológicas que restrinjan legalmente a otros a hacer cualquier cosa que permita la licencia. |
Mayor información sobre este acuerdo de autoría y licencia, transferencia de derechos o solicitudes de reproducción, pueden ser consultados en este enlace.