BlackBoard » Design, Programmierung & Entwicklung » Projekte » C++ Koordinationssprache LINDA » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Koordinationssprache LINDA
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
tsluga
Neuling

Dabei seit: 17.07.2007
Beiträge: 3

Koordinationssprache LINDA       Zum Anfang der Seite springen

Hallo zusammen,

ich sitze momentan an meiner Bachelor Arbeit in Informatik. Ich entwickle dafür eine moderne Variante der Koordinationssprache LINDA in C++. Mit sowas kann man wunderbar Parallelverarbeitung machen, einige kennen vielleicht MPI. Es ist momentan eine reine Linux Entwicklung.

Wieso schreibe ich :

Ich will nach meinem Abschluss diese Bibliothek weiter entwickeln.Ich bräuchte dafür paar "Programmierer", die Lust hätten an diese Bibliothek weiter zu basteln.

Was man können sollte :

Primär sollte man in C/C++ programmieren können. Vorteilhaft ist natürlich, wenn man Kenntnisse in Netzwerkprogrammierung unter Linux hat. Man sollte sich mit Thread Programmierung auskennen ( Boost.Threads ) und vorallem Synchronisation ( Mutex, Semaphore, Reentrat usw. sollten keine Fremdwörter sein ). Für die Visualizierung gibt es eine GUI die in QT4 entwickelt wurde, daher wären da vielleicht auch Grundkenntnisse ganz vorteilhaft.

Ich weiß, hört sich kompliziert an ( oder nicht ) aber vielleicht sind hier paar Informatiker und für die sollte sowas kein Problem sein.

Es gibt aber auch die Möglichkeit, dass Leute die LIB testen, unter unterschiedlichen Linux Distris.


Ich hätte erstmal gerne Feedback von eventuell interessierten.

Bei Fragen zu Linda, einfach hier schreiben oder per ICQ anquatschen ( 135 15 20 66 ) . Es ist ein ernsthaftes Projekte ( York Universität in England hat dafür eine eigene Forschungsgruppe ).

Anmerkung : Es ist keine kommerzielle Software, absolut OpenSource daher völlig unentgeltlich, also sind eher die Leute gefragt, die Spass haben Software zu entwickeln.

Wie gesagt, bis jetzt muss ich die erstmal selber weiterbauen, (ca.) ende des Monats werde ich die Arbeit abgeben und dann können auch mehr Leute dran arbeiten. Entwickelt wird das ganze für die FH Hannover, wo die auch ( wahrscheinlich ) später in den Vorlesungen benutzt wird.


Gruß

Thomas
17.07.2007 00:09 tsluga ist offline E-Mail an tsluga senden Beiträge von tsluga suchen
Misel Misel ist männlich
Hüter des Kitkat


images/avatars/avatar-2084.png

Dabei seit: 02.11.2002
Beiträge: 1.203
Herkunft: live://home.berlin.d e

      Zum Anfang der Seite springen

Klingt ja nicht schlecht und während meines Studiums habe ich auch mit MPI und C(++), QT ... und dem ganzen Krams gearbeitet und könnte eine Auffrischung gebrauchen.

Aber kannst Du das mit dem Linda noch mal in eigenen Worten zusammenfassen. Wenn ich nach "LINDA Koordinationssprache" google, finde ich Dein Post in weiteren Foren ... :J

__________________
LAUFT! Ich spiele KILLERSPIELE!
17.07.2007 11:03 Misel ist offline E-Mail an Misel senden Homepage von Misel Beiträge von Misel suchen
tsluga
Neuling

Dabei seit: 17.07.2007
Beiträge: 3

Themenstarter Thema begonnen von tsluga
      Zum Anfang der Seite springen

Ja, ich finde LINDA ganz gut und suche halt Leute smile

Also, ganz grob :

Es gibt einen Server, der nennt sich TupleSpace. Beliebig viele Clients, können sind nun mit dem Server Verbunden und kommunizieren über den Server miteinander. Alles was die Clients machen können, sind Tuple in den Tuplespace abspeichern ( der Server ist also quasi auch eine Datenbank ).

Ein Tuple kann z.B. sein :

["primzahl",1]

Ein PC packt nun diese Tuple in den Tuplespace, der Befehl lautet out().

Nun könnte man :

["primzahl",1]
["primzahl",2]
["primzahl",n]

in den Tuplespace ablegen. Beliebig viele Clients können nun diese Tuple auslesen ( Befehl rd, das Tuple bleibt ) oder auslesen und löschen ( Befehl in, das Tuple wird gelöscht). Nun prüfen die Clients ob es Primzahlen sind, und packen Ergebnisse rein, also ein Tuple wie :

["primzahl",3,true]

Ein andere Rechner gibt nun alle Primzahlen aus. Man kann so ganz leicht Sachen, paralellisieren ( wie bei MPI ). Unterschied ist, dass in MPI alles in einem Programm untergebracht werden muss, während man in LINDA kleine Programme für bestimmte Zwecke schreiben kann ( z.B. Primzahlen in Tuplespace packen, Programm zum berechnen und ein Programm zum ausgeben der Primzahlen ). Es ist quasi vergleichbar mit MPI, es wird aber ein zentraler Server verwendet zum Speichern von Daten.

Ich schreibe meinem Dozenten gleich ne Mail und frage ob ich es veröffentlichen darf, dann kann man es sich selber anschauen.

PS: Für die Netzwerkaktivitäten gibt es eine GUI ( tuplescope ) sie anzeigt, was welcher Client macht.
17.07.2007 12:15 tsluga ist offline E-Mail an tsluga senden Beiträge von tsluga suchen
phlox81 phlox81 ist männlich
Bote des Lichts und Moderator


images/avatars/avatar-2264.jpg

Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo

      Zum Anfang der Seite springen

Hört sich prinzipiell interessant an.
Also so eine verteilte Applikation welche über eine art Skriptsprache ansprechbar ist, ist das Ziel?
Und Linda ist mir kein Name, gibts da irgendwo ne Referenz zu?
Wie implementierst du den "Linda Prozessor", also das was dann am Server wieder
aus dem Text was für das Programm macht Augenzwinkern
Und braucht der Client dies nicht auch?
Ist da schon ein fertiges Protokoll bei Linda dabei?

Ich frag mich gerade, wieso ihr nicht einfach ne DB nehmt, und dann entsprechend
Tabellen erstellt Augenzwinkern

phlox

__________________
Intelligenz ist eine Illusion des Menschen

phlox81.de | codenode.de
17.07.2007 14:47 phlox81 ist offline E-Mail an phlox81 senden Homepage von phlox81 Beiträge von phlox81 suchen
tsluga
Neuling

Dabei seit: 17.07.2007
Beiträge: 3

Themenstarter Thema begonnen von tsluga
      Zum Anfang der Seite springen

Ich habe das okay bekommen, ich packe nachher mal die Sourcen auf meinen Webspace. Das ganze ist wie gesagt in C++ implementiert.

Man setzt sich an einen Rechner und sagt z..B. ich möchte nun, dass 10 Rechner ab einem Problem arbeiten. Mein lib startet nun auf jeden Rechner ein Programm ( es wird per ssh eine Verbindung aufgebaut, Programm gestartet, welches sich nun mit dem Server verbindet ). Es gibt einige Implementierung in C bzw. C++ diese sind aber ziemlich schlecht Augen rollen

Eine Datenbank, nun ja, der Server hat eine Datenbank ( bzw. ist in Arbeit ), er akzeptiert jedoch auch Verbindungen, ist für das Suchen/Speicher/Löschen von Tupleln zuständig, für das beenden der Clients uwm.

Es sind viele Kleinigkeiten, aber ich werde nachher mal die Sachen hochladen und paar kleine Beispiele. Man kann es sich dann selber anschauen. Ich würde mich primär über BETA Tester freuen und über Leute die Lust haben auch weiter dran zu basteln.

Es wird sowas wie MPI jedoch mit einem Server als zentrale Kommunikationsschnittstelle.

Nachtrag :

Ich habe mal die sourcen hochgeladen. Für den Anfang würde es mich interessieren ob es sich übersetzen lässt.Ein kleines Beispielprogramm liegt unter examples.

Für das Makefile bitte :

als root : make copy_hpp openlinda install eingeben.

Falls es wirklich interessiert für dieses lib gibt, kann ich mal einen kleinen Kurs zu LINDA machen. Es ist nicht besonders kompliziert.

OpenLINDA src

Benötigte libs :

Boost.Threads
Boost.Serialization

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von tsluga: 18.07.2007 00:58.

17.07.2007 19:06 tsluga ist offline E-Mail an tsluga senden Beiträge von tsluga suchen
phlox81 phlox81 ist männlich
Bote des Lichts und Moderator


images/avatars/avatar-2264.jpg

Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo

      Zum Anfang der Seite springen

Hm, hab leider keine Zeit mich selber in die Sourcen einzuarbeiten.
Exsistiert denn schon eine Onlien Doku wie z.b. man sie mit Doxygen erstellen könnte?

__________________
Intelligenz ist eine Illusion des Menschen

phlox81.de | codenode.de
18.07.2007 11:23 phlox81 ist offline E-Mail an phlox81 senden Homepage von phlox81 Beiträge von phlox81 suchen
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
BlackBoard » Design, Programmierung & Entwicklung » Projekte » C++ Koordinationssprache LINDA

Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH