DMUG-Archiv 2000

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Re: Der Mac und Mathematica - Perspektiven

Hallo,

also das MacOS X ist ein vern"unftiges System -- falls es
funktioniert. Ein PowerPC ist auch eine vern"unftige
CPU -- schliesslich gibts von IBM Supercomputer damit.


SNIPP SNAPP -- weg mit der ekligen Werbung

> Macs mit zwei Prozessoren _serienmaessig_ !
> 
> Das zugehoerige multiprozess- und multiprozessorfaehige Betriebssystem Mac
> OS X ist in ersten Versionen schon auf dem Markt. In Kuerze werden auch
> ganz normale Anwendungen diese Moeglichkeiten nutzen.

Auf dem Markt ???? Eine beta-Version 

http://www.apple.com/macosx/beta/

ist nicht "auf dem Markt" sondern ein 
beta-Test. Falls Apple die Stirn hat, seinen beta-Testern auch noch
Geld abzunehmen, damit sie f"ur Apple arbeiten, zeugt das einmal mehr 
von cleveren Gesch"aftsmodellen dieser Firma.

> 
> Das gibt es _in dieser Kombination_ _in der Serie_ noch bei keinem PC !

Selbstverst"aundlich gibt es serienm"assige PC's mit
2 CPU'.  z. B 

http://www.sgi.com/workstations/330/
http://www.sgi.com/workstations/550/

Sonst h"atte sich wohl keiner die M"uhe gemacht
Linux SMP zu entwickeln. Microsoft verkauft seit Jahren
Windows NT mit Dualprozessor Unterst"utzung -- aber 
an wen ?? wenn es laut Herrn Woysch gar keine Rechner 
daf"ur gibt.

Von den ganz normalen Anwendungen die das ausnutzen w"urde
ich mal sagen Maya, Lightwave, Cinema 4D ... die aber wohl
keiner kauft weil es ja keine "serienm"assigen PC mit mehreren
Prozesoren" gibt.

Nat"urlich gibt es "diese Kombination" auf keinem PC, weil es 
kein MacOS X daf"ur gibt -- insofern ist das schon
richtig. Es gibt auch keine Birnen die "Apfel sind.
Man kann aber einfach Linux SMP oder Solaris auf den 
PC Spielen und hat auch ein Unix mit Mehrprozessorkern.

SNIPP SNAPP -- weg mit der ekligen Werbung

> 
> Deswegen wird diese Entwicklung _frueher_ bei den _Macs_ greifen als bei
> den PCs !

und der Igel sagte "Bin schon da."

> 
> Es wird deutlich frueher einen Multi-Multiprozessor-Mac _in Serie_ geben
> als einen vergleichbaren Multi-Multiprozessor-PC !
> 

Insofern ist es erfreulich, dass mit ca 5 Jahren Versp"atung
auch eine Mac sowas hat. Den Eindruck, das bei Mac's die
Zeit stehen geblieben ist hatte ich schon immer -- jetzt l"auft
sie sogar r"uckw"arts. Ist *das* "Uberholen ohne Einzuholen --
Walter Ubricht als Vordenker der Mac User ?

Bei Server Systemen (Intel, MIPS, Sparc, PowerPC CPU's mit
Windoofs NT, IRIX, Sun OS, AIX) sind (seit Jahren) 
2,4, 8 CPU's "ublich und da die Dinger nicht in 
einer Hinterhofgarage in Kreuzberg 
zusammen geschraubt werden, ist die Produktion wohl 
auch serienm"assig.

SNIPP SNAPP -- weg mit der ekligen Werbung

> Folgerungen fuer Mathematica
> ----------------------------
> 
> Aus diesen Ueberlegungen folgt fuer mich, dass fuer Mathematica die
> parallelen Algorithmen immer wichtiger werden werden.
> 
> Schliesslich sind solche Algorithmen-Entwicklungen nicht von heute auf
> morgen zu realisieren, sondern das alles braucht seine Zeit !
> 

Das Problem bei den Dual-Prozessor Rechnern, ist, das die keiner kauft
weil
 das Verh"altnis Preis/Leistung  absolut nicht stimmt.
Ich kenne pers"onlich auch nur eine (gr"ossere) 
Anwendergruppe die Mehrprozessorsysteme ausnutzt und das sind 
Filmproduktion && Rendering weil man "ublicherweise die einzelnen
Frames in einem Film getrennt rendern kann.
Nat"urlich auch Server-Anwendungen, also File, Applikations
und WWW-Server, die dann mehrere Anfragen bearbeiten k"onnen.

Ich hatte mal ein paar Dual UltraSPARC's und bis aus meine 
Plasma-Simulation und ein paar andere parallele Programme
war der CPU-Load bestenfalls bei 50%. Solange *ein* Mensch
vor dem Rechner sitzt und die meisten Rechner ohnehin nur 
auf Eingaben warten ist das in den meisten F"allen Unsinn.

Das kann man sich auch ganz einfach "uberlegen -- sagen wir mal
der (EinProzessor)-Rechner braucht f"ur die Berechnung
genauso lange wie ich, f"ur das Eintippen ders Befehls.
Da ich nicht schneller schreibe, beschleunigt der zweite
Prozessor nur die Berechnung und summa summarum bin ich nur
25 % schneller. Der Rechner ist aber "ublicherweise mehr
als doppelt so teuer.

Bei einem normalen Algorithmus ist es genauso. Der
hat einen Anteil der sich parallelisieren l"asst
und einen seriellen Teil. Kann man nur 60 % parallelisieren
w"urde mit (unendlich vielen CPU's die diese 60 % auf 0%
Rechnezeit bringen) die ganze Berechnung nur *dreimal* schneller.
Normalerweise entsteht aber ein "over head" bei der
Parallelisierung der verhindert, dass man den *ideal* Wert
erreicht und die unendlich vielen CPUs machen auf dem Mainboard
nur "Arger.

Bei massiv parallelen Systemen sagt man "ublicherweise
"Wenn sich nicht mehr 90 % eines Algorithmus parallelisieren
lassen, lohnt sich der Aufwand nicht".

Bei einem Desktop-Rechner ist der Hauptaufwand die
Ein- und Ausgabe, die sich generell nicht parallelisieren 
l"asst, da auf *eine* Tastatur und *einen* Bildschirm zugegriffen
werden muss.

Als wir vor einem Jahr ganz viele Rechner gekauft haben --
"ubrgens Intel CPU's mit (Windows NT /Linux) hatten wir
auch die Option eine zweite CPU dazuzukaufen. (Ja, schon
damals gab es serienm"assig PC's mit zwei CPU's)
Wir haben das  aus den obigen Gr"unden nicht getan,
sondern einfach ein paar mehr Rechner gekauft -- es ist
f"ur einen Desktop-Rechner nur Geldverschwendung
eine zweite CPU zu kaufen. Wenn man nicht ganz viele Filme
machen will.

"Ubrigens hatte die c't vor ca 1 1/2 Jahren mehrere Beitr"age
"uber DualProzessor PC-Systeme (die laut Herrn Woysch alles
Einzelst"ucke gewesen sein m"ussen). Da kam das selbe raus --
es lohnt sich nicht ein Dual-System auf dem Desktop zu haben.

Wer unbedingt mit Mathematica parallel rechnen will, kann
sich das "Parallel Computing Toolkit"

http://www.wri.com/products/applications/parallel/

kaufen. Oder er macht einfach sein paralleles Programm selber,
weil ja MathLink  schon (fast) alles bietet was man dazu braucht --
auch seit Jahren.

*Wenn* es irgend eine Schlussfolgerung f"ur Mathematica gibt,
dann die, dass MathLink Funktionen f"ur Gater/Scatter Operationen,
und zur Prozesssynchronisation (barrier ...) bekommen *muss*. Damit
man nicht auf die Master/Worker Topologie angewiesen ist.
Da  w"urde ich mir sowas wie das Message Passing Interface 
w"unschen, bloss dass alle Funktionsnamen mit ML 
anfangen, statt mit MPI ;-) 

Ich bin jedenfalls mit meinem Versuch eine (zyklische) 
Ketten-Topologie mit MathLink zu erzeugen j"ammerlich 
gescheitert, weil ich zwar noch die Kernel als Kette
verbinden konnte, aber die "Ubergabe der Daten entlang der
Kette fr"uher oder sp"ater in einem dead lock endete.
Von anderen Topologien habe ich dann die Finger gelassen.
Ich werd's aber nochmal probieren :-)

Parallele Algorithmen f"ur so kleine Systeme (2,4 CPU's) gibt es fast
nicht -- eben weil es sich nicht lohnt. Wenn der Algorithmus
skalierbar ist -- also auf 16 CPU's schneller wird als auf
4 dann hat man eine Chance. Auch weil man dann 
eben die Problemgr"osse anpasst und so den parallelen Anteil
der Berechnung erh"oht. Man l"ost dann eben 2 Millonen Gleichungen
statt 1/2 Million, oder nimmt mehr Basisfunktionen 
in der Quantenchemie. In der Computeralgebra hat man da weniger
Freude, weil man eben die L"osungen von genau 4 Gleichungen sucht
und nicht von 40 oder 4000.

Ich nehme auch an, das die Speicherverwaltung f"ur eine "interne"
Parallelisierung im Kernel das Hauptproblem ist. Mathematica
hat seine eigenen Speicherverwaltung, schon um eine Heap-Fragmentierung
zu verhindern. Ein paralleles FullSimplify[] das ja intern ein
Optimierungsproblem bez"uglich LeafCount[] oder ByteCount[] l"ost
w"urde sich andauernd "uber die gemeinsame Speicherverwaltung
ausbremsen, auch wenn man einfach an einer Stelle
sagen k"onnte "Ich habe hier zwei m"ogliche Vereinfachungen --
jeder Prozessor vereinfacht eine Variante und wir nehmen am Ende die
Beste."

Wegen des Speichers sind auch die massiv parallelen Rechner alle 
distributed memory Systeme, bei denen jede CPU ihren eigenen
Speicher hat -- deshalb ist MathLink & das Parallel Computing
Toolkit schon die cleverste L"osung.

Gruss
  Jens

PS: Was hat diese abstossende Mac Werbung (sollte man nicht
spam dazu sagen) mit Mathematica zu tun ? Sind 4 Zeilen
gequ"alter Mathematica Bezug schon genug um 60 Zeilen
Mac Webungsgebrabbel zu rechtfertigen ? Sollte man, wenn man
von Parallelverarbeitung redet, nicht wenigstens ein *bisschen*
Ahnung davon haben ? Glauben MacUser den Werbeschwachsinn von
Apple ? Sollten Mac-Benutzer mal in eine ander Computer-Zeitung als
in "MacUser" schauen ? 

Fragen "uber Fragen --- die ich *nicht* beantwortet
haben will.

> Die Chips werden immer hoeher integriert, und das sehr schnell. Wir werden
> es alle noch erleben !

Hoffentlich erlebe ich noch, das es Hirn regnet -- besonders 
vor Mac-Computern.


Antworten:
Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html