GTUG Bad Homburg Oktober 2016 Portierung und … - MQ8.pdf · CS Software GmbH, Schiersteiner...

27
CS Software GmbH, Schiersteiner Strasse 31, D-65187 Wiesbaden, Germany 1 GTUG Bad Homburg Oktober 2016 Portierung und Anpassung…

Transcript of GTUG Bad Homburg Oktober 2016 Portierung und … - MQ8.pdf · CS Software GmbH, Schiersteiner...

Page 1: GTUG Bad Homburg Oktober 2016 Portierung und … - MQ8.pdf · CS Software GmbH, Schiersteiner Strasse 31, D -65187 Wiesbaden, Germany 2 GTUG Bad Homburg Oktober 2016 MQ: Die unendliche

CS Software GmbH, Schiersteiner Strasse 31, D-65187 Wiesbaden, Germany 1

GTUG Bad Homburg Oktober 2016

Portierung und Anpassung…

Page 2: GTUG Bad Homburg Oktober 2016 Portierung und … - MQ8.pdf · CS Software GmbH, Schiersteiner Strasse 31, D -65187 Wiesbaden, Germany 2 GTUG Bad Homburg Oktober 2016 MQ: Die unendliche

CS Software GmbH, Schiersteiner Strasse 31, D-65187 Wiesbaden, Germany 2

GTUG Bad Homburg Oktober 2016

MQ: Die unendliche Geschichte

Page 3: GTUG Bad Homburg Oktober 2016 Portierung und … - MQ8.pdf · CS Software GmbH, Schiersteiner Strasse 31, D -65187 Wiesbaden, Germany 2 GTUG Bad Homburg Oktober 2016 MQ: Die unendliche

CS Software GmbH, Schiersteiner Strasse 31, D-65187 Wiesbaden, Germany 3

GTUG Bad Homburg Oktober 2016

Das 800 Pfund Gorilla Projekt:Was sind schon 10 Millionen Lines of Code?

Page 4: GTUG Bad Homburg Oktober 2016 Portierung und … - MQ8.pdf · CS Software GmbH, Schiersteiner Strasse 31, D -65187 Wiesbaden, Germany 2 GTUG Bad Homburg Oktober 2016 MQ: Die unendliche

CS Software GmbH, Schiersteiner Strasse 31, D-65187 Wiesbaden, Germany 4

GTUG Bad Homburg Oktober 2016

MQ v8 auf NonStop kommt – und wie!

Aber wie?

Page 5: GTUG Bad Homburg Oktober 2016 Portierung und … - MQ8.pdf · CS Software GmbH, Schiersteiner Strasse 31, D -65187 Wiesbaden, Germany 2 GTUG Bad Homburg Oktober 2016 MQ: Die unendliche

CS Software GmbH, Schiersteiner Strasse 31, D-65187 Wiesbaden, Germany 5

Agenda

1. MQ auf NonStop: Rückblick und Ausblick

2. MQ v8: Architekturfragen

3. Der steinige Weg zur Lösung

4. Performance: Darf es etwas mehr sein?

Page 6: GTUG Bad Homburg Oktober 2016 Portierung und … - MQ8.pdf · CS Software GmbH, Schiersteiner Strasse 31, D -65187 Wiesbaden, Germany 2 GTUG Bad Homburg Oktober 2016 MQ: Die unendliche

CS Software GmbH, Schiersteiner Strasse 31, D-65187 Wiesbaden, Germany 6

MQ auf NonStop: Was ist MQ?

• MQ = MQSeries, WebSphere MQ, heute: IBM MQ

• Ein führendes Produkt für Messaging von IBM

• International sehr weit verbreitet

• Von Android bis z/OS

• Wenn gar nichts geht: MQ geht immer

Page 7: GTUG Bad Homburg Oktober 2016 Portierung und … - MQ8.pdf · CS Software GmbH, Schiersteiner Strasse 31, D -65187 Wiesbaden, Germany 2 GTUG Bad Homburg Oktober 2016 MQ: Die unendliche

CS Software GmbH, Schiersteiner Strasse 31, D-65187 Wiesbaden, Germany 7

MQ auf NonStop: Was ist MQ?

• Persistente und nicht persistente Nachrichten

• Nachrichtengröße bis 100 MB

• … und wenn das nicht genügt, gibt es Segmente und Gruppen

• Transaktionale und nicht transaktionale Arbeitsweise

• Konzepte für Request/Reply (nicht jeder hat NonStop)

• Relativ einfach handhabbares API – Komplexität gut versteckt

Page 8: GTUG Bad Homburg Oktober 2016 Portierung und … - MQ8.pdf · CS Software GmbH, Schiersteiner Strasse 31, D -65187 Wiesbaden, Germany 2 GTUG Bad Homburg Oktober 2016 MQ: Die unendliche

CS Software GmbH, Schiersteiner Strasse 31, D-65187 Wiesbaden, Germany 8

MQ auf NonStop: Was ist MQ?

• Synchrone/asynchrone Funktion

• Ab neueren Versionen: Publish/Subscribe

• MQ Cluster für vereinfachte Konfiguration

• Datenkonvertierung

• Integriertes SSL (auf NonStop Basis Open SSL)

Page 9: GTUG Bad Homburg Oktober 2016 Portierung und … - MQ8.pdf · CS Software GmbH, Schiersteiner Strasse 31, D -65187 Wiesbaden, Germany 2 GTUG Bad Homburg Oktober 2016 MQ: Die unendliche

CS Software GmbH, Schiersteiner Strasse 31, D-65187 Wiesbaden, Germany 9

MQ auf NonStop

• MQ schon sehr lange auf NonStop verfügbar

• Recht viele (relativ) Nutzer, vor allem strategische Kunden

• Letzte verfügbare Version 5.3

• Aktuelle Version von IBM ist 8

• Wie geht es weiter mit MQ auf NonStop?

Page 10: GTUG Bad Homburg Oktober 2016 Portierung und … - MQ8.pdf · CS Software GmbH, Schiersteiner Strasse 31, D -65187 Wiesbaden, Germany 2 GTUG Bad Homburg Oktober 2016 MQ: Die unendliche

CS Software GmbH, Schiersteiner Strasse 31, D-65187 Wiesbaden, Germany 10

MQ auf NonStop

• IBM hatte MQ auf NonStop schon (fast) abgekündigt

• Dann kam Protest von großen IBM Kunden

• Also beschloss IBM, v8 auf NonStop zu bringen, …

• … das aber mit Partnern zu tun, da zu wenig eigenes NonStop Knowhow vorhanden

• comForte und CS wurden als Entwicklungs- und Supportpartnerausgewählt

Page 11: GTUG Bad Homburg Oktober 2016 Portierung und … - MQ8.pdf · CS Software GmbH, Schiersteiner Strasse 31, D -65187 Wiesbaden, Germany 2 GTUG Bad Homburg Oktober 2016 MQ: Die unendliche

CS Software GmbH, Schiersteiner Strasse 31, D-65187 Wiesbaden, Germany 11

Architekturfragen

• MQ 5 auf NonStop sehr eigenständige Implementierung

- Prozesspaare

- Administration über Pathway

- Queues in Enscribe• MQ 8 viele Entwicklungsjahre von MQ 5 entfernt

• Wie bekommt man MQ 8 auf NonStop?

Page 12: GTUG Bad Homburg Oktober 2016 Portierung und … - MQ8.pdf · CS Software GmbH, Schiersteiner Strasse 31, D -65187 Wiesbaden, Germany 2 GTUG Bad Homburg Oktober 2016 MQ: Die unendliche

CS Software GmbH, Schiersteiner Strasse 31, D-65187 Wiesbaden, Germany 12

Architekturfragen

• MQ 8 auf Linux verfügbar, OSS sieht fast aus wie Linux

• Also warum nicht einen “flat port” von Linux nach OSS?

• Kernfrage: Was ist mit TMF?

• TMF Transaktionen, die konsistent MQ und NonStop Datenbankumfassen, ist zwingende Anforderung

Page 13: GTUG Bad Homburg Oktober 2016 Portierung und … - MQ8.pdf · CS Software GmbH, Schiersteiner Strasse 31, D -65187 Wiesbaden, Germany 2 GTUG Bad Homburg Oktober 2016 MQ: Die unendliche

CS Software GmbH, Schiersteiner Strasse 31, D-65187 Wiesbaden, Germany 13

Architekturfragen

• Linux MQ hat sein eigenes Transaktionsmodell (“eingebautesTMF”)

• MQ unterstützt heterogene XA Transaktionen als Teilnehmer

• Also: MQ auf NonStop wie auf fremder Linux Plattform, Transaktionskonsistenz über XA

• MQ führt eigenes Transaktionslog (unabhängig von TMF)

• Technisch möglich über von HP nicht freigegebene Schnittstelle(OpenTMF)

Page 14: GTUG Bad Homburg Oktober 2016 Portierung und … - MQ8.pdf · CS Software GmbH, Schiersteiner Strasse 31, D -65187 Wiesbaden, Germany 2 GTUG Bad Homburg Oktober 2016 MQ: Die unendliche

CS Software GmbH, Schiersteiner Strasse 31, D-65187 Wiesbaden, Germany 14

Architekturfragen

TMF Audittrail

BEGINTRANSACTION

READUPDATEX/WRITEUPDATEX

MQPUT

ENDTRANSACTION

Enscribe

MQ Log

MQ Queue

MQ

Open TMF

TMF

XA

Anwendung

Page 15: GTUG Bad Homburg Oktober 2016 Portierung und … - MQ8.pdf · CS Software GmbH, Schiersteiner Strasse 31, D -65187 Wiesbaden, Germany 2 GTUG Bad Homburg Oktober 2016 MQ: Die unendliche

CS Software GmbH, Schiersteiner Strasse 31, D-65187 Wiesbaden, Germany 15

Architekturfragen

• MQ Log und MQ Queue sind (nicht auditierte!) OSS Dateien

• Konstruktion passt zur MQ Arbeitsweise auf Linux (“Write Ahead Logging Queue Manager”)

• Auf dieser Architektur beruhen MQ v8 Beta 1 bis Beta 4

• Auch der “flat port” war kein Spaziergang

Page 16: GTUG Bad Homburg Oktober 2016 Portierung und … - MQ8.pdf · CS Software GmbH, Schiersteiner Strasse 31, D -65187 Wiesbaden, Germany 2 GTUG Bad Homburg Oktober 2016 MQ: Die unendliche

CS Software GmbH, Schiersteiner Strasse 31, D-65187 Wiesbaden, Germany 16

OSS: wie Linux, nur anders

• Linux MQ basiert auf:- Threads- Shared Memory mit Synchronisation über Prozessgrenzen- schnellem Disk I/O (wenn gepuffert)

• NonStop hat- PUT Threads, aber keine Kernel Level Threads- Shared Memory, aber nicht über CPU Grenzen- keine PUT-Thread “aware” Semaphoren- relativ langsames OSS Disk I/O

• Also muss MQ v8 auf NonStop auf einer CPU laufen

Page 17: GTUG Bad Homburg Oktober 2016 Portierung und … - MQ8.pdf · CS Software GmbH, Schiersteiner Strasse 31, D -65187 Wiesbaden, Germany 2 GTUG Bad Homburg Oktober 2016 MQ: Die unendliche

CS Software GmbH, Schiersteiner Strasse 31, D-65187 Wiesbaden, Germany 17

Der steinige Weg zur Lösung

• An dieser Stelle kamen cF/CS ins Boot

• Kritikpunkte an der Lösung:

- Performance: 120 Msgs/Sek vs. > 700 Msgs/Sek bei MQ 5

- Nicht auditierte Dateien bedeutet: kein Support für RDF,

Shadowbase usw.

- Keine Partitionierung möglich• Kritik wurde akzeptiert, gemeinsames Projekt gestartet

Page 18: GTUG Bad Homburg Oktober 2016 Portierung und … - MQ8.pdf · CS Software GmbH, Schiersteiner Strasse 31, D -65187 Wiesbaden, Germany 2 GTUG Bad Homburg Oktober 2016 MQ: Die unendliche

CS Software GmbH, Schiersteiner Strasse 31, D-65187 Wiesbaden, Germany 18

Der steinige Weg zur LösungHerausforderungen

• Tool Landschaft unzureichend

- Sourcecode Verwaltung (von Visual Source Safe GIT)

- Entwicklungsumgebung (von ETK nach Eclipse)

- Ticketingsystem (GITLab)

• Viele Qualitätsprobleme mit HP Software- PUT Library instabil (inzwischen weitestgehend in Ordnung)- diverse CPU Abstürze (bevorzugt NonStop x)- NSDEE Eclipse Debugger problematisch (ca. 20 Probleme vs. Visual Inspect)- Eclipse Debugger einzige GUI Wahl auf NonStop x und Itanium/64 Bit

• Kein Thread Support im NSDEE Debugger

Page 19: GTUG Bad Homburg Oktober 2016 Portierung und … - MQ8.pdf · CS Software GmbH, Schiersteiner Strasse 31, D -65187 Wiesbaden, Germany 2 GTUG Bad Homburg Oktober 2016 MQ: Die unendliche

CS Software GmbH, Schiersteiner Strasse 31, D-65187 Wiesbaden, Germany 19

Der steinige Weg zur LösungExkurs über Threads

• PUT Threads vollkommen anders als “multi threaded”

• PUT Threads erlauben “quasi Nebenläufigkeit” im Programm

• Thread Synchronisreung erforderlich

• Bei shared Memory Inter-Prozess Synchronisierung erforderlich

• Standard Linux Verfahren: Semaphoren

• NonStop hat Semaphoren – aber nicht PUT Thread kompatibel

Page 20: GTUG Bad Homburg Oktober 2016 Portierung und … - MQ8.pdf · CS Software GmbH, Schiersteiner Strasse 31, D -65187 Wiesbaden, Germany 2 GTUG Bad Homburg Oktober 2016 MQ: Die unendliche

CS Software GmbH, Schiersteiner Strasse 31, D-65187 Wiesbaden, Germany 20

Der steinige Weg zur LösungExkurs über Threads

• Erste MQ v8 NonStop Implementierung verwendete Sockets

• Funkioniert, ist aber sehr langsam

• Aktuelle Implementierung verwendet USEREVENTs – relativschnell

• Leider nur 31 Userevents je Prozess verfügbar – das erhöht die Anzahl notwendiger Prozesse für viele gleichzeitigeAnwendungen

• Mehr Prozesse bei diesem Design nicht gut – alle müssen in einerCPU laufen und synchronisiert werden - Overhead

Page 21: GTUG Bad Homburg Oktober 2016 Portierung und … - MQ8.pdf · CS Software GmbH, Schiersteiner Strasse 31, D -65187 Wiesbaden, Germany 2 GTUG Bad Homburg Oktober 2016 MQ: Die unendliche

CS Software GmbH, Schiersteiner Strasse 31, D-65187 Wiesbaden, Germany 21

Der steinige Weg zur LösungGood old Enscribe

• Queue Persistenz ab Beta 5 in auditierten Enscribe Files

• Enscribe Key Sequenced Files können 27k Records haben – gut für längere Nachrichten!

• Interprozess Kommunikation am Anfang auch sockets – langsam!

• Inzwischen auf Guardian IPC umgestellt – viel besser und TMF Transaktionen unmittelbar vererbt

Page 22: GTUG Bad Homburg Oktober 2016 Portierung und … - MQ8.pdf · CS Software GmbH, Schiersteiner Strasse 31, D -65187 Wiesbaden, Germany 2 GTUG Bad Homburg Oktober 2016 MQ: Die unendliche

CS Software GmbH, Schiersteiner Strasse 31, D-65187 Wiesbaden, Germany 22

Der steinige Weg zur LösungFazit zu OSS vs. Linux

• Flat Port von Linux Anwendungen ist u.U. möglich

• Die resultierende Performance ist oft unzureichend

• Integration mit TMF und Enscribe ist eine großeHerausforderung…

• … aber für eine echte NonStop Anwendung unverzichtbar!

Page 23: GTUG Bad Homburg Oktober 2016 Portierung und … - MQ8.pdf · CS Software GmbH, Schiersteiner Strasse 31, D -65187 Wiesbaden, Germany 2 GTUG Bad Homburg Oktober 2016 MQ: Die unendliche

CS Software GmbH, Schiersteiner Strasse 31, D-65187 Wiesbaden, Germany 23

Performance: Darf es etwas mehr sein?

Operation

Installation

Anlegen Queue Manager

Starten Queue Manager

Beenden Queue Manager

Löschen Queue Manager

NonStop I

5 m 26 s

23 s

8 s

5 s

9 s

NonStop x

3m 1 s

11 s

3 s

3 s

3 s

NonStop x SSD

58 s

4 s

1 s

2 s

2 s

Page 24: GTUG Bad Homburg Oktober 2016 Portierung und … - MQ8.pdf · CS Software GmbH, Schiersteiner Strasse 31, D -65187 Wiesbaden, Germany 2 GTUG Bad Homburg Oktober 2016 MQ: Die unendliche

CS Software GmbH, Schiersteiner Strasse 31, D-65187 Wiesbaden, Germany 24

Performance: Testmethode

• Alle Operationen auf eine gemeinsame Queue

• n Prozesse MQPUT, n Prozesse MQGET

• Eine Operation je TMF Transaktion

• Tuning Paramater “Guardian Capacity” definiert Anzahl Threads je Prozess (Default = 10)

• Message Größe = 1000, Einfluss wird erst bei sehr viel größerenNachrichten (10000) relevant

Page 25: GTUG Bad Homburg Oktober 2016 Portierung und … - MQ8.pdf · CS Software GmbH, Schiersteiner Strasse 31, D -65187 Wiesbaden, Germany 2 GTUG Bad Homburg Oktober 2016 MQ: Die unendliche

CS Software GmbH, Schiersteiner Strasse 31, D-65187 Wiesbaden, Germany 25

Zahlen, bitte

1248128 (Cap 20)12 (Cap 25)16

NonStop I

70145286525645553710666

NonStop x

1232454859601357139614101389

NonStop xDaten SSD

122245…...………1478

NonStop xAuxtrailSSD122245……………1460

NonStop xMastertrailSSD9631500150015001500150015001500

Page 26: GTUG Bad Homburg Oktober 2016 Portierung und … - MQ8.pdf · CS Software GmbH, Schiersteiner Strasse 31, D -65187 Wiesbaden, Germany 2 GTUG Bad Homburg Oktober 2016 MQ: Die unendliche

CS Software GmbH, Schiersteiner Strasse 31, D-65187 Wiesbaden, Germany 26

Fazit NonStop x und SSD

• NonStop x ist etwa doppelt so schnell wie Itanium – wie erwartet

• Einfluss von SSD bei Datenplatten und AUX Trails ist fast 0

• Einfluss von SSD bei Master Trail und wenigen Applikationen istenorm

• Batchartige Anwendungen bzw. Solche mit geringerGleichzeitigkeit profitieren enorm von Mastertrail auf SSD

Page 27: GTUG Bad Homburg Oktober 2016 Portierung und … - MQ8.pdf · CS Software GmbH, Schiersteiner Strasse 31, D -65187 Wiesbaden, Germany 2 GTUG Bad Homburg Oktober 2016 MQ: Die unendliche

CS Software GmbH, Schiersteiner Strasse 31, D-65187 Wiesbaden, Germany 27

Fragen?

Werner AlexiCS Software GmbHSchiersteiner Straße 3165187 Wiesbaden0611 890 85 [email protected]