Moin
Intel HT, Beowulf.
OK, das sind 2 unterschiedliche Konzepte, spezialsier dich erstmal auf eines von beiden.
Man unterteilt die Konzepte generell nach der Zeit die man braucht um an Daten von einem anderen Knoten zu kommen. Da beim P4-HT die Daten schon in der gleichen CPU sind ist die Zeit sehr klein. Bei Beo müssen die Daten schon über ein Netzwerk wandern. Das sind einige Grössenordnungen mehr.
Es ist zwar nicht die Microparallelisierung, aber es wird ein
Projekt zum verteilten Berechnen, in dem der User seinen
Algorithmus eingibt.
Dann müsstest du dem User eigentlich möglichst viele Freiheiten lassen. Der User müsste selbst wissen wie sein Algo am besten mehrere PC gleichzeitig benutzen kann.
Am einfachsten wäre ein SIMD-Ansatz: der User gibt einen Algo vor (der auf einem Datensatz arbeitet) und viele Datensätze die er durchackern möchte. Bei jedem Durchlauf wird nur ein Datensatz gebraucht, d.h. die Datensätze sind völlig unabhängig voneinander. Dann muss man nur noch viele „freie“ CPU’s finden, denen Algo und ein paar Datensätze schicken, nachher einsammeln… das funktioniert wenn die Datensätze und ihre Ergebnisse nicht zu gross sind UND jeder Datensatz viel Zeit braucht.
Das ist aber auch der Ansatz mit den wenigsten Möglichkeiten. Seti, Climateprediction, LHC, destributed.net,… arbeiten damit weils einfach ist und sie ihre Algos so definieren können.
Aber es gibt auch viele Projekt die nicht so arbeiten können (z.B. weil für die Berrechnung eines Datensatz die Ergebnisse von anderen Datensätzen vorliegen müssen, siehe EarthSimulator, Wettersimulation, nukleare Simu. ,…). Da greift man dann zu etwas i.d.A. http://www-unix.mcs.anl.gov/mpi/ . Aus sowas Leistung rauszuholen ist komplexer als es aussieht. Meistens ist der Overhead für die Organisation und Verwaltung der Daten wesentlich höher als der Nutzen. Da ein universelles, für alle User verständliches und durchschaubares System zu zaubern ist nicht drin.
cu