GithubHelp home page GithubHelp logo

tp-caching's Introduction

TP Caching

Groupe: JOFFRE Mathis EONO Mathis

L’objectif de cette série de TPs est d’explorer et de comparer les performances des politiques de mise en cache en mettant en œuvre la politique Min et la politique LRU, en utilisant la fonction Zipf pour générer des séquences de demandes.Le but est de calculer la probabilité de succès de chaque élément en utilisant ces politiques et éventuellement de vérifier les résultats en utilisant le modèle Che. Vous allez également visualiser vos résultats à travers des graphiques. La seconde partie du projet s’intéresse à l’analyse de la politique LRU, et sa comparaison à une politique Min. Les parties qui suivront analyseront les autres points.

Installation

git clone https://github.com/Joffref/tp-caching.git
cd tp-caching

Usage

Simply run python main.py [options] and let's play with the Command Line Interface.

CLI

Usage: python main.py [options]

    Options:
        -h, --help      Show this screen.
        -m, --min       Run the example simulation for the Min algorithm.
        -l, --lru       Run the example simulation for the LRU algorithm.
        -s, --simulate  Run the example simulation for both algorithms.
        -z, --zipf      Run the simulation for both algorithms with Zipf distribution. It will take a while.
        -zM, --zipf-min Run the simulation for the Min algorithm with Zipf distribution. It will take a while.
        -zL, --zipf-lru Run the simulation for the LRU algorithm with Zipf distribution. It will take a while.

Rendu

Chaque fichier est commenté. Au dessus de chaque fonction et de chaque déclaration de classe il est indiqué l’objectif de celles-ci. Pour étudier la documentation de ce module, il suffit de lancer pydoc dans le répertoire contenant le code avec la commande suivante : python -m pydoc -p 1234

Fichiers

  • lru.py: Il contient la définition de la classe LRU. C’est une classe qui définit les attendues de fonctionnement de l’algorithme “Least Recently Used”.

  • min.py: Il contient la définition de la classe MIN. C’est une classe qui définit les attendues de fonctionnement de l’algorithme “MIN policy”.

  • cache.py: Il contient la définition de la classe Cache. C’est ici qu’on définit ce qu’est un cache. Ce cache est le cache utilisé par les algorithmes LRU et MIN. Cela permet de reduire la redondance de code.

  • algorithm.py: Il contient la définition de la classe abstraite Algorithm. Il s’agit d’une classe abstraite qui représente ce qui est attendue d’un algorithme de caching.

  • main.py: Il contient le code principal. Il permet de lancer les simulations et de visualiser les résultats.

  • zipf.py: Il contient la définition de la classe Zipf. C’est une classe qui définit le fonctionnement de la distribution Zipf et permet de génerer nos nombres aléatoires (NB: cette classe est singleton).

tp-caching's People

Contributors

joffref avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.