• Keine Ergebnisse gefunden

TransBase Multiprocess-kernel for 1 Database . . . 2n Processes AP1 APn AP2 DBK1 LC DBK2 LCDBKn DB-Shared Memory DB

N/A
N/A
Protected

Academic year: 2022

Aktie "TransBase Multiprocess-kernel for 1 Database . . . 2n Processes AP1 APn AP2 DBK1 LC DBK2 LCDBKn DB-Shared Memory DB"

Copied!
11
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Chapter 7 Transaction-Processing Monitor Chapter 7.1 Process-Architecture

typical for UNIX-Workstations

t1 ... ti

SQL Result TCP/IP

DB-kernel

UNIX-world: 1 DB-kernel per APi Mainframe: 1 DB-kernel per CPU or

per DB

SIG

AP1 = C-Progr. with ESQL or dynamic SQL

APi = ...

1. translate, optimize SQL 2. interpret Operator Tree 3. Synchronization, Recovery 4. deliver results

2

TransBase Multiprocess-kernel for 1 Database . . . 2n Processes

AP1 APn AP2 DBK1 LC DBK2 LCDBKn DB-Shared Memory DB

(2)

Adaptions

1. with Shared Memory:

- Tuning: page size, cache size - Cache-management

- Cache-performance

2. without Shared Memory:

- message-system

- providing data for DB-kernels

4

TransBase Multiprocess-kernels for Multi-Databases > 2n Processes . . . . . . Computer 1 Computer 2 . . .

AP1 APn AP2 DBK11 DBK21 DBKn4 DBK24 Shared Mem. Shared Mem.Shared Mem.DBKn5 DB1DB4DB5

(3)

Summary: For every APi, user, transaction, SIG

2 processes

Operating Systems today:

1. Few processors, i. e. little true parallelism

2. Precess generation expensive: several 10³ operations 3. Code-Sharing?

4. APi with much overhead, e. g.

VTAM linked

Process communication linked, etc.

message handling: SIG « API

Generation and management of interaction masks ...

ð All APi require a lot of similar overhead Goal: 1 TP-Monitor for common, similar work.

APi trimmed down to TAPi

Architecture or a TP-Monitor

TAC Result

only for new TAP result POPs and dynamic SQL

SIG-communication

management of SIG Messages

. . .

state and result management for Trans. t1 ... tk

TAP1 TAPi

translator and optimizer

DBS-kernel: Synchronization, Recovery, Op-tree Inerpreter

DB DB

(4)

Tasks of a TP-Monitor

1. Select and start TAPi based on Transaction-Code TACi

2. Output mask Mi on SIGj for input message mesij

3. check and delivery of mesij to TAPi

4. manage storage Sij for data Dij for communication between SIGj and TAPi

5. manage run time context for transaction ti

6. save messages between TAPi and SIGj (e.g. = ATM) automatic teller machine

"secure message queues"

7. ect. user and rights management

Summary: TP-Monitor ~ special BS for TAP

Variants of TP-Monitors

Terminology: dialogue step: from SIG-Input to SIG-output (program for 1 dialog step DS)

Simple TAPs: TAP is exactly 1 DS (e.g. money transfer), but i.g. several SQL-statements E-TAP

Complex TAPs: sequence of DS, e.g. booking a trip:

flights, hotels, ... C-TAP

Server: incarnation of a TP-M Task: execution of a TAP

Variants: # Server, #Tasks

1 1 n 1 1 n n m

(5)

1. Single Server, Single Task 1 Server + 1 acitve Task (started)

- no synchronization

- message-management TP-M « SIG asynchronously and in parallel

for several messages, but only 1 active task Question: commit and issueing messages?

e.g. payment at ATM?

. . .

no

parallelism

TZi

1 l

SIGs

TP-M + TAP1 ... TAPk

DBS-kernel

DB

1 TZi

Task-state

2. Multi-Server, Single Task

Several incarnations ot the TP-M, per TP-M one Task, e.g. fixed assignment of SIGi to TP-Mj.

Transaction ti started from SIGi, executed and managed via TP-Mj.

ð - every TP-M knows all TAPs - scheduling by BS

- many process switches

better: dyn. assignment of SIGi to TP-Mj depending on TAP-type, i.e. TP-Mj knows only some TAPs.

Number of TP-M depends on load!

. . .

. . .

Siemens UTM with I = 100 TransBase k = 10

UNIX-DBSe 1000 large

processes

1 l

TP-M + TAP1 ... TAPk

TP-M + TAP1 ... TAPk

TZ1 TZl

DBS-kernel

DB

(6)

3. Single Server, Multi-Task

very similar to light weight processes, threads 1 TP-M manages many Tasks, TZi

ð - Task-Management - TP-M schedules Tasks - storage management for TZi

- "Interrupt"-treatment because of asynchronous cooperation with DBS and SIGs

ð TP-M becomes BS' within BS Advantages: few processes

few process switches typical for main frames!

. . .

suitable for

1-processor- . . . systems

IBM: CICS/IMS

1 l

TP-M + TAP1 ... TAPk

TZ1 TZl

DBS-kernel TZ2

DB

with TASs factored out:

. . .

. . .

. . .

- k+2 processes - security by

increased

isolation

- performance improvement: time-slicing by BS - suitable for multiprocessors

- TZi as shared-memory or task queues

- several incarnations of TAPi, depending on load

1 l

TP-M TZ1 TZl

TAP1 TAPk

DBS-kernel

DB

(7)

4. Mulit-Server, Multi-Task

... ... ...

. . .

... ...

. . .

- several TP-M via front end processor - free map Processes ® Processors - Client / Server Architectures

- TZi implemented via shared-memory or communication

- for multiprocessor- and multicomputer-systems

1 l1 lm

TP-M1 TP-Mm

TAP1 TAPk TAP1 TAPk

DBS-kernel1 DBS-kerneld

DB DB

(8)

Chapter 7.2 TP-monitor Internals

7.2.1 Message Manager 1. support different SIGs 2. Masks for every TAPi

today generic, stored in DB adaptive for special DB-schema e.g. OMNIS-Archiver

3. Plausibility checks for field inputs (in Client)

4. transform filled masks into message –

Formats with Header: e.g. (TAP-Id, Method, list of parameters)

5. Standardized message ® TAP via Requ.-Control (asynchromous)

6. Reply from TAP ® response mask 7. Output mask ® SIG, Client

8. Security: user rights, modified masks

(9)

7.2.2 Request Control

Tasks: TAP-Code (= TAP – ID) = TAC Table: TAC ® TAP-incarnation

i.g. several incarnations for fault-tolerance and load-performance (TANDEM!)

- message routing

- global name-service, e.g. NIS for TAC ® RC ® TAP ?

MM1 MM2

RC1 RC4

TAP1 TAP6 TAP7

...

?

Interprocess-Communication

1. Connection oriented message exchange:

- establish connection:

check process - ID buffer for messages - sequence of messages - disconnect

e.g. IBM/CICS with SNA LU 6.2 and half duplex

WWW connectionless, i.e. t consisting of several dialogue-steps is difficult

Example: 1 Session per day and bank teller (counter)

Problem: for Application-Programmer:

- procedure-call within process

- message exchange between processes Þ RPC

(10)

2. Remote Procedure Call

Messages : synchronous or asynchronous depending on sender

RPC : sysnchronous like procedure-call asynchronous message exchange can be simulated by RPC

- wait

- new process - new thread

Þ i.e. RPC is an abstraction from single- task and multi-task servers

- hides locality of server (fault-tolerance, load balancing)

- hides differences in languages, „Stub“ converts parameters into expected format, buffers calls, etc.

Server

Client RPC

(11)

7.2.3 Further Aspects

Transmission of large result sets:

- complete file - by packets Efficiency:

- local procedure call : ~ 50 instructions

- RPC : 1.000 – 10.000 instructions - Research topic : cheap RPC ?

TAP-Classes:

Multitasking: very complex

Should be single-

tasking

Þ synchronous calls

ÞTAPi may block, several TAPi- incarnations?

TP-M

TAPi

.. .

... ...

solution: TAP-classes with - common request-queue

- TAPi-incarnations according to demand Þ i.e. single TAP as single-task server, fetches requests from queue

TP-M starts and terminates TAP according to request load

Request queue in common store

- Mangement of queues

- e.g. persistent queues via DBS - Failure of a single TAPi not critical

TP-M

êêêêê

TAPij

TAPi1

...

Referenzen

ÄHNLICHE DOKUMENTE

Kui sellest midagi wäljatuleks, siis oleks teine asi; siin ju muud karta ei ole, kui et keegi neist wastu silmi sülitab, — see on ka

The mission of the Leibniz Centre for Agricultural Landscape Research (ZALF) as a nationally and internationally active research institute is to scientifically explain

Unter den Holzbildhauern der Gegenwart nimmt er einen der vordersten Plätze ein, nicht zuletzt deshalb, weil bei seinem Schaffen deutlich sichtbar wird, wie auch

Hast du alle Wörter gefunden, erhältst du einen Lösungssatz...

[r]

Be cause the Db programs always attempt to find the most suitable place to insert a new tuple in a sorted or hashed relation, it can sometimes be useful to modify it to a heap

Overall, the new architectures motivated by self- attention separately apply linear layers in the element (token) dimension and channel dimension to learn long range

THE DESCRIPTION OF AN OBJECT INSIDE THE MODEL IS GIVEN VIA THE CONNECTIONS (access functions) IT HAS WITH OTHER