Standort: futurezone.ORF.at / Meldung: "Space Based Computing: P2P für Profis"

Space Based Computing: P2P für Profis

28.09.2008|06:00

Ein Team der TU Wien arbeitet an Space Based Computing, einem Netzwerkkonzept, das effizienter arbeiten soll als die üblichen Client-Server-Lösungen. Doch das tief in der IT-Branche verwurzelte hierarchische Denken macht es schwer, potenzielle Kunden für das neue System zu interessieren.

Wikis haben es ermöglicht, dass verschiedene Menschen, die sich an unterschiedlichen Orten befinden, auf sehr einfache Weise an gemeinsamen Daten arbeiten können. Diese Form des Zusammenarbeitens hat sich sehr rasch verbreitet und völlig neue Projekte und Inhalte entstehen lassen.

Das berühmteste ist Wikipedia, die Online-Enzyklopädie. Das verteilte Arbeiten an gemeinsamen Daten ist schon seit längerem möglich - auch mit anderen Systemen. Doch hinter der Benutzeroberfläche ist es mit der Demokratie nicht weit her, denn zwischen den Rechnern herrscht in den meisten Firmennetzen eine strenge Hierarchie. Die Daten sind im Zentrum auf einem Server gespeichert, und ein strikt hierarchisches System an Kontrollen regelt den Zugriff.

Eva Kühn, Wissenschaftlerin am Institut für Computersprachen der Fakultät für Informatik der Technischen Universität Wien, will das ändern. Gemeinsam mit ihrem Team arbeitet sie an einem Konzept, das sie Space Based Computing nennt.

Eleganter rechnen

Eva Kühn, Professorin am Institut für Computersprachen der Informatikfakultät der TU Wien, bemüht sich seit mehr als zehn Jahren um einfache, minimalistische und "schöne" Lösungen in der Computerwelt.

Mit dem Space Based Computing glaubt sie, einen großen Schritt in diese Richtung weitergekommen zu sein. Bei Space Based Computing werden in einem eigens dafür geschaffenen, gemeinsamen virtuellen Datenraum - dem Space - einzelne Software-Teile koordiniert.

Gleichberechtigte Rechner können in diesem Raum Daten austauschen und so effizienter miteinander kommunizieren. Das geschieht in Echtzeit und weitaus unkomplizierter als herkömmliche Client-Server-Architekturen.

Menschen, die gemeinsam an einem Dokument arbeiten, schicken heute im Idealfall auch keine E-Mails mit Dateien mehr hin und her, wobei Konflikte zwischen den einzelnen Versionen entstehen können, sondern verwenden ein Wiki oder andere Werkzeuge zur vernetzten Zusammenarbeit. Warum sollten das nicht auch Computersysteme tun?

Straßenkreuzung und Restaurant

Statt sich gegenseitig Nachrichten mit Befehlen und Ergebnismeldungen zu schicken, schauen die Systeme also sozusagen auf eine gemeinsame Tafel. Das sei intuitiver, ausfallsicherer und effizienter als das herkömmliche System, so Kühn.

Zur besseren Anschaulichkeit zieht sie den Vergleich mit einer Straßenkreuzung: Herkömmliche Computersysteme arbeiten so, als ob jeder Autoverkehr, der zu einer Kreuzung kommt, alle anderen dort eintreffenden Autofahrer anrufen müsste, um zu klären, wer als Nächster fahren darf.

Weil das viel zu kompliziert und zu langwierig wäre, gibt es eine Verkehrsampel, auf die alle Verkehrsteilnehmer schauen können. Die Ampel entspricht damit grob vereinfacht dem Space, in dem Software-Teile Informationen austauschen können.
Wie sie darauf reagieren sollen, veranschaulicht das Restaurantbeispiel: In einem gut funktionierenden Restaurant meldet der Kellner die Bestellung in die Küche, und dort weiß jede Person, wann sie was tun muss, damit die Gäste am Ende alle bestellten Gerichte gleichzeitig auf dem Tisch haben.

Bei Space Based Computing agieren die einzelnen Software-Teile also autonom. Sie warten nicht auf Befehle und führen diese sofort aus, sondern sie schauen sozusagen in den Datenraum und entscheiden, wenn sie dort eine Aufgabe vorfinden, wann und wie sie diese am besten ausführen sollen.

Das Peer-to-Peer-Prinzip

Die Forschergruppe um Kühn hat bereits eine Infrastrukturtechnologie für Space Based Computing entwickelt. Es ist eine Art Peer-to-Peer-Software, mit der die einzelnen Systeme miteinander kommunizieren können.

Mit dieser Infrastrukturtechnologie können Software-Entwickler dann die entsprechenden Anwendungen bauen. Die Peer-to-Peer-Software liegt bereits in einer Betaversion vor und kann von der Website der Forschergruppe heruntergeladen werden für darauf aufbauende Entwicklungen.

Man könnte meinen, die Software-Entwickler würden sich sofort darauf stürzen. Tatsächlich aber erfordert das neue Paradigma offenbar auch ein komplettes Umdenken. Ralf Westphal aus Hamburg, der sich als "One Man Think Tank" bezeichnet, hat im Space-Based-Computing-Team die Aufgabe übernommen, das neue Paradigma gegenüber der Software-Entwicklergemeinschaft zu kommunizieren - und das sei gar nicht so einfach. Eine wichtige Botschaft sei, dass der wahre Nutzen von Spaces in der Synergie bestehe. Das neue System kann seine Stärken erst dann ausspielen, wenn man es in bereits bestehende Umgebungen integriert.

Besonders wichtig werde Space Based Computing für Anwendungen auf mobilen, vernetzten Geräten werden und für das Internet der Zukunft - sprich für die Weiterentwicklung kollaborativer Software und für das Semantic Web. Space Based Computing unterstütze einerseits demokratische, nichthierarchische Arbeitsweisen, und es werde andererseits erfordern, dass Organisationen, die Software entwickeln, in Zukunft weniger hierarchisch strukturiert sind, meint Westphal.

Heute Abend in "matrix"

Mehr zum Thema hören Sie am Sonntag um 22.30 im Ö1-Netzkulturmagazin "matrix".

[matrix | Sonja Bettel]

Die ORF.at-Foren sind allgemein zugängliche, offene und demokratische Diskursplattformen. Die Redaktion übernimmt keinerlei Verantwortung für den Inhalt der Beiträge. Wir behalten uns aber vor, Werbung, krass unsachliche, rechtswidrige oder beleidigende Beiträge zu löschen und nötigenfalls User aus der Debatte auszuschließen. Es gelten die Registrierungsbedingungen.

Forum

 
  • ....durchaus positive erfahrungen mit SBC

    jenny1925, vor 477 Tagen, 12 Stunden, 58 Minuten

    Ich persönlich habe bisher sehr positive Erfahrungen mit SBC gemacht. Ich bin grundsätzlich der Meinung, dass SBC nicht nur dazu dient rechenintensive Aufgaben zu verteilen, sondern generell auch Aufgaben zu koordinieren. Durch die gleiche Sicht aller Beteiligten lassen sich viele Koordinationsprobleme viel leichter lösen.
    Was das zentrale Hosten bestimmter Daten in Firmennetzwerken angeht werden auch weiterhin sicherlich Server dafür zuständig sein. Das spricht aber nicht unbedingt gegen einen Space, da ja der Server seine Daten auch im „Firmen-Space“ zur Verfügung stellen kann. Der kann schon nützlich sein, wenn zusätzlich zur direkten Kommunikation mit dem Server auch manchmal zwei Clients miteinander kommunizieren wollen. In einem Space könnten sie das einfach tun, ohne den Server zu belasten.
    Wo ein Space denke ich aber noch mehr Stärken zeigt sind Anwendungen die über das Internet verteilt sind. Da geht denke ich der Trend zu P2P Netzwerken, und weg von zentralen Servern. Z.B. ein Chat, wo die Clients direkt miteinander kommunizieren, skaliert wesentlich besser als einer, wo ein zentraler Server verwendet wird der sich um die Kommunikation zwischen allen am Chat beteiligten Clients kümmert......

  • ich verstehe den vergleich mit dem netzwerk nicht

    albundyfan, vor 498 Tagen, 14 Stunden, 9 Minuten

    das eine ist eine netzarchitektur und das andere eine softwarelösung.

    außerdem:wo werden die benutzerdaten abgelegt und die berechtigungen?dafür wird natürlich wieder eine zentrale datenbank benötigt.

    fazit:das hier vorgestellte system ist eine software für ein jeweils spezifisches problem, das verteilt daten bearbeitet.
    es ersetzt keineswegs die normalle netzwerkarchitektur denn das kann eine hundsnormalle software nicht.

    der vergleich wäre ca. so: wer braucht noch internet wenn wir p2p haben.

    • raffael, vor 477 Tagen, 13 Stunden, 6 Minuten

      Du hast recht, SBC soll spezifische Probleme leichter lösen. Es nutzt einfach die vorhandenen Netzwerke und ist daher auch sicher keine Netzwerkarchitektur.
      Wichtig ist denke ich viel mehr, dass ein solcher Space die eigentliche Netzwerkarchitektur verbirgt. Die Daten die vom Space zur Verfügung gestellt werden können in Wahrheit weiterhin von einem zentralen Server kommen. Oder aber auch von mehreren Servern. Oder von einem Netzwerk vieler verteilter Rechner. Für denjenigen der seine Daten aus dem Space heraus holt ist das irrelevant.

  • @tauceti wegen der ungenutzen Rechenpower

    honigbiene22, vor 498 Tagen, 23 Stunden, 7 Minuten

    Das wär natürlich was interessantes und sicher auch brauchbar. Aber da gibts auch schon andere Lösungsansätze: Nämlich erst gar keine Clientrechner mehr anschaffen, sondern die Client Betriebssystem virtuell - zb mittels VDI - laufen lassen. Das reduziert den Verwaltungsaufwand gleich nochmal um ein großes Stück. Da gibts dann pro Arbeitsplatz nen Thin Client, den ich die nächsten 10 Jahre nicht mehr anfassen brauche ;)

    • tauceti, vor 498 Tagen, 22 Stunden, 34 Minuten

      genau. Das war so in etwa meine erste Antwort ;-)

      Das Problem ist natürlich die Rechenpower des Servers, wenn einige Clients dran hängen, die wirklich Rechenpower brauchen (größere Projekte compilieren, Video-Rendering, etc.).

      Für "allgemeine Büro-Tätigkeiten" würde die Thin-Client-Lösung aber auf jeden Fall funktionieren.

    • honigbiene22, vor 498 Tagen, 2 Stunden, 15 Minuten

      Für sowas gibts dann natürlich potente Workstations oder eben eigene Server, auf denen dann die hungrigen Anwendungen laufen.
      Preislich ist da nicht viel Unterschied

  • Hausmusik

    musicnew, vor 499 Tagen, 5 Stunden, 34 Minuten

    über alle Kontinente verteilt.

  • Erstens: Nix neues.

    tomtiger, vor 499 Tagen, 7 Stunden, 59 Minuten

    Ist im Endeffekt NUMA.

    Zweitens: Wo sind die Vorteile? Es ist genau der selbe Scheiß wie Objekt Orientiertes Programmieren. Es ist anders, aber "besser" ist es nicht.

    Drittens: Um es einfach zu machen soll Frau Kühn doch einfach mal demonstrieren, wie man so einen personenbezogenen Datensatz verarbeiten kann, rechtskonform wohlgemerkt.

    Das System ist sicher ideal, um beispielsweise die europäischen Fluggastdaten den USA bereitzustellen.

    • HAHA!

      sandalwood, vor 498 Tagen, 17 Stunden, 3 Minuten

    • *g*

      sandalwood, vor 498 Tagen, 16 Stunden, 56 Minuten

      @zweitens

      kA, was du so machst am pc aber ernsthaft (gewinnträchtige) software schreibst du scheinbar nicht. normalerweise bin ich nicht so agressiv aber in deinem fall muss ich einfach anmerken, dass du absolut ignorant bist wenn du oop als "nicht besser" hinstellst, da heutzutage der einzige grund, nicht oop zu programmieren, performance wäre - und das käme nur auf embedded systems wirklich zu tragen. Ansonsten ist die angenehmere und sicherere (!!!) Programmierbarkeit absolut dominant.

      lg, Uli!

    • @tomtiger

      nudgenudge, vor 498 Tagen, 2 Stunden, 22 Minuten

      Spaces (Jave Name dafür) bieten eine bessere Entkopplung von Modulen. Sowohl Logisch als auch zeitlich und örtlich.

      Es ist klar, daß man das aus diesem sehr kurzen Artikel als Laie nicht herauslesen kann.

  • klingt interessant...

    derskalarvonperl, vor 499 Tagen, 8 Stunden, 33 Minuten

    darf ich dabei behilflich sein (wenn die Mäuse dafür stimmen!)?

  • Dinge, die die Welt nicht braucht. Oder auch: "huh! Ein...

    honigbiene22, vor 499 Tagen, 10 Stunden, 42 Minuten

    ...neues Buzzword!"

    Nachdem man seit Jahren daran arbeitet, Daten und Anwendungen nur noch zentral zu speichern/hosten, kommt nun sowas. Außerdem entgeht mir jede Sinnhaftigkeit für dieses Space Based Computing, zumindest was den Einsatz in Unternehmensnetzwerken bzw Groupware Lösungen angeht. Und dass eine zentrale Verwaltung komplizierter und aufwändiger als dieses Space Based Computing wäre, halte ich mal für ein Gerücht.

    • tauceti, vor 499 Tagen, 10 Stunden, 10 Minuten

      ach, es ist doch viel einfacher, die Daten von zig Rechnern zu sichern und die Software auf zig Rechner zu verteilen und zu überwachen, dass auch überall die neueste Version läuft, als alles nur einmal auf dem Server durchzuführen.

      ;-)

    • tauceti, vor 499 Tagen, 10 Stunden, 5 Minuten

      Natürlich hat die Idee schon seine Reize - klar. Aber mehr Sinn macht das meiner Meinung nach bei rechenintensiven Aufgaben:

      Ein längerer Compile-Job oder eine intensive Grafik-Berechnung könnte zwar von einer Person initiiert, aber auf allen "in der Nähe" verfügbaren (vertrauenswürdigen) Rechnern verteilt durchgeführt werden. Das Ergebnis landet nach kurzer Zeit bei dem, der die Aufgabe gestartet hat. (ich glaube, verteiltes compilieren gibt's schon irgendwo)

    • tauceti, vor 499 Tagen, 10 Stunden, 1 Minute

      (eine aufwändige Video-Bearbeitung könnte man genauso verteilen - statt dass ein einziger Rechner den ganzen Film berechnet, liefert jeder eben nur ein Teilstück und diese werden zu einem zusammengesetzt. Wenn das Zusammensetzen des Ergebnisses aufwändig ist, dann kann man auch das verteilen: jeweils 2 setzen ihr Ergebnis zusammen - aber ich glaube, das trifft auf Videos nicht zu. Da kommt's eher auf die Plattenperformance drauf an. Der Overhead für das Verteilen ist da nicht ohne...).

    • tauceti, vor 499 Tagen, 9 Stunden, 52 Minuten

      (dh. das "verteilte Zusammensetzen" wird bei Videos wohl nichts bringen. Das verteilte Berechnen aber mitunter sehr wohl)

    • tauceti, vor 499 Tagen, 9 Stunden, 49 Minuten

      Im Endeffekt sind Projekte wie SETI nichts anderes - aber in einem ganz anderen Maßstab... (natürlich liegt das "schwarze Brett" - welche Aufgaben sind zu erledigen - auf einem Server)

    • Video eher nicht.

      heavyweather, vor 499 Tagen, 9 Stunden, 43 Minuten

      aber Renderings. Ein Datensatz zur berechnung eines Bilde ist nicht besonders gross aber die dafür benötigte Rechenzeit um so länger.
      statt 24h nurnoch 10min für ein sehr aufwendiges Rendering wären schon begüssenswert. Bis jetzt schickt man solche Jobs halt an ein Renderfarm. Verstehe auch nicht warum das noch nicht in einige Engines implementiert wurde. Jeder muss seinen Rechner oder seine eigene Farm betreiben.