THE SQL Server Blog Spot on the Web

Welcome to - The SQL Server blog spot on the web Sign in | |
in Search

Adam Machanic

Adam Machanic, Boston-based SQL Server developer, shares his experiences with programming, monitoring, and performance tuning SQL Server. And the occasional battle with the query optimizer.

PASS Summit Abstract Feedback

Last week PASS announced its selections for its 2014 Summit. (I had a couple of abstracts selected, but I'll go into detail on those in a future post.)

As usual, very little feedback was provided to speakers on why abstracts were or were not selected. But this time a number of people demanded action. And as it turns out, PASS was well-equipped to respond.

The abstract review process PASS uses involves reviewers submitting comments on each abstract. Why PASS has never sent these out, and has actively refused in the past, is beyond me. But the good news is that clearer heads have prevailed. PASS announced yesterday that anyone who submitted for Summit could e-mail and request his or her comments. A huge step in the right direction!

Naturally I e-mailed the moment I saw the announcement. The comments I received were interesting, but not always actionable. None the less I very much appreciate the ability to see them.

Further, as someone who has written about abstract writing in the past, and who happily provides public feedback to others, it seems only fair that I now that I've received a bunch of feedback, I should post it for your review.

So without further ado, here are my four submissions and their comments.


Better Performance Through Parallelism [Level 400 Full-Day]
Today's server hardware ships with a truly massive amount of CPU power. And while SQL Server is designed to automatically and seamlessly take advantage of available processing resources, there are a number of options, settings, and patterns that can be exploited to optimize parallel processing of your data. This full-day seminar starts with an overview of CPU scheduler internals from the perspective of both Windows and the SQL Server Operating System (SQLOS). Next, you will learn about intra-query parallelism, the method that SQL Server uses to break up large tasks into many smaller pieces, so that each piece can be processed simultaneously. You will come to understand how to read parallel query plans and how to interpret parallel wait statistics, as well as best practices for the various parallelism settings within SQL Server. Finally, you will be introduced to techniques for exploiting parallelism at the query level: patterns that can help the optimizer do a better job of parallelizing your query. After attending this seminar, you will be in full control of your CPUs, able to compel your server to use every clock tick to your end users' advantage.

  • "This is an extremely important topic for database professionals and the importance of it's role in sustainability can't be over stated - great topic" >> Thank you!
  • "Excellently written abstract, and excellent idea for a session. Seemed a bit narrower than I would like, but I have no doubt it would be an awesome, very deep dive session" >> Deep and fairly focused is in fact the idea here. I think that narrow focus is in fact a key attribute of 400-500 level sessions.
  • "Very well presented and has lots of potential for a full room." >> This is interesting abstract feedback. Did this reviewer attend a previous delivery? Or does the comment mean that the abstract itself is well presented?
  • "This could be a bit much for a for a full day pre-con" >> Now this is excellent feedback. I have delivered this particular seminar several times already, but I am going to be enhancing it for this year's PASS Summit. I will definitely think about this feedback and make sure I don't pack too much material in. Sometimes my seminars have been a bit overstuffed and attendees have found the final hour to be somewhat overwhelming as I rushed to finish in time. That's no fun for anyone and I'm actively working on doing a better job in that area.
  • "great topic - very inetrestting [sic]. well written abstract with good deal of details. clear goals. and good balance of demo %" >> I don't recall what I put for goals (PASS asks for three of them) but I'm glad I did the right thing here.


Data, Faster: SQL Server Performance Techniques with SQLCLR [Level 400 Breakout]
Sometimes it seems like business users are constantly more demanding: They want more data, more analytics, more insight, and the output needs to be faster, faster, faster. And so we database developers struggle to write ever more complex queries, tune our hardware, carefully choose indexes...and sometimes it’s just not enough. Where do you go when you’ve hit the performance wall? As more and more developers are discovering, a great choice is to make use of SQL Server’s CLR capabilities. User-defined aggregates, table valued functions, and user-defined types are more than just logical constructs; properly applied, they can make complex, logic-driven queries many times faster. This session will show you when and how to use these powerful tools in ways you may not have previously considered. You’ll learn how to speed up various types of analytical queries, do much faster XML processing, and build smart caches that will supercharge your user-defined functions. If you’re ready to take your SQL Server development skills to the next level, this session is definitely your starting point.

  • "really advance session on CLR - I canimagine [sic] this appealing to advanced users alot [sic]" >> Thank you!
  • "Not much to say, a very well written abstract and a great idea for a session." >> Thank you!
  • "I would definitely see this. I believe SQL CLR it is a hidden gem. This session seems a great fit for any developer." >> Thank you!
  • "Well written abstract and I have a good idea of what I would learn.  Level is appropriate.  Appeal to a wide audience is where I see the problem." >> Now things are getting interesting. Audience appeal. I agree! What I would absolutely love here would be a suggestion on how to better position this topic so that people will be more interested. That's not the PASS reviewer's job, naturally. But it would have been very nice for the reviewer to type just a few more words. (Hint, hint. Are you out there, reviewer?)
  • "Abstract good use some rework good topic for under used features" >> I'm a bit confused by this one. Is the abstract good or does it need rework? Again, I'd love to get more from this reviewer.
  • "very interesting topic. unique yet very relevant. clear well defined and relevant goals" >> Thank you!


Query Tuning Mastery: Manhandling Parallelism, 2014 Edition [Level 400 Breakout]
When it comes to driving ultimate performance for your biggest queries, parallelism is the name of the game. Don't let SQL Server decide when and where to apply its parallel magic; be your own query optimizer and take control! The 2012 edition of this talk--one of the most popular sessions at PASS Summit--discussed problems with parallel costing, intricacies of plan selection and execution, and the extremely effective Parallel CROSS APPLY pattern. But these things were just the beginning. Two more years of research have yielded new insights, new techniques, and new performance gains. In this talk you'll get a quick review of the 2012 content before diving into brand-new costing hacks, tricks for leveraging parallel scans, and a set of SQLCLR functions that will give you more control over intraquery parallelism than you ever thought possible. Get ready: It's time to Manhandle Parallelism all over again.

  • "This session has certainly seem a bit of adapation [sic] and I think that is onenof [sic] it's strength. I think this could be one the best attended sessions at PASS this year - it certainly has my vote." >> This feedback is very interesting, as it seems that the reviewer thinks that this is an adapted version of the previously delivered session. That was certainly NOT my goal -- this will be a brand-new session -- so here I have an action item. I've messed something up in the wording and I need to figure out how to make it clearer next time.
  • "Some of the abstract (like telling us it was popular before) are not really what I like to see in an abstract. I am also a bit concerned with the topic which suggests that we should typically take control over query optimization. With that said, it does seem like a fairly decent session idea." >> Another very interesting piece of feedback. Is marketing in an abstract a bad thing? I think it's the entire point of an abstract. But naturally not everyone agrees. Did I go overboard? I'm not sure. But I'll certainly give it some thought. Should you typically take control over query optimization? That's another interesting question. Perhaps I'll talk about it in the session!
  • "Good abstract. Seems like a very nice session for the summit. Quite important topic for anyone writing queries." >> Thank you!
  • "Well written abstract, goals, level, and additional data." >> Thank you!
  • "Well written with clear and concise goals." >> Thank you!
  • "very interesting and current topic - relevant. great abstract - good level of details and contents seem very interesting. clear and well defined goals" >> Thank you!
  • "Granted, presentations are updated all of the time, but I wonder at what point the updates prevent the use of the 'Previously Presented' option.  For the option to be selected, I would expect less than fifteen percent of the content has changed and any more would preclude its use." >> Aha. Another reviewer who has read my abstract to mean that this in merely an update of the 2012 session. One such feedback might have been an outlier. Two of them? There is definitely an issue with the wording here, and I need to give it some serious thought.

The Need for Speed: Making Big Queries Faster [Level 400 Full-Day]
Tuning large and complex queries is a special art, often requiring uncommon techniques that aren’t regularly taught in general-purpose performance courses and books. This full-day session is focused specifically on filling in those blanks, providing you with tools to handle your biggest, most important user demands: analytical, decision support, and reporting queries. You'll learn how to look at even the scariest of query plans and quickly figure out which areas are causing your headaches. You’ll learn how to fix the issues using indexing strategies, optimizer manipulations, and T-SQL rewrites. And you’ll learn to think about performance tuning in new and different ways. Attend this seminar to eliminate bottlenecks and make your biggest queries your fastest queries.

  • "great outcomes - great amount of demo's [sic] good abstract. Makes prerequisites clear. I'd attend." >> Thank you!
  • "There are other several sessions on this very same topic. This abstract doesn't indicate if it will cover 2014 or not and I think it is important at this point." >> Very interesting feedback. I thought that by drilling in and only covering "big" queries that the abstract would differentiate itself from all of the other "performance tuning" sessions that are submitted every year, but clearly that didn't happen. The 2014 feedback is a good point too. I didn't put that in on purpose. By the time abstracts were due, I had not yet touched 2014 in a production environment (and, full disclosure, I still haven't). I do not, as a general rule, present on topics that I haven't extensively worked with, so I couldn't put it into the abstract. I left it vague on purpose, hoping that perhaps over the summer I'd get enough production experience to add some 2014 material to the mix. I'm not sure if that was a good decision or not, but it is what it is.
  • "Thanks for the abstract. It’s good to have someone speaking about the Performance and tuning. The abstract content and the goals are quite interesting and It will be sure a great session in PASS Summit 2014. Thanks." >> Thank you!

And that's that. Now I'll turn things over to you. Have any additional feedback for me? Post it below!

Published Thursday, July 3, 2014 10:30 AM by Adam Machanic

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS



Ron Dameron said:


Thank you for sharing your feedback.  This is exactly the kind of feedback all potential speakers need to improve.

July 3, 2014 10:20 AM

Derek Frye said:

"This session has certainly seem a bit of adapation [sic] and I think that is onenof [sic] it's strength"

Just based on reading abstract alone, I thought the same thing reading the abstract- that it was a refresh of 2012 edition presentation.

Instead of emphasizing 2012 again with "In this talk you'll get a quick review of the 2012 content.." changing to "This talk dives into brand-new costing hacks, tricks..." seems to fix the issue. I would guess 2012 recap is not a focus of the new talk (other than to prime the audience for 2014 techniques), so the omission seems appropriate.

July 3, 2014 5:59 PM

Adam Machanic said:


Thanks for sharing. I generally write the lists in my abstracts in the order in which I'm planning to present them in the real talk, but in this case you're probably right -- it would be better to put the focus first.

July 4, 2014 12:13 PM

Chris Wood said:


I attended your 2012 Manhandling Parallelism session and it was mind boggling. I wonder, with the new CE in SQL2014, you might have to change this. Certainly mentioning it was for pre SQL2014 might make a difference in the attendance. I would still show up regardless because of the depth of your sessions.


July 4, 2014 2:40 PM

Adam Machanic said:


Both of my sessions effectively target all versions of SQL Server between 2008 and 2014, and all demos will be shown on a 2014 instance. The new CE changes almost nothing with regard to these techniques. I've already run numerous tests on that, both with my own demo data sets and some customer data. The CE can certainly help with better plans for basic queries, but still falls down when things get significantly complex and/or hit edge cases. It also still can't touch the performance we can gain if we push things using the Parallel APPLY pattern.

Columnstore also doesn't obviate the need for these techniques, in case you're wondering. I was really hopeful there, but due to continued batch mode limitations even in SQL Server 2014, there are no big wins for more complex plans, especially when windowing functions are involved. The funny aside is that if you do use Columnstore indexes it makes things quite a bit trickier when using Parallel APPLY -- the query optimizer gets in the way in a new and interesting fashion. I might touch on that a bit in the Manhandling session as it took me quite a bit of experimentation to get past it.


July 4, 2014 8:30 PM

Wayne said:

Regarding "Abstract good use some rework good topic for under used features" I wonder if good is a typo and should be "could" - this would definitely read clearer.

Thanks for sharing your feedback.

July 4, 2014 11:02 PM

Adam Machanic said:


Feedback "good" use some rework :-)

July 5, 2014 8:31 AM

Leave a Comment


About Adam Machanic

Adam Machanic is a Boston-based SQL Server developer, writer, and speaker. He focuses on large-scale data warehouse performance and development, and is author of the award-winning SQL Server monitoring stored procedure, sp_WhoIsActive. Adam has written for numerous web sites and magazines, including SQLblog, Simple Talk, Search SQL Server, SQL Server Professional, CoDe, and VSJ. He has also contributed to several books on SQL Server, including "SQL Server 2008 Internals" (Microsoft Press, 2009) and "Expert SQL Server 2005 Development" (Apress, 2007). Adam regularly speaks at conferences and training events on a variety of SQL Server topics. He is a Microsoft Most Valuable Professional (MVP) for SQL Server, a Microsoft Certified IT Professional (MCITP), and an alumnus of the INETA North American Speakers Bureau.

This Blog


Privacy Statement