Name: PFSEFI
Owner: Los Alamos National Laboratory
Description: Parallel Fine-grained Soft Error Fault Injector
Created: 2016-06-15 18:01:25.0
Updated: 2018-03-20 02:55:08.0
Pushed: 2017-05-24 19:07:07.0
Homepage: null
Size: 433
Language: C
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
P-FSEFI builds upon F-SEFI, the sequential fault injection tool and used to study a number of applications. This extension adds support for injecting faults into parallel applications, something vitally important to advance the original tool to be useful to the high performance computing (HPC) and supercomputing field. P-FSEFI allows multiple F-SEFI instances to be connected. They can be on the same physical host or multiple, different physical hosts. A parallel program, such as an MPI program, is then run within this collection of F-SEFI instances. This program communicates outside of theVMand into other F-SEFIVMinstances as it passes data to perform a parallel calculation. This capability is what makes P-FSEFI unique and extensible to allow one to emulate a parallel process running on a virtual cluster.
Researchers who use the P-FSEFI for scientific research are asked to cite the papers by Qiang Guan listed below.
Qiang Guan, Nathan BeBardeleben, Panruo Wu, Stephan Eidenbenz, Sean Blanchard, Laura Monroe, Elisabeth Baseman, and Li Tan, “Design, Use and Evaluation of P-FSEFI: A Parallel Soft Error Fault Injection Framework for Emulating Soft Errors in Parallel Applications” in Ninth EAI International Conference on Simulation Tools and Techniques (SIMTOOLS), 2016.
Qiang Guan, Nathan Debardeleben, Sean Blanchard, Song Fu, “f-sefi: A fine-grained soft error fault injection tool for profiling application vulnerability,” Proc. of 2014 IEEE 28th International Parallel and Distributed Processing Symposium (IPDPS), 2014. http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=6877352&tag=1
Nathan DeBardeleben, Sean Blanchard, Qiang Guan, Ziming Zhang, Song Fu, “Experimental framework for injecting logic errors in a virtual machine to profile applications for soft error resilience”, In Proc. of Euro-Par'11 Proceedings of the 2011 international conference on Parallel Processing - Volume 2 Pages 282-291, 2011. http://dl.acm.org/citation.cfm?id=2238472
P-FSEFI is built upon the QEMU and TEMU, the dynamic analysis tool. You have to first check out the TEMU source code and apply the patch and then copy the new tracecap folder under the TEMU home directory. You must install git lfs in your local system pelase check https://git-lfs.github.com
$ cd /home/user/
$ wget https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh
$ bash script.deb.sh
$ rm script.deb.sh
$ apt-get -y install git-lfs
$ cd ~
$ git clone https://github.com/losalamos/PFSEFI.git
$ cd ~/PFSEFI
$ git lfs install
$ git lfs track "*.patch"
$ git lfs fetch
$ git lfs checkout
$ mkdir ~/pfsefi
$ cd ~
$ wget http://bitblaze.cs.berkeley.edu/release/temu-1.0/temu-1.0.tar.gz
$ tar zxvf temu-1.0.tar.gz
$ cd temu-1.0
$ patch -p1 < ~/PFSEFI/fsefi.patch
$ cp -r ./* ~/pfsefi/
$ cd ..
$ rm -r ~/temu-1.0
These commands download source code and patch P-FSEFI functions. For more information about TEMU please check here.
P-FSEFI has been fully tested on 64-bits Ubuntu 12.04 system. And P-FSEFI only support 32-bits Linux system as the guest.
To configure and build, do the following from the top-level source directory:
% cd /home/user/pfsefi
% cp ~/PFSEFI/install-fsefi.sh .
% bash install-fsefi.sh
% make clean
% make
P-SEFI supports Docker container. You can either use the Dockerfile to build the conatainer image.
% docker build -t pfsefi .
You can also directly pull the docker container image from dockerhub
% docker pull guanxyz/pfsefi
The container can be started by
% docker run --net=host -it guanxyz/pfsefi /bin/bash
This software has been approved for open source release and has been assigned LA-CC-16-004.
For bugs and problems report, suggestions and other general questions regarding the PFSEFI project, Please subscribe to the fsefi-users mailing list(via Google Groups) and post your quesitons.
1.You may have to downgrade the gcc version for example, gcc-4.6.
% sudo vim /etc/apt/sources.list
Add the following two lines in sources.list
deb http://dk.archive.ubuntu.com/ubuntu/ trusty main universe
deb http://dk.archive.ubuntu.com/ubuntu/ trusty-updates main universe
Then install gcc-4.4
% sudo apt-get update
% sudo apt-get install gcc-4.6
2.Antoher way to install git-lfs.
% curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
% sudo apt-get install git-lfs
License can be found here