Title: How High is High Performance Transaction Processing?
1How High is High Performance Transaction
Processing?
- Jim Gray, Microsoft Research
- HPTS 99
- Asilomar, CA 1 Oct 1999
- http//research.Microsoft.com/Gray/Talks/
2Outline
- Sizing the business 0B or 1T?
- TP is dead long live HTTP-XML
- i.e. TP monitors morph to web servers.
- Transactions are C2C (b2b not enough)
- Scaleability terminology if there is time.
3Where are we? Where are we headed (will we
run out of transactions)?
- Whats Ultimate tpd demand?
- We started out to do 1,000 transactions per
second - 1985 Datamation article
tpd
Whats Current tpd demand?
1Ktps 80 Mtpd
time
4TpcA
- 1998
- 208 DebitCredit _at_ 45 k/tps (Tandem 32x T16)
- 1991 Sept
- 212 tpsA _at_ 16,331 /tpsA (Tandem 64xCLX)
- 62 tpsA _at_ 11,945 /tpsA (Rdb 6xVAX)
- 1993 Sept
- 1,002 tpsA _at_ 9,313 /tpsA (Oracle 32x Sequent)
- 529 tpsA _at_ 6,341 /tpsA (Rdb 4xAlpha)
- 1995 Peak
- 3,692 tpsA _at_ 4,873/tpsA (Rdb 20x Alpha)
- 662 tpsA _at_ 4,401 /tpsA (Rdb 4xAlpha)
- 1999 guess
- 4,000 tpsA _at_ 200 /tpsA ( 320 M tpd) PER
NODE!!
5TPC C Progress
- Jan 1993
- 23 tpmC _at_ 2.3k /tpmC
- 269 tpmC _at_ 3.0k /tpmC
- Nov 1995
- 2,455 tpmC _at_ 242 /tpmC (SS 4x P5 133)
- 11,456 tpmC _at_ 286 /tpmC (Oracle 8xAlpha 350)
- Sept 1997
- 12,026 tpmC _at_ 40 /tpmC (SS 6x P6 200)
- 39,469 tpmC _at_ 95 /tpmC (Sybase 16xHPPA
200) - Sept 1999
- 40,368 tpmC _at_ 19 /tpmC (SS 8xIntel 550)
- 135,461 tpmC _at_ 97 /tpmC (Oracle 4x24 Sparc 400)
6Prediction
- 1 MtpmC _at_ 10/tpmC in 3 years (or tpcC
disappears) - 25 M of stuff today
- 8 M of stuff in 3 years
- Thats 3 Btpd at much less than 0.01/tpd a
PENNY PER tpd.
7How Many tpds Are There?
- 10 second think time
- 12 hour days
- 5,000 tpd/person
- 6 billion people
- 30 Ttpd
- actual guess is 100x less than that
- People think slower, work/play less
- Not everyone is wired
8Where Are We?
- Market is not saturated1998 IBM annual report
20 Btpd on IBM systems (0.1 of demand). - Its a big market 40k tpmC _at_20/tpmC 100
Mtpd _at_ 1M (a penny per tpd) So 30 Ttpd
300B industry for hw/sw
9Wow!! 300 B Business, GREAT!!
- But.
- What about my 100x over-estimate?
- A 3B business?
- What about Moores law 2x decline/year?
- A 0B business?
- Time to find a second career?
- Go into services/consulting/operations?
- Count on shadow transactions? every human
transaction 100 shadow transactions (B2B)
10Conclusion Sizing traditional TP
- Its a big business now and for a while
- But people will be limited to 30 Ttpd
- Ultimately a 0B industry
- A penny per tpd today (a microdollar per
transaction) - Web nearing commercial TP rates
11Outline
- Sizing the business 0B or 1T? (30 Ttpd)
- TP is dead long live HTTP-XML
- i.e. TP monitors morph to web servers.
- Transactions are C2C (b2b not enough)
- Scaleability terminology if there is time.
12A Brief History of Computing
- In the beginning there was batch.
- Automated back office
- Then came Timesharing/OLTP
- Automated front office
- Then came the web
- Automated the customer
- Then came ?
- Automated the process
- Computers talk to computers
We are here
13Some busy web servers
- AOL 3 B hits per day (3B tpd)
- Yahoo 1 B hits per day
- Top 10 6 B hits per day
14So, What happened to the TP monitor?
- AOL NaviServer/IRIX
- Yahoo Apache/FreeBSD, IIS/NT
- MSN IIS/NT
- Hotmail Apache/FreeBSD
- IBM Domino/AIX
- Compaq IIS/NT
- Dell IIS/NT
- ATT Netscape/Solaris
- Lucent Netscape/IRIX
- Cisco Netscape/Solaris
- Oracle Oracle/Solaris
- NASDAQ IIS/NT
- NYSE Netscape/AIX
- FedEx Netscape/Solaris
- LL Bean Netscape/AIX
- Schwab Netscape/Solaris (!!!)
- Etrade Netscape/Solaris
- Ebay IIS/NT
- Amazon Netscape/DEC Unix
- ??? CICS/NT
- ??? CICS/AIX
- ??? CICS/OS390
- ??? Tuxedo?
- !!!! Yes, there are HTTP-SNA front ends, but
why??
15Body Count
- 7 M servers (IP addresses)
- Minus squatters
- Plus servers behind the firewall
- Plus Intranets
Courtesy of Netcraft http//www.netcraft.com/sur
vey/
16How many TP monitors are there?
- Guess 100,000 nodes
- (CICS, CICS, CICS, Tuxedo, IMS, Encina, ACMS,
Pathway, ) - IBM estimate of 20 B tpd on IBM gear is
impressive - equal current Internet traffic (ignore
intranets). - At mainframe prices (200/tpmC) 0.25/tpdC 4
B seems very conservative - Installed base 150B, so suggests 1 T tpd
- Or transactions MUCH bigger than tpmC
- Or low utilization (peakaverage is 101 ?)
- Or, systems not doing TP.
- Or, more expensive
- Probably, most of these statements are true
17Claim Climbing the value chain TP ORB HTTP
Tplite RPC IPspray
- TP monitors multiplex clients to servers manage
servers - ORBs multiplex invocations to methods and
- HTTP servers multiplex GET/POST to pages and
- TPlite multiplex clients to stored procs and
- RPC multiplex callers to callees and
- They are stealing our tp tricks.
- The revenge of TPlite
- Its 3 tier, but your/my stuff is not in the
middle tier.
18Web servers are behind but
- They are learning about manageability.
- They are learning about functionality
- Take a page from the OO vs OR war
- Easier to add Objects to a DB
- Than add DB to Objects.
- Guess
- Easier to add HTTP to TP
- Than to add TP to HTTP
19Web Servers are Learning TP Tricks
- Multiplexing server pools
- Fast CGI
- COM connection pooling
- Client context
- Cookies
- Sessions
- Load balancing (various)
- Security (SSL, certificates, CR,)
- High availability
- Failover, IP mobility, Redirection,
- Queuing
1 years progress
20Outline
- Sizing the business 0B or 1T? (30 Ttpd)
- TP is dead long live HTTP-XML
- i.e. TP monitors morph to web servers.
- Transactions are C2C (b2b not enough)
- Scaleability terminology if there is time.
21The birth of C2C
- So, if the Person2Computer business is 0B (30
Ttpd) - Then the B2B business (shadow transactions) is
100B - Great, but what about Moores law
- Solution
- C2C transactions computers to computers
- No people involved!
- Ultimate automation.
- Smart dust (Avagadros number of users)
22C2C TP (actually making it work)
- Interop is key (no people to do format
translation). - Use a STANDARD protocol
- No IBM/Microsoft/Intel standard
- Standard protocols
- HTTP (get/post/queue/dequeue)
- XML for data format
- Transactions and queues
- Authentication/Authorization (certificates/signatu
res) - Pico-pricing
- Does this sound like B2B?
23User Productivityone person generates 1K C2C
transactions computer to computer
- No obvious limit to the number of tps.
- Obvious need for transaction properties
- Thats how social systems work (transactions).
- So, its not a 0B industry (thank goodness!)
- But, its not your fathers TP monitor.
24Some sample XML(outer frame of this talk in XML)
ltxml xmlnsv"urnschemas-microsoft-comvml"
xmlnso"urnschemas-microsoft-comofficeoffice"
xmlnsp"urnschemas-microsoft-comofficepowerpo
int"gt ltppresentationgt ltp...
slots"title,body,dateTime,footer,slideNumber"gt
... lt/pmastergt ltpslide id"1"
href"slide0001.htm" layout"title_subtitle"
slots"centerTitle,subTitle"/gt ...
ltpviewstate type"slideView" slidehref"slide0030
.htm"/gt ltpfont name"Times New Roman"
charset"0" type"4" family"18"/gt
ltpheadersfooters noheader"t"/gt
ltppptdocumentsettings framecolors"WhiteTextOnBla
ck" hideslideanimation"t"/gt lt/ppresentationgt
ltoshapedefaults vext"edit" spidmax"34820"gt
ltocolormru vext"edit" colors"3cc,09f,fuchsia
,6f3,ff6"/gt ltocolormenu vext"edit"
fillcolor"ff6"/gt lt/oshapedefaultsgtlt/xmlgt
Go here for DTDs
- Anyone can define anything.
- When I use a word it means exactly what I want
it to mean, nothing more and nothing less.
25Yes, but..
- XML is WONDERFUL!
- But.. XML is no panecea.
- XML uses DTDs Syntax presentation, not schema,
not semantics!!! - DTDs as a competitive advantage
- SAP will publish its DTDs
- Defines customer, employee, (all business
objects) - Other vendors will compete for these
definitions - Lassettres Dog (www.ibm.com/dog,
www.jim.com/dog, .) no www.top.org/dog - World needs a global schema
- Data Methods ( semantics)
26Oh!! And by the way.
- B2B and C2C need workflow
- Scripts
- Execution
- Status
- Good luck.
27Summary
- People are a 30 Ttpd business
- B2B is a 3 Ptpd business
- (shadow transactions)
- C2C is an infinite business (smart dust)
- The web servers are coming! The web servers are
coming! - XML needs schema definitions
- Syntax Semantics.
- Formats Protocols workflows
28Outline
- Sizing the business 0B or 1T? (30 Ttpd)
- TP is dead long live HTTP-XML
- i.e. TP monitors morph to web servers.
- Transactions are C2C (b2b not enough)
- Scaleability terminology if there is time.
29Terminology for scaleability
Farm
- Farms of servers
- Clones identical
- Scaleability availability
- Partitions
- Scaleability
- Packs
- Partition availability via fail-over
Clone
Partition
Pack
30Unpredictable Growth
- The TerraServer Story
- We expected 5 M hits per day
- We got 50 M hits on day 1
- We peak at 15-20 M hpd on a hot day
- Average 5 M hpd after 1 year
- Most of us cannot predict demand
- Must be able to deal with NO demand
- Must be able to deal with HUGE demand
31An Architecture for Internet Services?
- Need to be able to add capacity
- New processing
- New storage
- New networking
- Need continuous service
- Online change of all components (hardware and
software) - Multiple service sites
- Multiple network providers
- Need great development tools
- Change the application several times per year.
- Add new services several times per year.
32Premise Each Site is a Farm
- Buy computing by the slice (brick)
- Rack of servers disks.
- Grow by adding slices
- Spread data and computation to new slices
- Two styles
- Clones anonymous servers
- PartsPacks Partitions fail over within a pack
- In both cases, remote farm for disaster recovery
33Scaleable SystemsScale UP and Scale OUT
- Everyone does both.
- Choice is
- Size of a brick
- Clones or partitions
- Size of a pack
34Everyone scales outWhats the Brick?
- 1M/slice
- IBM S390?
- Sun E 10,000?
- 100 K/slice
- Wintel 8X
- 10 K/slice
- Wintel 4x
- 1 K/slice
- Wintel 1x
35Clones AvailabilityScalability
- Some applications are
- Read-mostly
- Low consistency requirements
- Modest storage requirement (less than 1TB)
- Examples
- HTML web servers (IP sprayer/sieve replication)
- LDAP servers (replication via gossip)
- Replicate app at all nodes (clones)
- Spray requests across nodes.
- Grow by adding clones
- Fault tolerance stop sending to that clone.
- Growth add a clone.
36Facilities Clones Need
- Automatic replication
- Applications (and system software)
- Data
- Automatic request routing
- Spray or sieve
- Management
- Who is up?
- Update management propagation
- Application monitoring.
- Clones are very easy to manage
- Rule of thumb 100s of clones per admin
37Partitions for Scalability
- Clones are not appropriate for some apps.
- Statefull apps do not replicate well
- high update rates do not replicate well
- Examples
- Email / chat /
- Databases
- Partition state among servers
- Scalability (online)
- Partition split/merge
- Partitioning must be transparent to client.
38Partitioned/Clustered Apps
- Mail servers
- Perfectly partitionable
- Business Object Servers
- Partition by set of objects.
- Parallel Databases
- Transparent access to partitioned tables
- Parallel Query
39Packs for Availability
- Each partition may fail (independent of others)
- Partitions migrate to new node via fail-over
- Fail-over in seconds
- Pack the nodes supporting a partition
- VMS Cluster
- Tandem Process Pair
- SP2 HACMP
- Sysplex
- WinNT MSCS (wolfpack)
- Cluster In A Box now commodity
- Partitions typically grow in packs.
40What PartsPacks Need
- Automatic partitioning (in dbms, mail, files,)
- Location transparent
- Partition split/merge
- Grow without limits (100x10TB)
- Simple failover model
- Partition migration is transparent
- MSCS-like model for services
- Application-centric request routing
- Management
- Who is up?
- Automatic partition management (split/merge)
- Application monitoring.
41Always UP Farm pairs
- Two farms
- Changes from one sent to other
- When one farm failsother provides service
- Masks
- Hardware/Software faults
- Operations tasks (reorganize, upgrade move
- Environmental faults (power fail)
42Services on Clones Partitions
- Application provides a set of services
- If cloned
- Services are on subset of clones
- If partitioned
- Services run at each partition
- System load balancing routes request to
- Any clone
- Correct partition.
- Routes around failures.
43Cluster Scenarios 3- tier systems
A simple web site
SQL Database
Web File Store
SQL Temp State
Front End
44Cluster Scale Out Scenarios
The FARM Clones and Packs of Partitions
SQL Temp State
Web File StoreA
ClonedFront Ends(firewall, sprayer, web server)
Web Clients
Load Balance
45Talk 2 (if there is time)
Farm
- Terminology for scaleability
- Farms of servers
- Clones identical
- Scaleability availability
- Partitions
- Scaleability
- Packs
- Partition availability via fail-over
Clone
Partition
Pack