Intro Enterprise Comp
Intro Enterprise Comp CS 4365
Popular in Course
Popular in ComputerScienence
This 0 page Class Notes was uploaded by Alayna Veum on Monday November 2, 2015. The Class Notes belongs to CS 4365 at Georgia Institute of Technology - Main Campus taught by Calton Pu in Fall. Since its upload, it has received 17 views. For similar materials see /class/234067/cs-4365-georgia-institute-of-technology-main-campus in ComputerScienence at Georgia Institute of Technology - Main Campus.
Reviews for Intro Enterprise Comp
Report this Material
What is Karma?
Karma is the currency of StudySoup.
You can buy or earn more Karma at anytime and redeem it for class notes, study guides, flashcards, and more!
Date Created: 11/02/15
CS43658803 ENC Intro Enterprise Computing TP Monitors and Reflective ns Framework Instructor Ca ton Pu Unof cial TA Jaso Parekh a TP Monitor Message Manager Request Control Transaction Server g Display Transaction Server Page 1 0 System supporting transa between services 7 Application servers process client requ sts and interact with resource managers 7 Database servers manage recoverable application data 0 Missioncritical software 11 ds 7 Performance 7 Availability 7 Data Integrity 7 Security Authenticating users identity Authorizing requests for services Page 2 Client FrontEnds Display Replicated g Application Sewers Display Display Display Display Load balancing over replicated application server 4 Migration Display Display monitor Display server Centralized logging of information exceptions performa ce audit trail etc Dynamic Reconfiguration Page 3 W08 Problem Client 1 Client 2 I Client n Process In SERVER 5 Many Processes 0 Adverser affects OS ove 0 Too much processor context s 39 0 Consumes too much memory 7 May need paging IO 0 Distributionscalability add more proce ses 0 Hard to control load except by de activating clients Page 4 Wr Solution Client 1 RPC Process 1 Cl 2 Multithreaded lent Control Process Process 2 o Client n Process In SERVER 8 Advan s of TP Monitor 0 Multithreading gt Few p cesses 7 low OS overhead 7 less processor context switching 7 less memory overhead 0 Multithreading gt 7 easy to manage load by controlling m 0 RFC gt 7 easy to program distributed applications 0 Transactional RPC gt 7 easy to program distributed transactions Page 5 Dis ed Transactions 0 DB server only support mageneous distributed transactions ones that access ly that DB server product 0 Still need a TP monitor s transaction transaction can access 7 two or more DBMS or TP monitor products 7 recordoriented files 7 queues 0 The potential advantages of proprietary dist d transactions are performance and avoiding a T monitor for simple applications 0 Middle tier does 7 dynamic routing 7 parameterbased routing like partitio e DBs in a DB server 0 Reduces the number of clientserver ses 39ons 1 multiserver configurations 0 Supports queued requests Client Page 6 Applic Management 0 Partition applications indepe ent of the DBs they access 0 Prioritizing applications 0 Applicationbased load control and secu 39ty 0 Dynamic installation startup and shutdow of applications 0 Some TP monitors offer a lock manager and l manager for developing homegrown resource managers eg Transarc s Encina recovery unless there s a hot bac 0 Some DB servers don t have automat39 failover if a server fails 0 These automated recovery features are in ost TP monitors Page 7 o Transactional RPC RPC failure transaction abort 0 Log manager recovery data 0 Recovery manager log player 0 Lock manager concurrency control 0 Structured File System RM Page 8 En 0 Positive points 039 Evaluation 7 Logical component modularit 7 Transactional RPC 7 Nested transactions questionable val 7 DCE portability functionality 0 security portability multithreading RPC 7 Excellent callback mechanisms 0 Negatives 7 Performance problems on DCE Summ of TP Products 0 IBM family from 80 s to 7 CICS IMS 0 Open TP monitors during the 90 7 Encina Tuxedo TopEnd 0 Today s products 7 RDBMS Oracle DB2 SQL Server 7 App Servers WebSphere WebLogic Page 9 7 Wide range of extended transaction ode ETMs SpliUJoin ESR Sagas etc 0 Challenge 7 Numerous research papers hardly any realistic implementations CMohan SIGMOD94 Impleme ETMs is Hard 0 Complexity 7 OLTP facilities don t support 39 Join etc 7 Implementation is nonobvious o Practicality 7 Many legacy applications are happy wi ACID 7 Can t pick just one ETM o SplitJoin 7 longlived 0penended o Cooperative Groups 7 cooperative 7 Application domains are rapidly evolving Page 10 Reflective saction Framework 0 Practical 7 Systematic extension of OLTP 7 Concrete demonstration SpliUJoin ESR 0 Modular 7 Transaction Adapters as a thin layer 7 Build on available services to extent possibl 7 Concrete implementation on Encina TP Monitor Begin Splittid Jointid Commit Flat Spli Join Cooperative Grou Transactions Transactions Transactions 0 Unique set of control operations 0 Semantics associated with control operations Page 11 base interface Begin extended 139 Commit Abort CreateGro meta interface DelegateOp DelegateLock NoConflict TP Facility Similar39 39 among ETMs 0 Common extended functl 7 Relaxed con ict 7 Delegation 0 Split and Join transactions Nested transacti 7 Richer intertransaction dependencies o Cooperative Group Flex transactions etc 7 Structured relationships 0 MultiLevel transactions Cooperative Groups etc 0 Extended functionality layer over OLTP facility 23 Page 12 Architecture Transactmrml Appzzmzmm Transaction Manag ILock Managerl ILog Managerl ransactm Appzxmzmm c Splitl Join I CreateGrou Transaction Manager Adapter Transaction Manager Extended TP Fun anal y Con ict Lock Adapter Adapter Lock Manager Tran 0 Addon modules 7 Transaction manager adapter delegation of operations transactio relationships etc endencies 7 Lock adapter lock sharing lock delega 39on 7 Con ict adapter relaxed notions of con 39 t 7 Log adapter recovery information 0 Small set of adapterspeci c commands Transaction nagementAdapter Transaction Management Adapter TRACS 7 Transaction Adapter Command Set Encina TRAN module Maps commands in Transaction Adapter Comm d Set down onto TRAN operations and structures 27 Page 14 Transaction agement Adapter Transaction Management Adapter TRACS 7 Transaction Adapter Command Set Encina TRAN module Callbacks pass transaction information from T N up to Transaction Management Adapter structure 28 Transaction agement Adapter Ins tantiate create a descriptor f0 Uansac on Reflect extend the transaction Exec begin execution Delegateops delegate operations Formdependency form a transaction dependen y other commands Page 15 0 Dynamic transaction restructuri 7 release earlier modified data Split Ida T 1 T2 T1 T1 T2 Join m extended comman r splitjoin transactions EisplitOperationT2zTRID instantiateT2 reflectT2sj7model delegateilockT2 DelegateSet delegategppT2 DelegateSet T1 win execT2 return Transaction Split Operation I EiJoinOperationleTRID delegateilockTl DelegateSet delegategppTl DelegateSet commitself return Transaction Join Operation Page 16 CS43658803 ENC Enterprise Computing unof cial TA Jason arekh 0 Write updates to database as the 0 Problems with recovery gtNeed to undo the aborted transaction op ations gt What if the system crashes between the decision to commit and the writing of last updates gtNeed to redo the committed but unfinished operations 0 Failure mode analysis gtMachine crash transaction abort 0 Machine crash gtDisk writes are NOT atomic gtThe Idea force write the information to di k before making any changes to support redo 0 Transaction abort gt Programmer may want to abort voluntarily gtUse the written information to undo Write ad Logging 0 Intentions List gtLampson and Sturgis 1976 unp gtPut all writes on stable storage intent39 ns 39 gtlf abort forget the list gtExecute the update operations at commit gtlf crash reexecute the whole list gt Write operations are idempotent gtReexecution repeats until successful completion gt Then erase the intentions list Number LSN conceptually a tim tam 0 Log contents gt Operations logging intention list gt Value logging old value amp new value 0 Operations Supported gtAppend during normal processing gtRead during recovery 0 Access Interface to Logs gt SQL Tables 0 Physical implementation gt Sequential duplexed files gtLog anchor the pointer to consistent data 0 Log Sequence Numbers gtEach log record has a unique id gtMonotonic increasing LSNs 0 Program Outline gtAcquire the log lock find file pa gtFill in log record update the anchor o LogMgr Daemon gtKeeps the log file open gtEncapsulates the actual lO operations 0 Log Flush Daemon gt Flush requests gtPeriodic timer interrupts 0 Serial write gtWrite one copy of the log gt When complete write other copy 0 PingPong gt Write page i and then page il gt When page full switch to new page gtParallel writing of both log files 0 Sometimes replicated logs Optimizations 0 Logging is a bottleneck gtDisk 10 is slow compared to CP gt Sequential logging is faster than ran in gt Steal and no force next slide 0 Group commit gtAmortize commit log ush gtDelay transaction commit until full use of log Page gtBatch only when there is high traffic 9 Pages 0 Stealing pages before com gtPush pages to disk optimistically gtlf commit you win gtlf abort need to undo the aborted value 0 Forcing pages at commit time gtPush pages to disk at commit time gtNo force leave pages in memory gtPush pages only when convenient gtlf system crashes must redo the committed value Optimizations 0 Rotational Delay gt Dedicated cylinders gt Write the first block under disk head 0 Multiple Logs gtlncreased lO bandwidth and complexity 0 Saving the Log Anchor gt Write the anchor from time to time gt Search for log end from the anchor gtPingPong write several anchors 0 DO program gtWrite a log record gtPerform the operation 0 UNDO program gtRollback the operation from appropriate 10 record gtEither by operation undo or old value 0 REDO program gtReperform the operation from log gtEither by operation redo or new value Res 0 Find the Anchor gtAccording to the writing method 0 Find Log End gtAccording to the writing method gt Sweep through good pages gt Stop when bad pages appear 0 Program Outline gt Reconstruct log anchor gtUndoRedo pending transactions gt Restart log daemons gt Start TP processing 0 It s possible to start TP processing early gtNeed to isolate the restart in a transaction gt Start normal transactions at restart lock point when the restart is guaranteed to succeed Trans 39on Manager 0 Basic Functions gtRecovery glue for centralized TP gt Coordinator for distributed transactio co gt Coordinates distributed recovery 0 Application Interface gtBegin T CommitT Abort T gt Savepoint Rollback gtPrepareT for 2PC gt ChainT for chained gtLeaveT and ResumeT for nested 0 TP monitor restarts gtLogMgr LockMgr TM and 0 TM Restart gtREDO committed transactions gt Find checkpoint record gt Start ResourceMgr restart gt Coordinate the end of all involved RMs 0 ResourceMgr Restart gtInitialization open files Identify gt Self recovery from private logs gt Coordinate with TM REDOUNDO 0 Independent RMs gtUNDO REDO scan local 0 System pairs for availability gtduplicate system somewhere else 0 Primary and a hotstandby gtBackup only partially useful 0 Assumptions gtNo network partitions gtReplicate programs network data
Are you sure you want to buy this material for
You're already Subscribed!
Looks like you've already subscribed to StudySoup, you won't need to purchase another subscription to get this material. To access this material simply click 'View Full Document'