srik raghavan principal lead program manager [email protected] kevin cox principal program manager...
TRANSCRIPT
![Page 1: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/1.jpg)
Scaling OLTP Applications: Application Design and Hardware ConsiderationsSrik RaghavanPrincipal Lead Program [email protected]
Kevin CoxPrincipal Program [email protected]
SESSION CODE: DAT206
![Page 2: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/2.jpg)
Session SummarySQL Server is a proven platform for OLTP workloadsSQL Server 2008 R2 offers features to assist with OLTP scalabilityHow to design hardware and software for scalability
![Page 3: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/3.jpg)
AgendaOLTP workload characteristicsOLTP application design principlesScalability determinants and bottlenecks
SQL Server 2008 R2 Performance and Scale features DemoScaling Up – Hardware to the rescueSummary
![Page 4: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/4.jpg)
OLTP Workload Characteristics
Typically used by line-of-business (LOB) applicationsHas both read-writeFine-grained inserts and updates High transaction throughput e.g., 10s K/secUsually very short transactions e.g., 1–3 tablesSometimes multi-step e.g., financialRelatively small data sizes
![Page 5: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/5.jpg)
Application Design Principles
LOGICAL DESIGN PHYSICAL DESIGN
ER MODEL INDEXES
• Design to leverage set-oriented processing power of SQL Server• Use development tools Visual Studio for Entity Framework design and DTA
for tuning indexes
![Page 6: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/6.jpg)
Entity Framework 4.0Development Approaches
Model First development – Start from a Model and then have T-SQL and customized code generated. Testing– New interface and guidance for building test suites faster.
Architectural AdvantagesPersistence Ignorance – Use your own classes without needing to introduce interfaces or other elementsApplications Patterns – Discussing patterns like the Repository and UnitOfWork patterns with guidance on how to use them with the Entity Framework Building N-Tier applications – Adding API’s and templates that make building N-Tier applications much easier
![Page 7: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/7.jpg)
Exploring the ModelThe Three Parts of the Model:
The image is taken from Julia Lerman’s book Programming Entity Framework, 1st Edition
![Page 8: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/8.jpg)
Reverse Engineer Database
![Page 9: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/9.jpg)
Application Design Best PracticesEnsure good logical (E-R Model) and physical (indexes) DB designLeverage set-oriented processing power of SQL ServerUpdate Statistics – ensure it is up to date!Use DTA to assist with physical designAvoid too many joinsNow let’s talk Physical Design
![Page 10: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/10.jpg)
Physical Design Best PracticesReasons for Physical Design changes
PerformanceAvailability SecurityAuditing
Separate logs and data if possibleSpend time doing index analysisTune OLTP systems for high I/O per secondTune data warehouse for high throughput per second
![Page 11: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/11.jpg)
Clustered index guidelinesGood when queries select large number of adjacent rows (range queries)
Create on the frequently used columns (in JOINs and WHERE with “=“, “<“, “>“, “BETWEEN”)If number of returned rows is small – non-clustered index may be as efficientPreferred on narrow and highly selective columns
Remember cost of maintenance:Updates reorganize the table
Performance impactCauses index fragmentation over time
![Page 12: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/12.jpg)
Non-clustered index guidelinesCreate for frequent search columnsUse on narrow and highly selective columnsPlace on foreign key constraints (for join queries)Check the workload for “covering” queries
Consider adding included columns
The drawback: maintenance costFrequent updates will ruin perf where there are too many indexes
Evaluate benefits of [not] indexing small tables
![Page 13: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/13.jpg)
AgendaOLTP workload characteristicsOLTP application design principlesScalability determinants and bottlenecks
SQL Server 2008 R2 Performance and Scale features DemoScaling Up – Hardware to the rescueSummary
![Page 14: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/14.jpg)
•Bottleneck
•Transaction takes longer
• Transaction holds resources
•Poor scaling
OLTP Scalability Dimensions & Determinants
Dimensions
Transaction throughputNo. of concurrent usersData size and growth rate
Resources
CPUMemoryIONetwork
Key Design Pattern for Scalability: Divide and Conquer
![Page 15: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/15.jpg)
Typical CPU scaling issues
Symptoms
Plan compilation and recompilationsPlan reuse < 90% is bad
Parallel queriesParallel wait type cxpacket > 10% of total waits
High runnable tasks or sos_scheduler_yield waits
Causes
Queries not parameterizedInefficient Query planNot enough stored proceduresMAXDOP is not set to 1Statistics not updatedTable scan, range scanSET option changes within SP
Use stored procedures and parameterize queries where possible
![Page 16: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/16.jpg)
Typical IO Scaling IssuesSymptoms
High average disk seconds per read (> 10 msec) and write (> 2 msec) for spindle based devicesTop 2 values for wait stats are one of - ASYNCH_IO_COMPLETION, IO_COMPLETION, LOGMGR, WRITELOG, PAGEIOLATCH_x
CausesAggravated by Big IOs such as table scans (bad query plans)Non covering indexesSharing of storage backend – combine OLTP and DW workloadsTempDB bottleneckToo few spindles, HBA’s
OLTP applications need to be designed for random I/O
![Page 17: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/17.jpg)
Typical Blocking Issues
Symptoms
High average row lock or latch waitsWill show up in
sp_configure “blocked process threshold” and Profiler “Blocked process Report”Top wait statistics are LCK_x. See sys.dm_os_wait_stats.
Causes
Higher isolation levelsIndex contentionLock escalationSlow I/OSequence number problem
Use RCSI/Snapshot isolation
![Page 18: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/18.jpg)
Typical Memory Issues
Symptoms
Page life expectancy < 300 secsSQL Cache hit ratio < 99% Lazy writes/sec constantly activeOut of memory errors
Causes
Too many large scans (I/O)Bad query plansExternal (other process) pressure
Eliminate table scans in query plansUse WSRM for non SQLServer processes on machine
![Page 19: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/19.jpg)
AgendaOLTP workload characteristicsOLTP application design principlesScalability determinants and bottlenecks
SQL Server 2008 R2 Performance and Scale features DemoScaling Up – Hardware to the rescueSummary
![Page 20: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/20.jpg)
Performance and Scale Features in SQL Server 2008 R2
Better query plansPlan guidesOptimize for Unknown
Lock escalation hintsResource governorTransparency and Diagnostics – Xevent, DMV’s> 64 thread support
Dynamic affinity (hard or soft)Hot-add CPU supportData Compression
Especially if you have I/O issuesPartitioningSnapshot Isolation, RCSIControl Point
![Page 21: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/21.jpg)
Plan Guides
Guide optimizer to use a fixed query planHelps with plan predictabilityUse when you can’t change the applicationSimple example
SELECT TOP 1 * FROM Sales.SalesOrderHeader ORDER BY OrderDate DESC;sp_create_plan_guide @name = N'Guide2', @stmt = N'SELECT TOP 1 * FROM Sales.SalesOrderHeader ORDER BY OrderDate DESC', @type = N'SQL', @module_or_batch = NULL, @params = NULL, @hints = N'OPTION (MAXDOP 1)';
![Page 22: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/22.jpg)
Optimize for Unknown
OPTIMIZE FOR UNKNOWNHint directs the query optimizer to treat as if no parameters values had been passedHelps solve case where specific parameter values in query result in a bad plan for other valuesExample
@p1=1, @p2=9998,SELECT * FROM t WHERE col > @p1 or col2 > @p2 ORDER BY col1 OPTION (OPTIMIZE FOR (@p1 UNKNOWN, @p2 UNKNOWN))
![Page 23: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/23.jpg)
DEMO
![Page 24: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/24.jpg)
Lock Escalation Controls Check if lock escalation is causing blocking before disablingDisable lock escalation at an object or table level Enable lock to be escalated to the partition of the tableIf the lock is escalated to partition (Hobt), it is not escalated further
Alter table T1 set (LOCK_ESCALATION = DISABLE)
![Page 25: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/25.jpg)
Resource Governor
BenefitsProvide deterministic Quality Of ServicePrevent run-away queriesTames ill behaved AppsDW & Consolidation scenarios
SQL Server 2008 RGWorkloads are mapped to Resource Pools Online changes of groups and poolsReal-time Resource MonitoringUp to 20 Resource Pools
SQL Server 2008
Min Memory 10%Max Memory 20%
Max CPU 20%
Admin Workload
Backup
Admin Tasks
OLTP Workload
OLTP Activity
Report Workload
Ad-hocReports
ExecutiveReports
High
Max CPU 90%
Application PoolAdmin Pool
![Page 26: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/26.jpg)
Extended Events (XEvent)Extremely high performance and extensible event and trace mechanismDynamic data collection on event fireIntegrated with ETW (Event Tracing for Windows)
Enables correlation with events exposed by Windows and third party applications
Hundreds of event points throughout SQL Server code baseCan identify session/statement level wait statistics
![Page 27: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/27.jpg)
AgendaOLTP workload characteristicsOLTP application design principlesScalability determinants and bottlenecks
SQL Server 2008 R2 Performance and Scale features DemoScaling Up – Hardware to the rescueSummary
![Page 28: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/28.jpg)
Core System Components
Disk Subsystem
Server
NIC
Memory
Network1
53
4
2
SQL File Layout
HBA
The key is to build a Balanced System without bottlenecks
SQL Server is only part of the equation. Eco system needs to scale.
![Page 29: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/29.jpg)
Memory
LP 0 LP 1 LP 2 LP 3 LP 4 LP 5 LP 6 LP 7
Concepts - NUMA
Front side bus contention increases w/ higher #CPUs
Symmetric Multiprocessor Architecture
Memory
LP 0
LP 1
LP 2
LP 3
Memory
LP 4
LP 5
LP 6
LP 7
Non-Uniform Memory Access
Local Memory AccessForeign MemoryAccess
Foreign memory access > local memory access> 64 thread supportexploits NUMA
![Page 30: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/30.jpg)
Disk Subsystem ConfigurationTrends
Disk sizes grew by 100 times over last 10 years Disk access times only decreased by factor 10Disk configuration of high-end systems is not just sizeof(data) but matter of expected I/O workload Solid State Disks now more prevalent
Configuration Scale throughput with multiple HBA’s, spindlesIf using RAID 10 get HBA that can do simultaneous read of the mirrorsUse multipathing for load balancingHBA Queue Depth – default 32 too low at timesConfigure to ensure healthy disk latencies < 10 msec
For OLTP Design for IO/sec
and data warehouse design for throughput
![Page 31: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/31.jpg)
NetworkTrends
Gigabit is standard today. Usable bandwidth typically ~350 Mbps10GBit Ethernet adapters available now – high demand for iSCSIBandwidth not always bottleneck cause
Lack of parallel processing of network interrupts
ConfigurationUse Windows Server 2008
Offers Distributed network DPC processing
Suggest one NIC per NUMA node; maximum 4 to 8 cores per NICUse Adapter teaming
Upgrade to Windows Server 2008 to gain these benefits
![Page 32: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/32.jpg)
Top statistics – SQL Server does ScaleCategory MetricLargest single database 80 TBLargest table 20 TB
Biggest total data 1 customer 2.5 PB
Highest transactions per second 1 db 36,000
Fastest I/O subsystem in production 18 GB/sec
Fastest “real time” cube 15 sec latency
Data load for 1TB 20 minutesLargest cube 4.2 TB
![Page 33: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/33.jpg)
SummarySQL Server 2008 R2 and Windows together offer an ecosystem to scale the most demanding OLTP applicationsGood application design is a precursor to great scalability
![Page 34: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/34.jpg)
Complete the Evaluation Form & Win!You could win a Dell Mini Netbook – every day – just for handing in your completed form! Each session form is another chance to win!
Pick up your Evaluation Form:Within each presentation roomAt the PASS Booth near registration area
Drop off your completed Form:Near the exit of each presentation roomAt the PASS Booth near registration area
• Sponsored by Dell
![Page 35: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/35.jpg)
Visit the Microsoft Technical Learning Center
Located in the Expo Hall
Microsoft Ask the Experts LoungeMicrosoft Chalk Talk Theater Presentations
Microsoft Partner Village
![Page 36: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/36.jpg)
DAT Track Scratch 2 Win
Find the DAT Track Surface Table in the Yellow Section of the TLCTry your luck to win a Zune HDSimply scratch the game pieces on the DAT Track Surface Table and Match 3 Zune HDs to win
![Page 37: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/37.jpg)
Resources
www.microsoft.com/teched
Sessions On-Demand & Community Microsoft Certification & Training Resources
Resources for IT Professionals Resources for Developers
www.microsoft.com/learning
http://microsoft.com/technet http://microsoft.com/msdn
Learning
![Page 38: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/38.jpg)
Complete an evaluation on CommNet and enter to win!
![Page 39: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/39.jpg)
Sign up for Tech·Ed 2011 and save $500 starting June 8 – June 31st
http://northamerica.msteched.com/registration
You can also register at the
North America 2011 kiosk located at registrationJoin us in Atlanta next year
![Page 40: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/40.jpg)
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to
be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
![Page 41: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/41.jpg)
APPENDIX
![Page 42: Srik Raghavan Principal Lead Program Manager srikr@microsoft.com Kevin Cox Principal Program Manager kevincox@microsoft.com SESSION CODE: DAT206](https://reader034.vdocuments.us/reader034/viewer/2022051401/56649f265503460f94c3ded2/html5/thumbnails/42.jpg)
JUNE 7-10, 2010 | NEW ORLEANS, LA