/****************************************************************************
File: README.txt
Description: Instruções para rodar a simulação
Project: MAC-5755 Sistemas Operacionais Distribuídos
Authors: Fábio Grezele (fg@ime.usp.br)
Rachel de Paula(rpaula@ime.usp.br)
Institution: Department of Computer Science
University of Sao Paulo
******************************************************************************/
Simulação De Um Sistema Distribuído Com Migração
De Processos E Balanceamento De Carga
O sistema é composto das seguintes classes:
Class: AppletMig class
Description: Creates the applet and get the input data from the applets parameters
Class: CPU Class
Description: This class implements the CPU, which takes process Queue[0]
Class: Clock class
Description: This is just a clock that increments in intervals of 0.3 seconds.
It is needed to timestamp process creations and deletions.
Class: Computer class
Description: Represents a computer in the simution
Each computer has a Clock, a Creator, a Queue and an id
Class: Creator Class
Description: This class creates Proc objects, and adds them to the queue.
Class: Display class
Description: Is responsible for painting and updating the animation.
Class: Proc class
Description: This class implements a Process for the simulation.
A process has two parameters: the process duration, timeLeft;
the process name, procName.
Class: Queue Class
Description: This is my Queue class. Its members are Proc objects.
Class: Refresher Class
Description: Call display's repaint method each second
Class: Server class
Description: Provide the load balance among the computers
A descrição detalhada das classes acima pode ser vista no javadoc
O algoritmo para escalonamento local utilizado é o Round Robin e o algoritmo
para escalonamento Global utilizado é uma heurística baseada no tamanho da
fila dos Prontos. A cada 5 segundos o Servidor faz a média do tamanho das filas
de todos os computadores, para os computadores cujo tamanho da fila é maior
do que a média, alguns de seus processos são migrados para computadores com
o menor tamanho de fila.
Para executar a simulação abra o arquivo migration/Migration.html em um browser
e pressione o botão play.
Para mudar o número de computadores na simulção basta editar o arquivo
migration/Migration.html, edite a seguinte linha:
Mude o value
Depois disto talvez seja nescessário redimensionar o tamanho da applet, para isto edite
a seguinte linha: