[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Apr 2005
    Beiträge
    104
    Es wäre für uns ganz interessant zu hören, unter welchen Umständen die Programme A und B1, ..., Bn laufen sollen. Z.B.


    • Wie viele Sätze erscheinen in welcher Zeit in A ?
    • Wie lange dauert die Verarbeitung von A ohne B ?
    • Wieviele Programme B1, ..., Bn gibt es ?
    • Wie lange dauert die Verarbreitung der B ?
    • Welche Auslastung wird bei Batch- Verarbeitung (rein sequentiell) erreicht ?
    • Wieviele Prozessoren stehen für Parallelverarbeitung zur Verfügung ?
    • Gibt es andere Gründe, die B's in separaten Streams arbeiten zu lassen ?


    Ich habe so ein Programmpaket mal alleine mit CLP's geschrieben, also A startet das Lesen mit einer Datei, ruft evtl. A2 per call, und erweckt dann je nach Bedarf Tasks B1, B2, ... Bn, denen es über n Messagequeues oder DataQueues Datenpakete zusendet. Die B's empfangen asynchron die Datenpakete, und verarbeiten sie parallel zu A.

    Bei mir hatte ich noch C1,...Cn und D1,...Dn dahinter, also eine ganze Kaskade von Instanzen und Tasks, die obendrein auf 2 bis 3 Mehrprozessor-Rechnern verteilt wurden.

    Später habe ich alles von CL in REXX umgeschrieben, eine Sprache, mit der man ganz gut Zeichenketten und Tabellen (SQL-Resultsets) verarbeiten kann. Sie kann wunderbar CL-Befehle und SQL-Befehle absetzen, Messages parsen, die Daten entnehmen, Fälle unterscheiden, Daten weitersenden oder mit SQL speichern usw. Meine Jobs, die normalerweise sehr zäh liefen, und ohne Multitasking den ganzen Tag in Anspruch nahmen (auch mehrere Tage), liefen durch dieses von mir erarbeitere Multitasking in 15-45 Min durch, weil jede Task nur eine spezielle Aufgabe ausführte, wobei sie eine sehr hohe Effektivität erreichte (Programme nur einmal laden und bereit halten). Der Zeitbedarf ging also zurück, und die Tasks störten kaum noch, bis auf die Tastache, daß die CPU's öfters 100% anzeigten.

    Mit Java oder C++ kann man das auch, und sogar echtes Multithreading betreiben. RPG- oder COBOL-Programmierer lernen so was aber eher selten, und man müßte sich intensiv mit ILE-Programmierung beschäftigen, um das vernünftig zu gestalten. Dann kann man aber sowohl C++ als auch ILE-RPG der ILE-COBOL dafür verwenden.

    Im Prinzip kommt es vor allem darauf an, ob es wichtig genug ist, solchen Aufwand zu rechtfertigen. Bei mir ging es z.B. um Testtools, die ich nach Maß innerhalb von ca. 14 Tagen geschneidert habe, und die bestimmt 10 Jahre lang benutzt wurden - wahrscheinlich sogar heute noch.

    Ähnliches habe ich auch schon mit MQ-Series realisiert. Dabei ging es um regelrechte Webservices, die von Webusern in Anspruch genommen werden konnten. Man kann das dann zum Anlaß nehmen, eine ganze Palette von speziellen Tasks passend zu orchestrieren (6 Geigen, 2 Trompeten, 1 Klavier, 10 Sänger, ...), so daß alle wirklich gut zusammen spielen.

    Bei weiterem Interesse mir bitte eine PN senden.

  2. #2
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Vielleicht geht auch ein SBMJOB in Verbindung mit RCVMSG CPC1221.

Similar Threads

  1. parallele FTP-Übertragungen
    By jogisarge in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 25-06-08, 12:33
  2. Verarbeitung mit variabler Satzstruktur
    By RaMai in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 02-11-07, 17:21
  3. MQ-Series: Automatische Verarbeitung
    By RLurati in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 20-10-06, 09:09
  4. MQ-Series: Automatische Verarbeitung
    By RLurati in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 20-10-06, 08:31
  5. Fehler bei Verarbeitung von QSZPAVL
    By Brownie in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 28-07-04, 10:56

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •