Módulo de recuperación de fallos de los procesos de un sistema FreeBSD utilizando variables en disco
Abstract
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.
Downloads
Metrics
References
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.
Downloads
Published
How to Cite
Issue
Section
License
Copyright © Autors. Creative Commons Attribution 4.0 License. for any article submitted from 6 June 2017 onwards. For manuscripts submitted before, the CC BY 3.0 License was used.
![]()
You are free to:
![]() |
Share — copy and redistribute the material in any medium or format |
![]() |
Adapt — remix, transform, and build upon the material for any purpose, even commercially. |
Under the following conditions:
![]() |
Attribution — You must give appropriate credit, provide a link to the licence, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licenser endorses you or your use. |
| No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from doing anything the licence permits. |








