throbber
IEEE TRANSACtIONS ON SOFTWARE ENOINEEEINO VOL 14 NO
`
`SEPTEMBER
`
`1988
`
`1307
`
`Dynamic Transaction Routing in Distributed Database
`Systems
`
`PHILIP
`
`YU SENIOR MEMBER IEEE SIMONETTA
`
`BALSAMO AND YANN-HANO LEE MEMBER IEEE
`
`transaction
`
`if
`
`Abstracttn this paper we investigate dynamic
`routing
`distributed database systems in which the data
`for locally
`strategies
`base is partitioned and distributed among multiple transaction pro
`transactions
`corn
`are routed by
`cessing systems and the incoming
`mnn front-end processor In this environment
`transaction
`issues
`database partition the re
`nonlocal
`database request
`referenciisg
`quest has to be shipped to the system owning the referenced partition
`strategies are studied Their perfor
`for processing Various dynamic
`mance is compared with that of the optimal static strategy
`new class
`rooting strategies which take into account rout
`of dynamic transaction
`ing history and minimize the estimated
`incoming
`response time of
`improve
`is proposed and found to provide
`substantial
`the optimal static strategy The robustness of the strategies
`ment over
`is further studied through sensitivity analysis over various transaction
`overheads and database reference distributions
`loads communication
`
`transactions
`
`database systems load balancing perfor
`index TermsDistributed
`mance analysis queaeing models transaction routing strategy
`
`INTRODUCTION
`HEN processing power is distributed over multiple
`in achiev
`computer systems toad sharing is critical
`throughput and better response time
`ing higher aggregate
`To attain appropriate sharing arriving tasks are allocated
`according to some strategy Strategies
`are static in nature
`if allocation decisions are based solely on the static char
`acteristics of arriving tasks and the processing systems
`in which allocation
`Other strategies
`decisions depend
`
`upon not only the static characteristics but also the current
`system state are referred to as dynamic
`both static and dy
`Numerous load sharing strategies
`namic have been studied for different
`types of distributed
`systems Queueing network analysis mathematical pro
`can be used to obtain
`gramming and other techniques
`performance estimates and then to derive optimal
`strategies for example the optimal deterministic alloca
`and optimal probabilistic as
`tion of tasks in
`On the other hand certain opti
`appmach
`have
`been
`dynamic
`malities
`in the
`also
`discovered For instance the send-to-shortest queue strat
`egy is found to be the best for the case of Poisson arrivals
`and the round-robin
`and identical exponential servers
`
`signments in
`
`static
`
`received March 17 1986 revised March 24 1987
`Manuscript
`Yu is with tBM Thomas
`Watson Research Center Yorktown
`Heights NY 10598
`Balssmo is with the Dipartimento
`
`di tnformatics University of Pisa
`
`Pisa Italy
`It
`Lee
`is with the Depanment of Computer
`eaces University of Florida Gainesville FL 32611
`IEEE Log Number 8822454
`
`and Information
`
`Sci
`
`strategy becomes optimal when the queue length at each
`server cannot be observed provided that all servers have
`the same initial
`survey on load sharing strat
`state
`egies in distributed systems can be found in
`For other
`more complex cases like heterogeneous
`servers multiple
`classes of tasks and different arrival and service time dis
`
`tributions simulations have been adopted
`performance of various strategies
`simple pmbe limit scheme
`it has been demonstrated that
`based on queue length threshold is quite effective to im
`prove performance
`
`to study
`
`the
`
`In
`
`is assumed that
`
`In these previous studies it
`incoming
`tasks can be serviced completely at any processing sys
`tasks are purely compu
`tem This implies that either all
`resources e.g database or files are
`tational or requested
`shared or replicated among all processing systems Now
`locally distributed database environmentt
`consider
`as
`shown in Fig
`The database is partitioned among the
`various processing systems and the arriving transactions
`common
`are routed to one of the processing systems by
`database re
`front-end system If
`transaction issues
`remote database partition the request
`referencing
`quest
`has to be shipped
`to the system owning the referenced
`partition for processing This is
`remote
`referred to as
`new dimension the reference
`database request Thus
`locality has to be considered in
`
`pattern or the reference
`load sharing strategies
`The
`pattern of database
`not only
`reference
`requests
`load fluctuation but also complicates mut
`causes frequent
`ing decision making When the database
`is partitioned
`the processing associated with each transaction can be di
`vided into two categories The first category denoted as
`routing dependent processing is to be executed at the pro
`transaction is routed The ap
`cessing system to which
`The other is
`plication process belongs to this category
`processing which is
`partition dependent
`service request
`particular database partition e.g the database
`against
`requests and can only be executed
`the processing sys
`at
`tem owning the partition To balance
`the loads among
`processing systems only the routing dependent
`process
`trans
`ing can be used as leverage In addition different
`the number of remote data
`action routing schemes affect
`base requests and thus incur different
`loads which are critical
`to performance
`
`communication
`This is in sharp
`
`By locally we mean so close together that communication delay is neg
`ligible e.g the entire system is located in the same machine room
`
`0098-5589/88/0900-
`
`1307$01 .00
`
`1988 IEEE
`
`Petitioner IBM – Ex. 1047, p. 1
`
`

`
`1308
`
`IEEE TRANSACTIONS
`
`ON SOFTWARE ENGINEERING VOL
`
`14 NO
`
`SEPTEMBER
`
`1988
`
`The
`
`sumed to be handled by the processing system
`processor speeds and the I/O access speeds at different
`processing systems are assumed to be identical
`Transactions
`submitted
`system
`by users enter
`the
`through the front-end system where transactions get for
`matted and are routed to one of the processing systems
`output mes
`After
`transaction processing is completed
`sages will be mapped into the users screen format and
`delivered back to the user via the front-end system load
`
`trans
`
`the front-end system to
`sharing strategy is employed at
`determine the assignment of an incoming transaction to
`processing system
`At the assigned processing system transaction in
`number
`vokes an application process which may issue
`of database requests The application process of
`action will be executed
`the assigned pro
`completely at
`requests will be exe
`cessing system whereas
`database
`cuted
`the processing systems owning the database
`at
`I/O
`partitions During the execution of database request
`device will be accessed if
`in the
`the required data is not
`main memory of the processing system The flow of trans
`action processing is shown in Fig
`where
`transaction
`iterations of application
`will be completed after several
`processing segments and database requests Transactions
`then can be characterized into different classes by
`the
`demand of each application processing
`processing service
`the number and reference distribution of da
`segment
`the processing and I/O service de
`tabase requests and
`mands of each database request For simplicity we as
`sume
`service demands
`that
`are exponentially
`these
`distributed Also at
`the end of each application process
`database re
`fixed probabilities of issuing
`ing segment
`particular database or terminating the transac
`to
`quest
`tion processing are assumed for each class
`Based on the sequence of transaction processing we
`the model of transaction processing as shown in
`construct
`Let
`there be
`in the system
`transaction classes
`
`Fig
`and let
`
`transaction
`tXk denote
`class
`For the kth class transactions arrive according to
`time-
`invariant Poisson process with rate X5 The mean pro
`cessing service demands of an application processing seg
`database request of tXk are ak and bk respec
`ment and
`tively Both ak and bk can be estimated by measuring the
`re
`pathlengths of application processing and database
`issued by tXk we as
`quest For each database requests
`sume that an I/O device will
`be accessed with
`fixed
`and the service time of each I/O access is
`distributed with mean dk When
`the exe
`exponentially
`cution of an application processing segment
`is completed
`database request
`to database
`transaction tx5 may issue
`DB1 with probability Pki or may terminate with probabil
`ity Pso The Pk is referred to as the database request prob
`to DB Thus the total processing
`ability of transaction
`load of incoming transactions per unit of time to the whole
`system becomes
`
`probability
`
`kI Pso
`
`a8
`
`PkObk
`
`Fig
`
`The configuration of
`
`locally distributed database
`
`system
`
`dynamic
`
`contrast with the case of homogeneous system without re
`mote requests between processing systems
`In this paper different dynamic strategies for transac
`locally distributed database environment
`tion routing in
`are studied The major concerns of designing
`what
`information
`is crucial
`to decision
`strategy are
`making and what is the overhead of collecting the infor
`how to use the available information to
`mation and
`make the routing decisions We propose
`class of dy
`namic strategies which can provide superior performance
`as compared to the optimal static routing scheme yet re
`to maintain the dynamic information
`effort
`quire little
`These strategies are based on routing history of currently
`active transactions along with transaction characteristics
`time of
`and attempt
`to minimize the estimated response
`an incoming transaction
`Also considered is
`class of
`queue length informa
`strategies based on instantaneous
`tion Well known strategies such as joining the shortest
`queue belong to this class This class of strategies can be
`costly to implement
`as frequent message exchanges
`required to update the queue length information
`In the next section the models of locally distributed
`database environment and transactions are described In
`Section III various transaction routing strategies are dis
`results on re
`cussed Section
`simulation
`IV presents
`sponse time under different
`routing strategies Detailed
`sensitivity analyses are also provided We summarize the
`results in Section
`
`are
`
`II MODEL DESCRIPTION
`
`We consider
`locally distributed transaction processing
`The system consists of
`system as shown
`in Fig
`transaction processing systems and
`front-end system
`connected by an interconnection network The transaction
`processing systems execute
`transaction application pro
`cesses and handle database requests The whole database
`databases which are denoted as DB1
`is partitioned into
`DBN where DB is attached
`to the transaction pro
`to DB1 are as-
`All database
`system
`
`requests
`
`cessing
`
`Petitioner IBM – Ex. 1047, p. 2
`
`

`
`YU et
`
`DYNAMIC TRANSACTION
`
`ROUTING
`
`1309
`
`application
`processing
`
`application
`processing
`
`appilcatlon
`procnsleg
`
`Input
`formatting
`
`database
`
`e.qu.s1
`to DB1
`tO access
`
`wt$t
`
`database
`
`request
`
`to D81
`access
`eIthout
`
`Fig
`
`The sequence
`
`of
`
`transaction processing
`
`I.nd
`
`otpt
`
`formatting
`
`bpplication
`
`5rOceSS
`
`local dolvbose requests
`ov communication overhead
`
`receiving service and
`
`remote database requests
`
`eabrnvdel
`fvr
`dotohose requests Cl
`
`ri
`
`Fig
`
`Model
`
`for locally distributed database
`
`system
`
`end
`
`Fig
`
`Model of transaction processing
`
`portion as
`Among this total processing load there is
`sociated with the processing of database requests We de
`note the processing load of database requests per unit time
`as follows
`
`at
`
`XkPk1bk
`
`ki
`
`Pko
`
`if
`
`trans
`
`to
`
`and Sb only depend upon the characteris
`Notice that
`tics of transactions and are independent of the transaction
`routing decisions When
`is issued it
`database request
`must be shipped from processing system P1 to
`database
`action being executed
`issues
`at P1
`request
`After the request gets processed the
`DB3 where
`result will be sent back Both
`and P3 have to perform
`and receiving services The service
`demands of
`sending
`database request or the results of
`sending and receiving
`request are referred to as communication overhead
`and
`are assumed to be exponentially distributed with mean
`The system model
`is illustrated in Fig
`single
`server processor sharing queue is used to model
`the pro
`cessor at each processing system On the other hand the
`I/O subsystem of each processing system is modeled as
`an infinite server queue This is to correspond
`global or
`representation of more complex I/O subsys
`aggregate
`tem Note that this choice is mainly to simplify the model
`Extensions to capture I/O contention can be done by ex
`and multiple disk
`considering data allocations
`
`plicitly
`
`servers
`
`the transmission delay of shipping data
`In the model
`in the network is assumed negligible This
`base requests
`assumption while reasonable
`locally distributed sys
`in
`tem would not be in
`geographically distributed system
`The other simplification in the model
`the overhead
`is that
`or the delay due to data conflict and two-phase commit
`It would be otherwise necessary
`ment is not included
`more complicate model
`than the one presented
`here In addition as shown in 21 the routing decisions
`to minimize transaction response times under the optimal
`static routing strategy are not affected whether lock con
`tention is considered
`
`define
`
`to
`
`III DYNAMIC TRANSACTION ROUTING
`
`STRATEGIES
`
`We now consider different dynamic transaction routing
`strategies which can be employed at the front-end system
`As pointed out before the two major concerns
`are what
`information to maintain and how to make
`routing deci
`sion based on the available information To decide on the
`dynamic information we need to understand which infor
`mation can be easily maintained at the front-end and yet
`provide valuable insight for making the routing decisions
`One class of strategies proposed
`ate based on routing his
`tory of active transactions along with some static profile
`on transaction characteristics Here active
`transactions
`denote the transactions currently under or waiting exe
`cution in the processing system This class of strategies
`can be main
`overhead as
`incurs little
`routing history
`tained easily in the front-end system The essential
`issue
`is to estimate load conditions of the processing systems
`and then make
`good routing decision based on this es
`timate Different alternatives
`have
`been explored and
`
`Petitioner IBM – Ex. 1047, p. 3
`
`

`
`1310
`
`IEEE TRANSACTIONS
`
`ON SOFTWARE ENGINEERING VOL
`
`NO
`
`SEPTEMBER
`
`1988
`
`some of them lead to very robust performance as shown
`in the next section
`The other class of strategies considered is based on in
`stantaneous
`queue length information of each processing
`system The queue length of
`is referred to the number
`of tasks being executed
`at processing system
`database
`processing
`task
`is either application
`request
`The
`overhead
`processing or communication
`instanta
`neous queue lengths are costly to collect as frequent mes
`sage exchanges between the front-end system and the pro
`cessing systems would be required Surprisingly we find
`that even ignoring the overhead of collecting the state in
`formation the latter class of strategies leads to inferior
`performance compared to the former
`
`where
`
`Strategies Based on Routing History
`
`Consider
`
`set of dynamic strategies where the routing
`is based on routing history of active
`decision process
`transactions along with transaction characteristics
`These
`strategies first estimate the response time of an incoming
`the transaction is routed to the pro
`transaction given that
`Then the incoming transaction is routed
`cessing system
`to the processing system P1 which provides the minimum
`expected response time
`The routing history of active transactions is maintained
`routing history table Each
`by the front-end system in
`time
`the entry in the kth
`is routed to
`transaction tXk
`row and the ith column of the routing history table is in
`by one to reflect the new arrival and its routing
`cremented
`Furthermore when
`transaction is completed and an out
`put message is returned to the user through the front-end
`the entry in the corresponding row and column of the table
`is decremented
`by one to reflect the departure Note that
`to maintain the table in the
`negligible overhead
`in
`front-end system and requires no communications of
`from the processing sys
`stantaneous
`state information
`tems
`Next
`
`there is
`
`sidered
`
`the issue of estimating the response time is con
`The
`time of an incoming
`expected
`response
`the transient behavior of
`the
`
`upon
`transaction depends
`system and the future arrivals For efficient
`the front-end
`tion at
`steady-state analysis is applied to
`time using transaction char
`estimate the mean response
`acteristics and mean queue length at each processing sys
`tem From the derivation in the Appendix the expected
`response time for
`transaction 8k routed to
`is given as
`
`implementa
`
`L1
`
`P80
`
`bkpkl
`
`P81
`
`L1
`
`1b8
`
`cpkj pdk
`
`101
`
`11
`
`where L1 is the mean queue length of P1 and
`
`3.1
`L1
`
`2Note
`
`the number of tasks
`that
`included in the queue
`
`length
`
`receiving 10 services at system is not
`
`Lv Note that although quite
`few parameters ap
`pears in the above formulas they are derived from either
`or workload parameters ak
`and
`system parameters
`bk dk
`and P81 which are provided from the static
`transaction profile We now present
`three different ways
`based on routing history
`to estimate
`Service Time Based Strategy Consider the moment
`new transaction arrives Let mkl be the number of
`transactions assigned to the processing system
`i.e Em81 constructs
`and not yet completed
`the routing
`history table Let prob8
`denote the probability
`class
`transaction assigned
`to processing system
`at P1 Hence
`waiting for or receiving processing service
`we can express the expected queue length L1 of P1 as
`
`that
`
`is
`
`that
`
`class
`
`iI kI ink probki
`
`3.2
`
`time
`
`for
`
`that
`
`type
`
`Assuming that the fraction of
`transaction is either
`
`at
`
`or
`
`waiting or receiving
`receiving I/O service is
`processing service
`time one can
`to the corresponding service
`proportional
`in 3.2 as follows
`approximate the unknown probabilities
`
`probsij
`
`b8 cpe
`
`10Ck
`
`prob8i
`
`h8p81
`
`3.3
`
`where the normalizing constant C8 is given by
`c8j a8 bkpk
`
`P81
`
`jI
`jNi
`
`j-l
`11
`
`PkJ
`
`Notice that
`
`are normalized
`
`to
`
`receive
`
`the probabilities probk
`the transactions assigned
`by assuming that
`either processing or I/O service
`mk
`Hence given
`and the approximate probabilities prob8i
`based on the service time proportions one can derive es
`timates from 3.2 of the mean queue length
`Each in
`coming transaction is then routed to the processing system
`P1 such that R91L min115 R81L In sum
`mary this strategy uses service times to estimate mean
`queue length and selects the processing system which pro
`vides minimum response time to route an incoming trans
`action We shall call
`it MRT.ST strategy The informa
`tion needed in MRT.ST includes the routing history table
`static profile on transaction characteristics ak
`ii and
`Pko PkI
`The residence time
`Residence Time Based Strategy
`based strategy which will be called MRT.RT is different
`from MRT.ST only in the computation of probabilities
`With MRT.RT
`prob8i
`the probability
`strategy
`prob8i
`to the residence
`time at
`
`bk
`
`10
`
`is proportional
`
`the
`
`Petitioner IBM – Ex. 1047, p. 4
`
`

`
`YU rg a/
`
`DYNAMIC TRANSACTION
`
`ROIl
`
`rING
`
`1311
`
`in
`
`of
`
`transaction of
`P1
`can be written as
`
`instead of the service time An it
`processing system
`based on the MVA equations
`is ap
`erative approach
`plied in order to derive the probability probk
`and the
`mean queue length
`time Tki
`The residence
`to
`initially assigned
`
`class
`
`Tij SkijNkij
`
`3.4
`
`type
`
`is its
`
`where Nki
`is the mean number of tasks that
`finds in P1 and Sk
`transaction assigned
`to
`can be simply
`total service time at P3 Values of Sk
`in a.3 of the
`derived from the service
`times expressed
`can be approximated by Nki
`Appendix Nki
`L1 probtij which is similar to the well known Bard
`Thus the probability
`Shweitzers
`algorithm
`which is proportional
`to the residence
`time
`is given as
`
`probk
`
`Ti
`
`probkij
`
`bk
`
`cpkJ
`
`probkij
`
`prohki
`
`Lak
`
`bkpk CPkf
`
`L1
`
`probki
`
`3.5
`
`Combining 3.1 and 3.6 the ex
`for
`pected response time for
`transaction assigned to
`can be written as
`
`class
`
`Rk
`
`at
`
`Pki
`
`1I
`ji
`
`i-i
`iNi
`
`p1
`
`cpkj
`
`dk
`
`3.7
`On the other hand each processor utilization is given by
`
`XkI
`kI /.LPto
`
`PkJ at
`
`bkpk
`
`Pt
`
`iI
`
`Pklbk
`
`cPkj
`
`3.8
`
`Note that
`
`type
`
`the only unknown quantity in 3.8 is the prob
`ability distribution ji of routing an arriving transaction of
`Since in such model
`to processing element
`corresponds to frac
`to each
`one can intro
`
`distribution
`the routing probability
`tions of transactions assigned
`duce the following approximation
`
`where the normalizing constant Ck is given by
`
`mk
`
`Pki
`
`3.9
`
`--
`
`PkJLi
`
`probki
`
`jNi
`
`cpkfLj probij
`
`jkj-I
`ii
`
`JO
`Pt
`
`Pkj
`
`zero values
`
`the mean queue lengths
`Hence given
`system state iii
`by iterating 3.5 and 3.2 starting with
`are computed
`for both queue lengths L1 and probabilities
`probij fork
`The
`jj
`MRT.RT
`strategy uses the same static and state-depen
`information as the MRT.ST strategy The iteration
`dent
`between 3.5 and 3.2 should not
`impose any substantial
`overhead during decision making
`Utilization Based Strategy
`routes each arriving transaction to the processing
`Strategy
`element that offers the minimum response time computed
`by using an approximation of server utilizations The
`strategy is simply called MRT.UT The approximation
`is based on the number
`of server utilizations
`fl1 in the
`
`The Utilization Based
`
`routing history table
`Let p1 denote the utilization of the processing element
`Since each
`and uses the
`has
`fixed service capacity
`processor sharing discipline one can write
`
`In other words the MRT.UT
`approximates the steady-
`by assuming
`routing probability at the
`state utilization
`to number of ac
`front-end and by setting it proportional
`tive transactions in the system
`m11
`Hence given
`routing history table
`KN estimates of utilizations can be computed by 3.8
`and 3.9 and then by 3.7 estimates of the expected
`time can be derived MRT.UT
`strategy routes
`response
`transaction to the processing system P1 such
`each arrival
`min1.jv Rb 1. This strategy is
`that
`information
`based on state-dependent
`at bk Pto Pu
`mation
`
`and static infor
`
`Strategies Based on Instantaneous Queue Length
`
`We now consider
`class of strategies based on the in
`systems Two
`queue length at each processing
`stantaneous
`different approaches of making routing decisions are con
`sidered The first approach
`selects the processing system
`which minimizes the estimated response
`time as before
`and the second one selects the system with minimal queue
`to maintain instantaneous
`length Although the overhead
`queue length can be quite costly in the following analysis
`ignore this overhead as the objective is to un
`we shall
`derstand in the presence of remote calls whether instan
`taneous queue length can provide more robust estimate on
`the load condition
`
`Petitioner IBM – Ex. 1047, p. 5
`
`

`
`IEEE TRANSACTIONS
`
`ON SOFTWARE ENGINEERING \OL
`
`14 NO
`
`SEPTEMBER
`
`1988
`
`1312
`
`where
`
`n1
`Minimum Response Time Let
`is the instantaneous
`queue length of the process
`Assume that
`the
`
`for
`
`ing system
`
`instantaneous
`queue length 7f
`is available to the front-
`end We then estimate
`i.e the expected
`re
`by
`Thus this strategy
`sponse time is estimated by RkI
`and static
`requires state information
`information
`Pko p8 p. We refer to this strategy as MRT.IQL
`bk
`for minimum response time based on instantaneous
`queue
`length Note that
`in the presence of remote database calls
`the instantaneous
`queue length may not be representative
`of the mean queue length
`Minimum Instantaneous Queue Length The mini
`mum instantaneous
`queue
`length strategy denoted
`as
`MQL routes each arriving transaction to the processing
`system that has the least number of tasks being executed
`The minimum queue length strategy selects the processor
`n3 If the minimum
`mm1 .j
`element
`such that
`processing system among the ones that
`is not unique
`achieve the minimum is randomly chosen This strategy
`and does not
`is only based on the state information
`require any static information
`The minimum instantaneous
`queue length strategy also
`known as the send-to-shortest queue policy is optimal
`for
`single Pois
`system with identical exponential queues
`son arriving transaction stream and where each transac
`tion can be executed
`completely on any processor For
`more complex systems with multiple classes and/or
`trans
`the min
`actions with distributed processing requirement
`imum queue length strategy is not
`in general optimal
`
`IV Sisiuro STUDY
`AND PERFORMANCE
`COMPARISONS
`
`confidence
`simulation runs 95 percent
`level estimates
`were obtained The simulations were run until
`interval width divided by mid
`width of
`the confidence
`
`the relative
`
`point was less than
`In the experiments reported in the following we as
`sume that
`there are three transaction processing systems
`and three transaction classes
`Based on
`data from some IBM IMS systems
`the average
`number of database requests
`transaction is set
`to 15
`per
`transaction classes i.e P80
`0.0625 fork
`for all
`Pro pi1 which indicate the
`The matrices
`distribution of database requests are given in Table Ito
`low middle and high localities of database
`re
`reflect
`
`quests
`T0 study the impact of processing load on database re
`quests and request shippings
`various system parameters
`are assigned with the following values We assume that
`the processor speed is 7.5 MIPS and regard a8
`as
`demand
`The mean service time
`unit of service
`for all
`is assumed to be 0.004 second equivalently
`of this unit
`30K instructions in pathlength The service
`demand of
`is defined in terms of this unit The
`shipping
`request
`10 access time d8 and the probability of having 10 ac
`are assumed to be 40 ms and 0.7 for all
`transac
`cess
`tion classes respectively Also we denote the ratio of b8
`the complexity of da
`bk as rk which represents
`to a8
`tabase requests
`The load of
`be due to the
`processing system could
`services of transaction application processing
`database
`and communication
`overhead pro
`request processing
`S/Np where
`cessing Let
`is given in Section II
`which indicates the average processing utilization per sys
`tem due to application processing and database requests
`and is independent of the routing decisions By changing
`rates X8 we can study the transaction response
`the arrival
`times under different ps The load of
`processing system
`due to processing database requests denoted by p5i
`and is equal
`to Sr/.8 where
`is routing independent
`given in Section II By changing
`the arrival
`rates subject
`fixed p8 we can vary the relative value of the phi
`to
`which represent
`the partition depending
`processing utili
`zations
`
`is
`
`Performance Comparisons
`
`First we study the effectiveness
`of
`routing strategies
`The incoming trans
`under different processing loads
`are assumed to have middle locality in regard to
`actions
`the distribution of database requests and r8
`0.3 for all
`transaction classes The partition dependent
`load on each
`i.e
`assumed
`be
`processing
`system is
`to
`equal
`p5lp52p83
`111 Figs
`show the
`times versus p1
`transaction response
`0.25 1.5K and 7.5K instructions
`length respectively
`When the communication overhead of shipping remote
`is low all dynamic load sharing strategies have
`requests
`better performance than the optimal static strategy When
`the communication overhead
`is high the optimal
`static
`
`for
`
`0.05 and
`in terms of path-
`
`and
`
`In the following we use simulation to investigate the
`of the proposed dynamic routing strategies
`effectiveness
`Mean transaction response time is the main concern
`and
`is used to indicate system performance under the different
`load sharing strategies To compare the performance of
`III we also consider the
`given in Section
`the strategies
`load sharing strategy under which an in
`optimal
`processing system ac
`routed to
`coming transaction is
`predefined routing probability The optimal
`cording to
`in
`static load sharing strategy takes account of all static
`formation i.e X8 a8 b8
`Pko P81 JL
`to determine
`the mean transaction
`such that
`the routing probabilities
`time is minimized The details of solving this
`where
`problem have been given
`optimization
`in
`simplex reflection method is used to find the optimal
`
`static
`
`response
`
`rout
`
`ing probabilities
`
`Description of the Simulations
`
`In order to evaluate dynamic load sharing strategies we
`simulated the model
`for the locally distributed database
`The simulation was imple
`system illustrated in Fig
`mented using RESQ
`The routing decision is imple
`mented as
`separate function and is invoked upon
`trans
`action arrival at the front-end system In addition for all
`
`Petitioner IBM – Ex. 1047, p. 6
`
`

`
`YU ei
`
`fli
`
`DYNAMIC TRANSACTION
`
`ROrTING
`
`1313
`
`TABLE
`THE DI5TRIBU ION OF DA AUASE REQUEsTs UsED IN EXPFRIMFNTS
`
`In
`
`ty
`
`idd ft
`
`ly
`
`ih ln
`
`1y
`
`t3h.e
`
`0.75 0.1
`0.20
`0.65
`0.7 0.50
`0.07 0.82
`0.31
`ic t4peD0l
`0.21 0.58J 0.11 0.06
`
`0.15
`
`type
`
`114
`
`0.1
`
`0.83
`
`10 0.0
`
`0.90
`0.07 o.8i
`0.11
`
`0.03
`
`0.06
`0.86
`
`implemented easily
`
`than the MRT.UT MQL and
`strategy becomes better
`MRT.EQL
`strategies Over all
`strategies considered
`MRT.ST and MRT.RT
`strategies yield the best perfor
`mance Neither of these two strategies needs instanta
`routing history ta
`neous state information By maintain
`strategies can be
`system both
`front-end
`ble in the
`In Fig 5c the mean communication load at each pro
`cessing system versus the processing load is plotted under
`The communication
`load at each
`studied
`the strategies
`processing system is due to the service of remote request
`the number of remote database
`shipping and can reflect
`requests The optimal
`static strategy leads to the smallest
`communication load This implies that most
`transactions
`are routed to the preferred processing system which owns
`the database partition referenced
`by the majority of their
`for MRT.UT the
`database
`except
`requests fri general
`loads under the other five strategies are
`communication
`increased either linearly or concavely When the process
`ing load is 0.81 the communication load introduced un
`the MRT.UT makes the system saturated This seems
`der
`the system under MRT.UT
`tends to be
`to suggest
`unstable once the processing load is high
`Both the MQL and MRT IQL strategies use instanta
`neous queue lengths to make
`transaction routing deci
`sions The instantaneous
`queue length may fluctuate fre
`quently due to the issuing of remote database requests As
`the decision processes using MQL and
`consequence
`MRT.IQL observe more instances where the system has
`load than under the other strategies Thus de
`unbalanced
`cision making tends to balance the loads regardless of in
`remote database requests When the
`troducing additional
`is high these additional
`communication overhead
`remote
`lead to an increase of system utilization
`time Both the MQL and
`and
`response
`transaction
`MRT.IQL strategies end up with inferior performance
`compared
`to the optimal static strategy
`With the same setups as the above experiments we in
`the performance of load sharing strategies under
`unbalanced pbi Figs 6a and 6b show the transac
`strategies when
`time
`under different
`response
`p5lp2pb3 0.511 In general
`the results
`as shown in Figs 5a and 5b
`have the same tendency
`at P1
`Since the underlying load due to database requests
`i.e p0
`is small all strategies tend to route more
`transactions to P1 and thus introduce more remote ship
`than under the case with balanced P8i The in
`pings
`crease in response time is more vivid when
`0.25
`
`that
`
`database requests
`
`vestigate
`
`tion
`
`Sensitivity Analyses
`
`it has been shown that both MRT.ST
`and
`In Figs
`and MRT.RT are superior to other load sharing strategies
`We shall proceed further
`to investigate the robustness of
`on var
`these two strategies through sensitivity analyses
`ious system and workload parameters Specifically we
`overhead distribution
`of database
`vary communication
`requests degree of balancing on partition dependent
`and service demand of database requests
`The rela
`Sensitivity to Communication Overhead
`transaction response time and commu
`tionship between
`is illustrated in Fig
`nication overhead
`where simula
`tion results for various communication
`overheads
`presented for MRT.ST MRT.RT and the optimal
`static
`strategies Two groups of curves are shown one is for
`0.71 The response
`0.57 the other
`is for
`times
`increase more than linearly in the second group which is
`under higher processing load Fig
`shows
`the increase
`in mean communication
`load at each processing system
`when the communication overhead of shipping database
`requests and results becomes
`large
`the mean communication
`It can be observed
`that
`
`load
`
`are
`
`under
`static strategy is less than that under
`the optimal
`MRT.ST or MRT.RT The larger shipping loads under
`MRT.ST and MRT.RT indicate that more transactions are
`
`load
`
`the
`
`to
`
`nonpreferred processing system to eliminate
`routed to
`in com
`temporary load unbalance Despite the increase
`munication load the dynamic routing strategy balances
`the loads among processing systems eliminates possible
`bottlenecks and thus reduces the response time The other
`the number of non-
`interesting observation in Fig is that
`preferred routings under MRT.RT is greater than that un
`der MRT.ST In contrast
`to MRT.ST the MRT.RTs ap
`Thus
`queue

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket