DMUG-Archiv 2000

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

Re(2): Der Mac und Mathematica - Perspektiven

Stuttgart, den 22. Oktober 2000

Sehr geehrter Herr Kuska,

Der Mac und Mathematica - Perspektiven
--------------------------------------

es wird langsam Zeit, dass ich Ihnen doch noch einmal auf Ihre eMail vom
12. Oktober 2000 antworte.

Vielen Dank fuer Ihre ausfuehrliche und inhaltsreiche Stellungnahme zu
meinen Ueberlegungen. Dahinter steht ja Ihre sehr breite Anwendererfahrung
mit Mathematica und ein sehr gutes Verstaendnis fuer die interne
Architektur von Mathematica.

Ich weiss beides zu schaetzen !

Ein wenig geschmunzelt habe ich darueber, wie emotionell Sie doch in dieser
so logischen und nuechternen Denkwelt dieses hochinteressanten
Computer-Algebra-Systems noch argumentieren.

Selbst hinter der puren Logik stehen eben immer noch Menschen !

Mathematica Parallel Computing Toolkit
--------------------------------------

Ich selbst bin ein langjaehriger, aber nur sehr intermittierender Benutzer
von Mathematica. 

Aus diesem  Grund bin ich fuer die Moeglichkeit, verschiedenste Fragen in
der DMUG stellen und auch Diskussionen zu Themen mit Bezug zu Mathematica
anstossen zu koennen, dankbar. 

Ich schaue auch nicht jeden Tag auf die Webseiten von Wolfram Research.

Richtig, dort auf der Einstiegsseite http://www.wolfram.com findet sich der
Hinweis auf den

   Parallel Computing Toolkit ,

den ich vorher nicht kannte.

Anscheinend ist er seit Februar 2000 verfuegbar.

Autor dieses Parallel Computing Toolkit ist Herr Dr. Maeder - ein
ueberraschende und erfreuliche Entdeckung !

Alle Achtung fuer die gut durchdachte Systematik hinter diesem Toolkit !

Infos zum Toolkit
-----------------

Fuer alle diejenigen DMUG-Mitglieder, die ebenso wie ich seltener bei
Wolfram Research im Internet nachschauen, hier einige minimale
Informationen zum Parallel Computing Toolkit, direkt von den Webseiten von
Wolfram Research :

----

Parallel Computing Toolkit
==========================

Unleash the Power of Parallel Computing
---------------------------------------

Parallel Computing Toolkit brings parallel computation to anyone having
access to more than one computer on a network or anyone working on
multiprocessor machines. 

It implements many parallel programming primitives and includes high-level
commands for parallel execution of operations such as animation, plotting,
and matrix manipulation. Also supported are many popular new programming
approaches such as parallel Monte Carlo simulation, visualization,
searching, and optimization. The implementations for all high-level
commands in Parallel Computing Toolkit are provided in Mathematica source
form, so they can serve as templates for building additional parallel
programs. 

Licensing Information
---------------------

On a network, Parallel Computing Toolkit needs a licensed Mathematica
kernel for each process. On non-networked multiprocessor Macintosh and
Windows computers, the Mathematica license agreement allows users of a
single-machine license to run multiple kernels. Only one copy of Parallel
Computing Toolkit is needed on the network or computer. 

Features of Parallel Computing Toolkit
--------------------------------------

Parallel Computing Toolkit supports all common parallel programming
paradigms such as virtual shared or distributed memory, automatic or
explicit scheduling, and concurrency including synchronization, locking,
and latency hiding. Other features of Parallel Computing Toolkit include
machine-independent implementation, parallel functional programming, and
failure recovery and automatic reassignment of stranded processes in the
event of a system failure. 

Parallel Computing Toolkit implements many parallel programming primitives
and includes high-level commands for parallel execution of operations such
as animation, plotting, and matrix manipulation. It comes with numerous
examples demonstrating many popular new programming approaches such as
parallel Monte Carlo simulation, visualization, searching, and
optimization. Because Parallel Computing Toolkit also provides the
Mathematica source code for all high-level commands, these operations and
examples can serve as templates for building additional parallel programs. 

Users can benefit by employing Parallel Computing Toolkit in a number of
ways. The easiest, and often surprisingly effective, method is simply for
users to wrap a command such as ParallelEvaluate around their code.
Parallel Computing Toolkit then assigns individual calculations
automatically to free processes across the network. With slightly more
effort, advanced users of Parallel Computing Toolkit can optimize
performance even more by using explicit scheduling of their calculations.
Like all parallel computing environments, Parallel Computing Toolkit shows
the best performance improvements for inherently parallel computations like
many list and matrix operations or for repetitive operations like Monte
Carlo simulations. 

Engineers, scientists, and analysts will find Parallel Computing Toolkit to
be an ideal tool for performing the large-scale computations often involved
in the product-design and problem-solving process. Says Roman Maeder,
creator of Parallel Computing Toolkit, "One of my key motivations for
writing this package was to finally make serious parallel computing truly
accessible to a wide range of workgroups, labs, and classrooms." Parallel
Computing Toolkit is written entirely in the platform-independent
Mathematica programming language, giving users access to all of
Mathematica's legendary numeric, symbolic, and graphic parallel-computation
capabilities. 

For more on Parallel Computing Toolkit, visit
http://www.wolfram.com/products/applications/parallel. 

------

Varianten paralleler Implementierungen
======================================

Multiprozess- und Multiprozessor-Systeme
----------------------------------------

Ein wesentlicher Grundgedanke der Architektur von Mathematica ist seine
Plattform-Unabhaengigkeit.

Daraus folgt auch die Tatsache, dass der Parallel Computing Toolkit
anscheinend zuerst auf Multiprozess- und Multiprozessorsysteme ausgerichtet
ist.

Interessanterweise unterstuetzt der Parallel Computing Toolkit schon heute
die von Mathematica gesteuerte automatische Verteilung einer Berechnung auf
mehrere Prozessoren in einem Netzwerk, wenn man bestimmte Kommandos mit
ParallelEvaluate verpackt, und wenn auf diesen Prozessoren
Mathematica-Lizenzen vorhanden sind.

Es ist klar, dass ParallelEvaluate auf der Systematik der
Prozesskommunikation aufbaut, die auch ganz _explizit_ vom Parallel
Computing Toolkit unterstuetzt wird.

Gerade diese explizite Unterstuetzung der parallelen Programmierung bietet
die Chance, das Verstaendnis fuer die Anwendungsfelder,
Anwendungssystematik und Anwendungsprobleme paralleler Algorithmen weiter
zu entwickeln.

SISD-Instruktionen und SIMD-Instruktionen
-----------------------------------------

Offensichtlich kann der Uebergang von Single-Instruction-Single-Data
(SISD-) Instruktionen auf Single-Instruction-Multiple-Data (SIMD-)
Instruktionen bei bestimmten Prozessoren von Mathematica nicht allgemein
unterstuetzt werden, weil dieser Uebergang einfach zu prozessorspezifisch
ist.

Andererseits kann ein einzelner Mathematica-Anwender sicher auch die
SIMD-Instruktionen seines Prozessors nutzen, wenn er entsprechende lokale
Programme in ein Mathematica-Notebook mit einbezieht.

Die {Transputer,Occam}-Architektur
----------------------------------

Ich erinnere mich noch daran, wie sehr ich vor vielen Jahren von der
{Transputer,Occam}-Architektur fasziniert war (selbst wenn ich nie damit
arbeitete). 

Da waren die Kommunikations-Primitive ganz selbstverstaendlich in die
Sprache Occam eingebaut, und der Rechner realisierte sie einmal mit seinen
vier physikalischen seriellen Schnittstellen in der Nord, Ost, Sued und
Westrichtung, soweit das moeglich war, andererseits aber durch normale
Prozesskommunikation bei mehreren Prozessen auf einem Prozessor.

Schliesslich gab es die Moeglichkeit, ein Multiprozessprogramm in Occam zu
schreiben, und erst nach seiner Erstellung festzulegen, wie die
verschiedenen Prozesse an bestimmte Prozessoren gebunden werden sollten -
und zwar in dem Sinne flexibel, dass man auf unterschiedlich grossen
Transputer-Systemen auch unterschiedliche Prozess-Prozessor-Zuordnungen
realisieren konnte.

Bitte nageln Sie mich nicht auf alle Details fest - das ist einfach schon
zu lange her ..

Aber interessant war die {Transputer,Occam}-Architektur auf jeden Fall, und
man sollte wieder einmal nachlesen, welche Probleme damals wie geloest
wurden !

Die grossen Linien sehen
========================

Ich habe kein Problem damit zuzugeben, dass ich in meiner ersten eMail
recht grosszuegig argumentierte. 

Manchmal ist es garnicht so schlecht, die Augen zuzukneifen, bis man alles
ein wenig unscharf sieht, denn dann erkennt man die grossen Linien - alles
andere geht unter ...

Serienherstellung und Maerkte
-----------------------------

Ganz sicher ist es richtig, dass es bereits seit laengerem
Multiprozessorsysteme mit Intel-Rechnern auf dem Markt gibt, und dass
Microsoft dazu auch die entsprechenden Betriebssysteme anbietet.

Da gibt es gar nichts zu bestreiten.

Aber es ist sicher auch richtig, dass das nur _ganz kleine_ Spezialmaerkte
sind.

Apple's Zwei-Prozessor-G4-Rechner als strategische Entscheidung
===============================================================

Aus meiner Sicht ist es die _strategische Leistung_ von Steve Jobs von
Apple, dass er _seine Desktop-G4-Rechnerlinie_ - einen ganz wichtigen
_Kern_ seiner verschiedenen Produktlinien -  zu einem Zeitpunkt auf ein
_Zwei-Prozessor-System_ umstellt, zu dem das entsprechende Betriebssystem
in Kuerze verfuegbar sein wird.

Steve Jobs fuehrt damit _Multi-Prozessor-Systeme_ in die _Mitte seines
Marktes_ ein.

Eine entsprechend gewichtige Grundsatz-Entscheidung sehe ich bei _keinem
anderen_ Rechner-Hersteller der PC-Welt.

Richtig, Mac OS X ist erst als eine Beta-Version auf dem Markt.

Aber, ebenso richtig, die Mac OS X Server-Version ist bereits seit
laengerem verfuegbar, und sie laeuft anscheinend auch. 

Damit ist - nach meinem Verstaendnis - auch der Betriebssystem-Kernel
verifiziert. 

Wenigstens unter Informatikern scheint mir das doch ein entscheidendes
Argument zu sein ..

Das Kostenargument
==================

Schliesslich moechte ich doch auch ein gewichtiges Basis-Argument von Ihnen
erwidern :

 >> Das Problem bei den Dual-Prozessor Rechnern, ist, 
 >> das die keiner kauft weil das Verh"altnis Preis/Leistung  absolut nicht
stimmt.

Hier gilt :

Die Apple Zwei-Prozessor-G4-Rechner kosten _nicht mehr_ als vorher die
Ein-Prozessor-G4-Rechner !

Die Zukunft von nur zwei Prozessoren
====================================

Natuerlich sind das _heute_ _nur_ zwei Prozessoren. 

Man muss klein anfangen - aber der erste, _wichtigste_ Schritt, ist gemacht
!

Nirgendwo ist aber das Wachstum so rasant wie bei den Integrationsdichten
der Halbleitertechnik heute; und das wird noch einige Jahre so bleiben.

Die International Roadmap for Semiconductors (ITRS-99) gibt ueber die
erwartete Entwicklung bis zum Jahr 2014  Auskunft, so gut, wie man das
ueberhaupt kann. Vermutlich geht aber alles deutlich schneller, als dort
angegeben ..

Deswegen sende ich Ihnen die Einfuehrungskapitel auf Diskette zu, damit Sie
mal einen kleinen Einblick in das Original haben. 

Das vollstaendige Dokument der ITRS-99 kann man herunterladen von

  http://www.sematech.org  , 

  bzw. 

  http://public.itrs.net  .

Meine Einschaetzung der Entwicklungstrends der PC-Welt gegen die
PowerPC/Mac-Welt brauche ich ja nicht zu wiederholen. 

Ich halte sie fuer zutreffend, sonst haette ich sie nicht zum Kern meiner
Argumentation gemacht !

Meine Vorstellung fuer Mathematica
==================================

Ich schaetze Mathematica als eines der wenigen, wissenschaftlichen
Programme, die sich auf Grund ihrer Funktionalitaet ihren eigenen Markt
geschaffen haben - auf der Basis einer Grundlagenwissenschaft.

Ich denke eigentlich, dass sich _grundsaetzliche Trends_ der Rechnernutzung
in Mathematica wiederfinden sollten, ja wiederfinden _muessen_.

Es gibt nur wenige Bereiche, in denen innovative und grundlegende Argumente
wirklich etwas bewegen und eine Realisierung anstossen koennen.

Bei Mathematica hoffe ich eigentlich darauf, dass man auch in solchen
Situationen Bewegung und Interesse findet ..

Ich wusste nicht, dass es den Parallel Computing Toolkit gibt; sonst haette
ich vermutlich meine erste eMail zu dem Thema

   Der Mac und Mathematica - Perspektiven

nicht geschrieben.

Andererseits meine ich, dass ich meine Ueberlegungen durch diesen Parallel
Computing Toolkit eher bestaetigt als widerlegt sehe.

Literatur-Quellen
-----------------

Nun, zum guten Schluss, moechte ich doch noch eine Literatur-Quelle
angeben, die ich auf Ihren Hinweis hin ausgrub :

    Herr, schmeiss Hirn ra !
    Die schwaebischen Geschichten des Gerhard Raff
    DVA, 1985, 20. Auflage 1997, DM 26.00
    ISBN 3-421-06257-9 .

In der Hoffnung, dass selbst ein Klappentext ein wenig ueber das Buch
mitteilt, folgt hier diese Einfuehrung :

----

Seit 1973 erscheinen in der _Stuttgarter Zeitung_ in lockerer Folge die
schwaebischen Geschichten des Gerhard Raff, von einer breiten Leserschaft
dank ihres Dialekts und ihrer Dialektik geschaetzt. Erklaerte Absicht des
Verfassers war es von Anbeginn an - seinerzeit noch als einsamer Rufer in
der erst im Entstehen begriffenen (Beton-)Wueste -, eindringlich vor den
Folgen einer "Verstuemmelung und Zerstoerung der natuerlichen
Lebensgrundlagen unseres Landes zugunsten einer unter der Bezeichnung
Fortschritt firmierenden Koalition von Habgier und Dummheit zu warnen" .

Nicht zuletzt aber sollten in den Geschichten, die in ihrem Witz ebenso
charakteristisch sind wie in der Breite ihrer Thematik und zuweilen an die
Kalendergeschichten von Johann Peter Hebel erinnern, jene geistigen und
humanitaeren Grundlagen wieder ins Gedaechtnis gerufen werden, die
Wuerttemberg bis in die Tage des westdeutschen Wirtschaftswunders sein
charakteristisches Gepraege gegeben haben.

----

Gruss
=====

Es gruesst aus dem Schwaebischen ein Fast-Schwabe, der immer seine Freude
daran hatte, sich mit Dingen zu beschaeftigen, die er noch nicht ganz
verstand, und deswegen noch etwas neues zu lernen.

Alles andere ist einfach nicht so interessant.

Diese Grundhaltung will ich nicht aendern !

Gunter Woysch






    



















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

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