Giter Club home page Giter Club logo

syt4-gk833-rmi-taskloadbalancer-dlangheiter-tgm's Introduction

Distributed Computing "RMI Task Loadbalancer"

Aufgabenstellung

Die detaillierte Aufgabenstellung beschreibt die notwendigen Schritte zur Realisierung.

Implementierung

Fürs saubere Schließen habe ich einfach eine while-Schleife verwendet und den Input von der CLI gelesen. Wenn der eingegebene Text exit entspricht tue ich den STUB unbinden und schließe dann das Programm.

Um den Fibonacci Task zu implementieren habe ich einfach eine Neue klasse erstellt die Task implementiert. Diese hat beim erstellen einen Übergabe Parameter. Welche Fibonacci-Zahl ermittelt werden soll. Dann habe ich den Code vom Wiki in die Methode fibonacci gegeben und diese von execute Aufgerufen.

Um zu testen ob das funktioniert habe ich dann in ComputePi aufgerufen.

Fibonacci taskFib = new Fibonacci(9999);
Integer fib = comp.executeTask(taskFib);
System.out.println(fib);

Loadbalancer

Dafür habe ich als erstes ein neues Interface erstellt, damit ich von den ComputeServern register und unregister aufrufen kann.

public interface Loadbalancer extends Remote {
    void register(Compute c) throws RemoteException;
    void unregister(Compute c) throws RemoteException;
}

Danach habe ich ComputeEngine um dieses Interface erweitert und die Methoden implementiert. Dafür habe ich eine Liste erstellt von Computes um sie an diese zu verteilen. Weiters habe ich die executeTask Methode so umgeschrieben das sie immer den nächsten Compute verwendet und bei diesem executeTask ausführt.

Der ComputeServer ist eigentlich fast das Selbe wie der ComputeEngine bevor wir ihn erweitert haben. Er holt sich die registry, exportiert compute und registriert den computeStub dann beim loadbalancer. Beim sauberen Schließen tut er beim Loadbalancer noch unregister aufrufen.

Quellen

syt4-gk833-rmi-taskloadbalancer-dlangheiter-tgm's People

Contributors

thekingdave avatar mborko avatar

Watchers

James Cloos 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.