none
[Info] Windows Azure Architecture Guidance (Teil5a von …?)

    Allgemeine Diskussion

  • Hallo zusammen,

    wie bereits angekündigt, geht es ab der heutigen Folge der Windows Azure Architecture Guidance um das Thema “Windows Azure und Parallel Computing“.

    Aufgrund der Komlexität des Themas erscheint die Folge in zwei Teilen:

    • Parallel Computing – Eine Einführung
    • Parallel Computing und Windows Azure

    Warum zunächst eine Einführung?

    Die Anforderung an die Architektur und das Design von Parallelen Anwendungen sind deutlich höher, als in normalen Anwendungen: Wenn wir eine Parallele Anwendung in Windows Azure realisieren wollen, sollten deshalb die wesentlichen Punkte bekannt sein.

    Was ist nicht Teil dieser Einführung?

    Diese Einführung vermittelt keine Kenntnisse in der Entwicklung von Parallelen Anwendungen.

    Wer sich mit dem Thema intensiver auseinander setzen möchte, sollte das Parallel Computing Developer Center auf MSDN besuchen:

    http://msdn.microsoft.com/en-us/concurrency/

    Eine gute Quelle ist auch das Microsoft Patterns and Practices Projekt:

    Parallel Programming with Microsoft .NET

    Ok, fangen wir an.

    Zu Beginn unserer Arbeit müssen wir die Möglichkeiten der Parallelen Verarbeitung in  unserer Anwendung identifizieren. Das Gebiet Parallel Computing kennt dafür zwei Arten:

    Data Decomposition (Zerlegung von Datenblöcken): Die Data Decomposition bietet sich immer dann an, wenn größere Datenmengen (z.B. in der Massendatenverabeitung oder Datenimporte) die immer gleiche Operation aufrufen. Bei z.B. 10000 Datensätzen kann bei einen Quad Core Prozessor die Verarbeitung in vier Blöcken mit 2500 Datensätzen gesplittet werden.

    Function Decomposition (Zerlegung nach Funktionen): Bei der Function Decomposition suchen wir nach Funktionen die unabhängig voneinander verarbeitet werden können.

    Ein Beispiel: Bei einem Ordersystem ist Funktionsaufruf 1 die Annahme der Bestellung, Funktionsaufruf 2 die Weitergabe der Daten, an das CRM System und Funktionsaufruf 3 die Weitergabe der Daten, an das Warenwirtschaftssystem. Funktionsaufruf 2 und 3 sind unabhängig voneinander, können also parallel verarbeitet werden.

    Treten aber schon geringe Abhängigkeiten zwischen den Funktionsaufrufen auf, ist eine Parallele Verarbeitung fast unmöglich.

    Ein Beispiel: Den Funktionsaufruf “Daten validieren” kann ich nicht vor Abschluß des Funktionsaufrufs “Daten einlesen” beginnen.

    Fortsetzung im nächsten Teil

    Schöne Grüße

    Oliver

    [Orginalpost: http://wazcommunity.wordpress.com/2012/05/06/windows-azure-architecture-guidance-teil5a-von/ ]


    Montag, 7. Mai 2012 11:43
    Moderator