I am honored to have been selected for a second year in a row to present a full-day seminar at the PASS Summit. This year's seminar will be a "post-con", and will be delivered on Friday, November 12.
The title of the seminar is "A Day of Doing Many Things at Once: Multitasking, Parallelism, and Process Distribution," and the focus is on maximizing performance by taking full advantage of your server's CPU infrastructure.
As IT professionals we're all used to the ever-increasing nature of server resources, but things have changed over the past few years. Next-generation server hardware is shipping with more CPU power, but in the form of more CPUs rather than faster CPUs. This means that we can no longer expect that new hardware will automatically make all of our existing processes faster and better; we need to understand how to tune our software to properly leverage these resources.
A one-paragraph abstract and registration information is available here.
What follows is a basic outline of what will be covered over the course of the day. Feel free to leave me a comment below if you have any questions about the seminar and what will or will not be included. My goal is to deliver a seminar that will give you a number of useful tools and techniques that you can take back to the office and immediately apply, and I think that the list below encompasses the majority of what you'll see as you work with parallel processing in currently shipping versions of SQL Server.
Part 1: Background
- A Brief History Lesson
- CPU Evolution Over Time
- Heat and Dissipation
- A Brief Theory Lesson
- Moore's Law
- Amdahl's Law
- Gustafson's Law
- How This All Fits Together
- Windows Process/Thread Internals
- SQL Server Scheduler Internals
Part 2: Query Processor Parallelism
- How Queries are Processed in Parallel
- Parallel Iterators
- Non-Parallel Iterators
- Row Distribution Strategies
- How to Read and Mine Data From Parallel Query Plans
- Controlling Parallelism at the Query Level
- Ideal Parallel Query Patterns
- Parallelism Inhibitors and Workarounds
Part 3: Administration
- Server Settings that Influence Parallelism
- Affinity Masks
- Worker Threads
- Cost Threshold
- Resource Governor
- How to Configure Server Settings
- OLTP vs. OLAP vs. Mixed Workload Considerations
- Monitoring Parallel Processes
- Parallel Task Architecture and the Tasks DMV
- Parallel Waits and the Waiting Tasks DMV
- Finding Out How Much Work is Being Done
- Finding Parallel and Serial Plans in the Cache
- Diagnosing Intra-Query Parallel Deadlocks
Part 4: Alternative Solutions for Parallel Data Processing
Looking forward to seeing many of you in Seattle!