# PreGAN **Repository Path**: WinnerBy/PreGAN ## Basic Information - **Project Name**: PreGAN - **Description**: No description available - **Primary Language**: Unknown - **License**: BSD-3-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-01-05 - **Last Updated**: 2025-01-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

PreGAN

License Python 3.7, 3.8 Hits Actions Status
Docker pulls yolo Docker pulls pocketsphinx Docker pulls aeneas
> __Note__: This repository is now superseded by [PreGAN+](https://github.com/imperial-qore/PreGANPlus). Building a fault-tolerant edge system that can quickly react to node overloads or failures is challenging due to the unreliability of edge devices and the strict service deadlines of modern applications. Moreover, unnecessary task migrations can stress the system network, giving rise to the need for a smart and parsimonious failure recovery scheme. Prior approaches often fail to adapt to highly volatile workloads or accurately detect and diagnose faults for optimal remediation. There is thus a need for a robust and proactive fault-tolerance mechanism to meet service level objectives. In this work, we propose PreGAN, a composite AI model using a Generative Adversarial Network (GAN) to predict preemptive migration decisions for proactive fault-tolerance in containerized edge deployments. PreGAN uses co-simulations in tandem with a GAN to learn a few-shot anomaly classifier and proactively predict migration decisions for reliable computing. Extensive experiments on a Raspberry-Pi based edge environment show that PreGAN can outperform state-of-the-art baseline methods in fault-detection, diagnosis and classification, thus achieving high quality of service. PreGAN accomplishes this by 5.1% more accurate fault detection, higher diagnosis scores and 23.8% lower overheads compared to the best method among the considered baselines. ## Quick Test Clone repo. ```console git clone https://github.com/imperial-qore/PreGAN.git cd PreGAN/ ``` Install dependencies. ```console sudo apt -y update python3 -m pip --upgrade pip python3 -m pip install matplotlib scikit-learn python3 -m pip install -r requirements.txt python3 -m pip install torch==1.7.1+cpu torchvision==0.8.2+cpu -f https://download.pytorch.org/whl/torch_stable.html export PATH=$PATH:~/.local/bin ``` Change line 117 in `main.py` to use one of the implemented fault-tolerance techniques: `PreGANRecovery`, `PCFTRecovery`, `DFTMRecovery`, `ECLBRecovery` or `CMODLBRecovery` and run the code using the following command. ```console python3 main.py ```` ## External Links | Items | Contents | | --- | --- | | **Pre-print** | https://arxiv.org/abs/2112.02292 | | **Video** | https://youtu.be/Pp82aZu5dJw | | **Contact**| Shreshth Tuli ([@shreshthtuli](https://github.com/shreshthtuli)) | | **Funding**| Imperial President's scholarship | ## Cite this work Our work is accepted in IEEE Conference on Computer Communications (INFOCOM) 2022 and received the "Best Paper Award" at the conference. Cite our work using the bibtex entry below. ```bibtex @inproceedings{tuli2021pregan, title={{PreGAN: Preemptive Migration Prediction Network for Proactive Fault-Tolerant Edge Computing}}, author={Tuli, Shreshth and Casale, Giuliano and Jennings, Nicholas R}, booktitle={IEEE Conference on Computer Communications (INFOCOM)}, year={2022}, organization={IEEE} } ``` ## License BSD-3-Clause. Copyright (c) 2021, Shreshth Tuli. All rights reserved. See License file for more details.