Rand Slides IMPLEMENTATIONS 1.LOCUSfile system OS 2.TABS (Camelot)Data servers OS 3.RAIDDatabase level (server) 4.SDD-1Transaction manager Data manager 5.System – R*Database level 6.ARGUSGuardian (server) TABSsection II, III C – data server LOCUSset opening/reading file set synch. dist. file system activity ARGUSnested trans/guardians
Rand Slides Server CPU Time ServerACCC Transactionusersystemusersystem Select one tuple select eleven tuples Insert twenty tuples Update one tuple ServerADAM Transactionusersystemusersystem Select one tuple select eleven tuples Insert twenty tuples Update one tuple CPU time used by RAID servers in executing transactions (in seconds
Rand Slides RAID Elapsed Time for Transactions Transaction1 site2 sites3 sites4 sites Select one tuple Select eleven tuples0.4 Insert twenty tuples Update one tuple0.4
Rand Slides Experiences with RAID Distributed Database Unix influences must be factored out. Communications software costs dominate everything else. Server based systems can provide modularity and efficiency. Concurrent execution in several server types is hard to achieve. Need very tuned system to conduct experiments. Data is not available from others for validation. Expensive research direction, but is respected and rewarded.
Rand Slides LAYERS Transaction –Transparent to errors –RPC – executed within transaction Communication –Datagram as basic unit –RPC – user level IPC (provides atomicity/reliability) –Broadcast Input/Output System –Lower level I/O (reading and writing raw data) –Stable storage (log, UNDO, REDO) –Upper level I/O (reliable read/write)
Rand Slides SSStable storage: special I/O for log, backup info. LMMLow level memory management: simple physical memory services. UMMUpper level memory management: virtual memory, if desired; buffer pools. COCommunication: semi-reliable datagrams (at most once?) ; broadcast. LIOLow-level I/O: interface to hardware I/O. UIOUpper-level I/O: read/write protocol, permitting replication and providing location independence; includes logging. TRTransactions management: BeginTrans, EndTrans, and Abort verbs; provides concurrency control; must have ‘hooks’ in read/write system calls. RPCRemote procedure call support: reliable RPC. PCPartition control: provides virtual fail-proof network to upper layers (also handles site failure/recovery). Description of Symbols
Rand Slides RAID Execution Time Transaction1 site2 sites3 sites4 sites Select one tuple0.4 Select eleven tuples Insert twenty tuples Update one tuple Times reported in seconds
Rand Slides uniquetwotentwentyhundredthousand The THOUSAND Relation Some example tuples from the thousand relation
Rand Slides Single-Site RAID TransactionInterpretCommitWrite Select one tuple Select eleven tuples Insert twenty tuples Update one tuple Execution times in 1-site RAID (in seconds)
Rand Slides Two-Site RAID TransactionInterpretCommitWrite Select one tuple Select eleven tuples Insert twenty tuples Update one tuple Execution times in 2-site RAID (in seconds)
Rand Slides Three-Site RAID TransactionInterpretCommitWrite Select one tuple Select eleven tuples Insert twenty tuples Update one tuple Execution times in 3-site RAID (in seconds)
Rand Slides Four-Site RAID TransactionInterpretCommitWrite Select one tuple Select eleven tuples Insert twenty tuples Update one tuple Execution times in 4-site RAID (in seconds)
Rand Slides Local Database User Process (UI and AD) TM Process (AM, AC, CC, RC) Remote RAID Sites (2 messages)
Rand Slides RAID Distributed System RAID supports reliability transactions stable storage buffer pool management DBOS other applications OS DBMS other applications OS RAID
Rand Slides Message († multicast dest = 5) Length Bytes Raidcomm V.1 s Raidcomm V.2 s Raidcomm V.3 s SendNull MultiNull † Send Timestamp Send Relation Descriptor Send Relation Descriptor † Send Relation Send Write Relation Figure 11. Performance comparison of the communication libraries
Rand Slides RAID Transactions Query Language DBMS Atomicity Controller Atomicity Controller Atomicity Controller Atomicity Controller completed transactions
Rand Slides UIO LIOSS TR LMMUMMCO RPC PC Figure 2. Dependency graph for proposed layered, distributed system
Rand Slides User Transaction Parser Action Driver (ensure transaction atomicity across sites) Action Driver (interpret transactions) Action Driver (ensure serializability) compiled transactions compiled transactions compiled transactions abort or commit Concurrency Controler Atomic Controller site j, k, l,… Action Driver (interpret transactions) log//diff file Database after commit updates read only
Rand Slides New Algorithm Concurrency Control Algorithm Causal Model Events Causal Relationships Causal Graph Scheduler Graph Transaction Graph correctness Classes of Serializability (Research task 2) Response-time & throughput (Simulation and Analysis) (Research Task 6) (Research Task 3) (Research Task 4) (Research Task 5) (Research Task 7) (Research Task 1) Specification Analysis Analysis of classes RESEARCH TASKS & OVERVIEW
Rand Slides Time (ms) ADACRCCCAM Raidcomm V.1 Raidcomm V.2 Raidcomm V.3