<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>PatHelland's WebLog</title><link>http://blogs.msdn.com/b/pathelland/</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 5.6.583.17018 (Build: 5.6.583.17018)</generator><item><title>Leaving Microsoft and Moving to San Francisco</title><link>http://blogs.msdn.com/b/pathelland/archive/2011/09/30/leaving-microsoft-and-moving-to-san-francisco.aspx</link><pubDate>Fri, 30 Sep 2011 15:03:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10218589</guid><dc:creator>Pat Helland</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/pathelland/rsscomments.aspx?WeblogPostID=10218589</wfw:commentRss><comments>http://blogs.msdn.com/b/pathelland/archive/2011/09/30/leaving-microsoft-and-moving-to-san-francisco.aspx#comments</comments><description>&lt;p&gt;Hello, Friends!&lt;/p&gt;
&lt;p&gt;Lots has happened since I last blogged.&amp;nbsp; For almost two years, I've worked on Cosmos, some of the plumbing for Bing.&amp;nbsp; It stores hundreds of petabytes of data on tens of thousands of computers.&amp;nbsp; Large scale batch processing using Dryad with a high-level language called SCOPE on top of it.&amp;nbsp; Working on this team (with some amazing colleagues and friends) has been one of the highlights of&amp;nbsp;my career.&lt;/p&gt;
&lt;p&gt;Last June, I was honored to be able to write a paper for the Communications of the ACM.&amp;nbsp; It is called "If You Have Too Much Data, then 'Good Enough' Is Good Enough" and can be found here: &lt;a href="http://cacm.acm.org/magazines/2011/6/108666-if-you-have-too-much-data-then-good-enough-is-good-enough/abstract"&gt;http://cacm.acm.org/magazines/2011/6/108666-if-you-have-too-much-data-then-good-enough-is-good-enough/abstract.&lt;/a&gt;&amp;nbsp;&amp;nbsp; If was quite an honor and a lot of fun.&lt;/p&gt;
&lt;p&gt;Now for some big news, today is my last day at Microsoft after over 15 years (that's 17-1/2 minus the 2 years at Amazon).&amp;nbsp; My wife, Lisa, and I have decided to move to downtown San Franciso.&amp;nbsp; We will be only about 30 minutes drive from the grandkids, my daughter, and son-in-law.&amp;nbsp; We will be about an hour from two of my brothers.&amp;nbsp; Since my father passed away in April, 2010, there has not really been a close family tie to keep us in Seattle.&amp;nbsp; We are really longing to be down where we can see the grandkids.&lt;/p&gt;
&lt;p&gt;While I will miss my wonderful colleagues on the Cosmos team, it is time to search for something new.&amp;nbsp; I don't have a new job lined up and plan to move to SF, help unpack, and attend the bi-annual High Performance Transaction Systems workshop (&lt;a href="http://www.hpts.ws"&gt;www.hpts.ws&lt;/a&gt;) in late October.&amp;nbsp; HPTS&amp;nbsp;has been a big part of my life since 1985.&amp;nbsp; I will see my friends who work in scalable computing and look around to see what opportunities are available in the Bay Area.&amp;nbsp; I know there's lots going on and I am looking forward to returning to California after my 17+ years in the Seattle area.&lt;/p&gt;
&lt;p&gt;It is my hope to get a new website and blog going at &lt;a href="http://www.pathelland.com"&gt;www.pathelland.com&lt;/a&gt; but there's nothing there yet.&amp;nbsp; It's amazing how busy you can be working at Microsoft and preparing to move to California!&lt;/p&gt;
&lt;p&gt;If someone wants to contact me, my personal email is &lt;a href="mailto:phelland0215@hotmail.com"&gt;phelland0215@hotmail.com&lt;/a&gt;.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thank you all for your interest and kindness through the years...&amp;nbsp; I would really like to offer more thoughts and ideas moving forward but today I am off to my last day of work and my exit interview.&amp;nbsp; You'll hear more from me soon!&lt;/p&gt;
&lt;p&gt;All my best,&lt;/p&gt;
&lt;p&gt;Pat&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10218589" width="1" height="1"&gt;</description></item><item><title>The Importance of Teams in Software Engineering</title><link>http://blogs.msdn.com/b/pathelland/archive/2010/05/13/the-importance-of-teams-in-software-engineering.aspx</link><pubDate>Thu, 13 May 2010 19:09:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10012680</guid><dc:creator>Pat Helland</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/pathelland/rsscomments.aspx?WeblogPostID=10012680</wfw:commentRss><comments>http://blogs.msdn.com/b/pathelland/archive/2010/05/13/the-importance-of-teams-in-software-engineering.aspx#comments</comments><description>&lt;p&gt;Sorry I haven’t been blogging for a while.&amp;nbsp; Last Fall, I switch to work on Bing Infrastructure and have been very, very busy (and having a wonderful time).&amp;nbsp; The projects I’m working on include COSMOS and Autopilot.&amp;nbsp; COSMOS is a petabyte store (working towards being an exabyte store) which runs over tens of thousands of inexpensive computers.&amp;nbsp; In addition to reliable storage, COSMOS supports &lt;a href="research.microsoft.com/en-us/projects/Dryad"&gt;Dryad&lt;/a&gt; based computation with application development in SCOPE which is a SQL-like language.&amp;nbsp; Some public papers include: &lt;a href="http://research.microsoft.com/en-us/um/people/jrzhou/pub/Scope.pdf "&gt;SCOPE and COSMOS&lt;/a&gt;, and &lt;a href="http://research.microsoft.com/en-us/um/people/jrzhou/pub/PGS.pdf"&gt;Partitioning and Parallel Plans in SCOPE and COSMOS&lt;/a&gt;.&amp;nbsp; The Autopilot team in OSD (Online Services Division which includes Bing) makes hardware selections for our ever-increasing bunch of servers, networking, systems support, automatic deployment and load balancing.&amp;nbsp; See&amp;nbsp; &lt;a href="research.microsoft.com/apps/pubs/default.aspx?id=64604"&gt;Autopilot&lt;/a&gt;.&amp;nbsp; I have been having a &lt;em&gt;&lt;u&gt;blast&lt;/u&gt;&lt;/em&gt; working with the team in Bellevue and a team in Beijing with lots of talented people.&lt;/p&gt; &lt;p&gt;Recently, I’ve been trying to pull the various sub-teams together and open up communications and camaraderie within them.&amp;nbsp; This is an approach I’ve taken numerous times since the 1980s and I believe it is super powerful and important.&amp;nbsp; The idea is SO simple that I am always amazed it is not more common.&amp;nbsp; We pick a regular day of the week and meet for lunch on that day.&amp;nbsp; Simply reserve a conference room and have everyone run to the cafeteria (or wherever) and grab their lunch.&amp;nbsp; As people trickle into the room at a few minutes after noon, the discussion begins.&amp;nbsp; Here are some basic rules:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;1) You want to pick a team size of 10-25ish which has a set of common technology interests. It should include development, test, and program management.&lt;/p&gt; &lt;p&gt;2) No topic is off limits but it needs to be broadly interesting to the folks on the team.&amp;nbsp; Realistically, this quickly settles into some challenge the team is facing, some architectural issue, or some customer issue.&amp;nbsp; What I like to do is let it go wherever it goes but watch the folks in the room.&amp;nbsp; Once in a GREAT while, some small group gets into something that is kinda boring the others and you need to steer the discussion back to one of general interest.&amp;nbsp; After a team is used to the meetings, it happens less often.&lt;/p&gt; &lt;p&gt;3) One person at a time talks as the discussion moves back and forth.&amp;nbsp; It is important to listen to everyone and let the discussion evolve.&amp;nbsp; No one should dominate the time.&amp;nbsp; The more senior people should contribute (they usually have lots of valuable stuff to add) but they shouldn’t talk for too long.&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;4) It is important to try and get as many people (senior and junior) to participate as possible.&amp;nbsp; When someone fresh out of college and new on the team feels they can contribute to the discussion, they feel more like they belong.&amp;nbsp; To ensure this is safe and OK, it needs to be understood that critical responses are not OK.&amp;nbsp; Gently discussing where a proposal may not be the best for some concrete reason is great as long as everyone contributing can feel safe.&amp;nbsp; Of course, healthy and safe teasing and joking around are fun.&amp;nbsp; One thing I’ve learned (by screwing it up) is that you shouldn’t call on the shy people to participate.&amp;nbsp; Sometimes, a really shy person would rather hide under the table than talk.&amp;nbsp; If you call on them, they’ll stop showing up for lunch.&amp;nbsp; Now, when they WANT to speak, it is OK to stop the table to listen (unless the folks at the table have already done the polite thing as they should).&amp;nbsp; It is normal for me to look around the room through the hour and make a mental note of who has not yet contributed.&amp;nbsp; If I have sufficient context, I may try to steer the topic to something near to their interests to make it easy and natural for them to chime in… that’s not threatening to them.&amp;nbsp; When this goes well, you will find that in a team of 15 to 20 everyone (or almost everyone) will have participated during the hour.&lt;/p&gt; &lt;p&gt;5) As much as possible, it is good to not cancel the weekly lunch discussions.&amp;nbsp; We all find crunches and deadlines.&amp;nbsp; The team gets busy and has to work its butt off for a few weeks.&amp;nbsp; Still, everyone needs to eat lunch and the emotional decompression with your friends (and talking about the fun challenges in your product) is a good diversion from tracking down those bugs.&lt;/p&gt; &lt;p&gt;6) I think it’s important to not prepare for the lunch nor to announce a topic for the lunch.&amp;nbsp; If the topic is known in advance, sometimes people say: “That’s not my favorite topic” and blow off the lunch.&amp;nbsp; If, on the other hand, they get used to not expecting to know the topic and that the sessions are fun, they will show up and it can evolve into something fun.&amp;nbsp; Also, if you have announced: “Sam will talk about XYZ”, it gets really tough to handle when Sam is a bore.&amp;nbsp; Not everyone is capable of keeping a lecture interesting.&amp;nbsp; It is better to say that the lectures are not during the “Friday Lunch Discussions” but are at some other time.&amp;nbsp; You will learn that having a pre-planned topic takes away from the team’s sense of ownership of THEIR time to chat together.&amp;nbsp; If there is a speaker, their won’t be as heavy a participation and it is a different event.&amp;nbsp; &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;I like the following definition of the word “Culture”.&amp;nbsp;&amp;nbsp; &lt;u&gt;&lt;em&gt;Culture is “the way we do things around here”.&lt;/em&gt;&lt;/u&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; It’s my experience that once the expectations are set, the team just naturally behaves in accordance with how they are used to behaving.&amp;nbsp; That means you can set this discussion group up and it just happens moving forward.&lt;/p&gt; &lt;p&gt;There are many positive results from having these weekly meetings.&amp;nbsp; The members of the team get to know the some of the larger team better than they would have… healthy fun discussions make you LIKE your colleagues.&amp;nbsp; With a team size of 10-25ish, there will always be folks you don’t know as well as you’d like to know.&amp;nbsp; The discussion of the main challenges for the team can forge and evolve the shared vision for the team.&amp;nbsp; It is essential that the broader team understand the big picture and then work down into some of the details of the other pieces.&lt;/p&gt; &lt;p&gt;For me, this is both a major investment and a really nice treat.&amp;nbsp; I’m working to provide architectural guidance to all of COSMOS and Autopilot.&amp;nbsp; It’s pretty hard to keep up with all of these efforts and the people involved in them.&amp;nbsp; I’ve wiped out my lunches for the week.&amp;nbsp; Monday is Autopilot’s discussion meeting.&amp;nbsp; Tuesday’s is the COSMOS Store team.&amp;nbsp; Wednesday this week was the first for the SCOPE Compiler and Optimizer team.&amp;nbsp; [Thursday’s are my day to write quietly… like this blog entry.]&amp;nbsp; Friday’s are the Execution Engine’s meeting.&amp;nbsp; I am still trying to figure out which of these days will have TWO meetings so the Manageability team can have a discussion (and I will have to switch off between them).&lt;/p&gt; &lt;p&gt;Each time I’ve started a team going with this, there’s quite a bit of confusion before the meeting but afterwards we have a good consensus that it was fun and useful.&amp;nbsp; For me, it allows a precious opportunity to learn about the technology, the people, and how the people interact with their technology.&amp;nbsp; Sometimes, I can contribute some comment here and there which moves the way people think about the goals and direction of the product.&amp;nbsp; Always, it gives me an opportunity to work to help all the members of the team to learn and grow.&amp;nbsp; A healthy team is built out of people who are growing and stretching in their abilities.&amp;nbsp; This requires all the members of the team helping their friends in that process.&lt;/p&gt; &lt;p&gt;While typing this blog entry, an email came through from a teammate wanting to start a small effort on a utility.&amp;nbsp; The discussion at lunch yesterday encouraged him to push forward with an idea he and another teammate were thinking about.&amp;nbsp; I’m going to meet with them next week and get to know them better.&amp;nbsp;&amp;nbsp; It is tough to quantify all the ways these discussion help the team!&lt;/p&gt; &lt;p&gt;Anyway, I just wanted to share this experience with you.&amp;nbsp; Software is much more than just bits and bytes.&amp;nbsp; Many times, it is building the caring and comfort that allows you to be friends with shared responsibilities and shared goals.&amp;nbsp;&amp;nbsp; Sharing meals and camaraderie make a big difference.&amp;nbsp; An occasional beer is good, too.&lt;/p&gt; &lt;p&gt;Great to be blogging!&lt;/p&gt; &lt;p&gt;- Pat &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10012680" width="1" height="1"&gt;</description></item><item><title>Trip Report -- HPTS (High Performance Transaction Systems) Workshop -- Part 1 of the Trip Report</title><link>http://blogs.msdn.com/b/pathelland/archive/2009/11/02/trip-report-hpts-high-performance-transaction-systems-workshop-part-1-of-the-trip-report.aspx</link><pubDate>Mon, 02 Nov 2009 17:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9916266</guid><dc:creator>Pat Helland</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/pathelland/rsscomments.aspx?WeblogPostID=9916266</wfw:commentRss><comments>http://blogs.msdn.com/b/pathelland/archive/2009/11/02/trip-report-hpts-high-performance-transaction-systems-workshop-part-1-of-the-trip-report.aspx#comments</comments><description>&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Trip Report – HPTS (High Performance Transaction Systems) Workshop – Oct 25&lt;SUP&gt;th&lt;/SUP&gt;-28&lt;SUP&gt;th&lt;/SUP&gt;, Asilomar, Pacific Grove, CA.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;(&lt;/FONT&gt;&lt;A href="http://www.hpts.ws/"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;www.hpts.ws&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;This is Part 1 of the trip report…&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;I am chiseling my way through my notes and expect this to take a couple more blog entries before I can describe everything I plan to cover.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Believe it or not, this 11 page “Part 1” is only taking us through Monday morning – there’s Monday afternoon, all Tuesday, and Wednesday morning yet to cover!&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;U&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 16pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;Overview:&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/U&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;HPTS was founded by Jim Gray, Dieter Gawlick, Andreas Reuter, and some other industry luminaries in 1985.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It is a workshop designed to bring together practitioners and academics working in super large, scalable, high throughput systems.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;There is a lot of overlap between this community and the folks doing DBMS systems.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;In the early days, the biggest challenges included getting 1000 transactions per second through a mainframe.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;At the time, that felt like getting a man to land on the moon and come back safely.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Now, this includes huge web based sites like Amazon, eBay, Google, and Bing.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Our area of interest also includes integrating massively complex heterogeneous Enterprise and Internet (B2B) systems.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Of course, we are fascinated with hardware trends, networking, and all sorts of geeky stuff.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;I first attended HPTS in 1985.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It was a magic opportunity to be with legends in the industry.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Gene Amdahl drove up in his Rolls Royce and parked next to my beat up old van.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Mike Blasgen(System R), Mike Stonebraker, Bruce Lindsay, Mohan, Andy Heller, Dieter Gawlick, Hector Garcia-Molina, Irv Traiger, Phil Bernstein, Jim Gray, and many more folks who had become well known to me through their papers were there in the flesh and treating me (a 29 year old punk) with kindness and respect.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It was a magical 3 day gathering.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Let me explain the Asilomar Conference Center (&lt;/FONT&gt;&lt;A href="http://www.visitasilomar.com/"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;www.visitasilomar.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Asilomar sits right by the Pacific Ocean between Pebble Beach and Monterey in the Pine Trees and includes dunes leading right to the beach.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;It was built as a YWCA around 1910 or so and contains a number of beautiful historic buildings in the arts and crafts style built by architect Julia Morgan.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;In the 1950s, it was sold to the state of California which has operated it as a conference center (and built more buildings in the 1960s).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The rooms are rustic (no TVs or phones – crappy mattresses), the food is served in a large dining hall when the bell rings on the roof and it has a magic feel. &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;It is normal to walk out of your room, hear the surf, and see deer walking around.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;I absolutely love the evenings by the real wood fireplaces. &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;In 1985, Gray decided we could all go cheap and lined us up to sleep four in a room.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;I shared a room with Dieter Gawlick (inventor of IMS/FastPath among other things), Hector Garcia-Molina, and Theo Haerderer (a wonderful professor from Germany).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;After the first night, Hector informed us we ALL snored too much and moved to stay in a hotel down the street.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;For the next 8 or 10 gatherings, we were two to a room but now most of us pay a bit more to have a private room.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;I’ve attended HPTS every two years (for three days) since 1985.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;I was program and general chair in 1989 and general chair in 2007.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Since Jim Gray’s disappearance, I’ve assumed the role of local arrangements chair and “godfather” – kinda’ watching out for the whole workshop.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This year, James Hamilton (now of Amazon) was general chair and Margo Seltzer (of Harvard) was the program chair.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;We had a wonderful (but exhausting) three days and I will tell you about them soon.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;One of the traditions is that the folks leading HPTS wander around during the first two days trying to figure out who gets suckered into doing the work as the next workshop happens two years later.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;I am thrilled to report that Mohan (from IBM) will be the general chair in 2011 and Mike Carey (now of UC Irvine) will be the program chair.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;I will remain as local arrangements chair and “godfather”.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;So, every HPTS starts with Sunday dinner and a casual beer/wine afterwards.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Monday is all day presentations and after dinner we have poster sessions (volunteer 10 minute talks – we had 15 this year).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Tuesday is all day presentations and this time we had a 90+ minute panel after dinner.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Finally, we have sessions Wednesday morning and adjourn after lunch.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It is a long, exhausting, and exhilarating 3 to 4 days.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Of course, the most important part of the workshop is the breaks and the opportunity to talk with people working in the same area as you are working.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;In addition to the grizzled old luminaries, this year we went out of our way to get more graduate students and invited 16 of the brightest and best from Berkeley, Stanford, MIT, Harvard, Brown, and more.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;I spent each of the three evenings staying up late talking by the fire with these wonderful young folks (and some other diehard old farts).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;As I type this the following weekend, I am still tired from the sleep shortage!&lt;/FONT&gt;&lt;/P&gt;
&lt;DIV style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: medium none; PADDING-BOTTOM: 1pt; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0in; mso-element: para-border-div; mso-border-bottom-alt: solid windowtext .75pt"&gt;
&lt;P style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 10pt; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0in; mso-border-bottom-alt: solid windowtext .75pt; mso-padding-alt: 0in 0in 1.0pt 0in" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;So, let’s get to the content:&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-VARIANT: small-caps; FONT-SIZE: 18pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;Session 1) The New Memory Hierarchy – &lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Session Chair: David Cheriton (Stanford)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;U&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Steve Kleiman – Chief Scientist at NetApp:&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;“Flash on Compute Servers”&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;So, Steve Kleiman is the Chief Scientist at NetApp so you would expect him to be focused on network attached storage and we were not disappointed.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Steve started with a discussion of hardware trends (not all of which I was able to capture in my notes).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;He observed that with multi-core and VMs, more bandwidth (BW) and IOs per Second (IOPS) are needed for each node.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Also, as a trend, Steve pointed out that flash memory has more than 5X the IOPS and less than 100 microseconds access time.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;The original case for network storage lies around the benefits of aggregating disk which include more random IOPS and bandwidth as well as the management simplicity of concentrating data into a centralized place.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It has been the case that a single application per host has somewhat limited ability to consume bandwidth.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Considering flash in a networked storage environment, it does not have the same benefits of sharing.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Since there are enough IOPS in a flash drive to placate most apps, the equation changes.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Is network storage fast when the network latency is noticeable compared to flash?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;We can do 5 SSDs to get 40,000 IOPS but will the latency be a problem?&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;We will see flash on compute servers.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Servers can already accommodate flash and it is cheap enough with 250GB &amp;lt; 10% of the server cost.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;U&gt;A new tier in the storage hierarchy&lt;/U&gt;:&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Steve argues we will see storage split into two tiers: the &lt;U&gt;IOPS tier&lt;/U&gt; and the &lt;U&gt;capacity tier&lt;/U&gt;.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The IOPS-Tier will offer the best $/IOPS with low latency and will have sufficient capacity for the active data in most typical enterprise systems.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It will be the new “primary storage”.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;The Capacity-Tier will offer the best $/GB – Deduplication, compression, and good serial performance.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Steve then outlined three broad categories of Host-Based Flash usage.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;DAS (which I think means “Direct Access Storage but my notes failed me), Primary Storage Service, and Cache.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l1 level1 lfo1" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;U&gt;Host-Base Flash: DAS&lt;/U&gt;:&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Single point of failure and so you would use normal backup or application based replication like Exchange or Oracle).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;You can have boot files, VM, temp files.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l1 level1 lfo1" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;U&gt;Host-Based Flash: Primary Storage Service&lt;/U&gt;:&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;File or Block.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Requires mirroring or RAID to peers.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Allows capacity sharing.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Steve believes it is likely that Microsoft and VMWare are likely to compete here – the integration of this is complex.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Making reliable primary storage is hard and this may impact the roles of folks in IT.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.5in; mso-list: l1 level1 lfo1" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;U&gt;Host-Based Flash: Cache&lt;/U&gt; –File or block.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This will be a writethrough cache.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;If you do a write-back you will occasionally lose stuff.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Using a cache can allow for a centralized data management (in a remote network storage server).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This can help with keeping the current IT storage management roles by providing an automatic “tiering”. &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;So, data management spans the IOPS tier and the Capacity tier.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;You need to have automated data movement and global access.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It is impractical to have manual placement at huge scale.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It is going to be important for us to have a technology independent language to specify the desired properties for the data.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Say what properties you want and not how to get them.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;New SLO (Service Level Objectives) for Max Latency, Bandwidth, Availability, etc.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;In summary, the new host-based flash is the new IOPS-Tier.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It will replace high-performance primary storage in the cloud.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This IOPS-Tier s is not going to be economical as a secondary or as archival since the $/GB is higher than spinning media.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;The Capacity Tier will be implemented as network storage.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It is optimized for the best $/GB.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Data management between these two tiers will be important.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;There was a lot of discussion around the SLO (Service Level Objectives).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Steve indicated that their vision was not super-flexible set of knobs but more a small set of options for defining the data characteristics.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Margo offered that one aspect of what was important was the “value” of different parts of data which can, in turn, tell the system how hard to work to make the data remain available. &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Someone asked if there was any performance analysis for 3-tier storage (memory, IOPS-Tier, Capacity-Tier) over more traditional 2-tier storage (Memory and Disk).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Steve answered that there had not been an explicit performance analysis.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Stonebraker observed that enterprises seem to like NAS/SAN but that the Cloud guys are using direct attached storage.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Are the forward looking guys walking from NAS/SAN?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Steve replied there are people very interested in NAS/SAN because it gives them a way to control the data and make servers stateless.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Adding in the IOPS-Tier is a simple extension.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;This was a fascinating and engaging presentation!&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;U&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Memory Technologies for Data Intensive Computing –Andy Bechtolshein (Sun Computers)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;What an honor to get Andy to come and present to us.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Unfortunately, I didn’t get a chance to chat with him personally as he was only at the workshop for a short while.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Andy is a well respected and talented hardware engineer who was a founder of both Sun Microsystems and of Arista Network.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;His slides are not going to be posted and I typed as aggressively as I could during his lightning fast presentation.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;I would recommend you look both at my friend James Hamilton’s blog post of Andy’s talk at: &lt;/FONT&gt;&lt;A href="http://perspectives.mvdirona.com/2009/10/26/AndyBechtolsheimAtHPTS2009.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;http://perspectives.mvdirona.com/2009/10/26/AndyBechtolsheimAtHPTS2009.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; and then read my notes attached below.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;I have not attempted to coalesce the information between James’ notes and mine and there may be overlap.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;James has done a nice job cleaning his up and I will focus on some of the other sessions in my editing.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Here’s my rough notes:&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.75in; mso-add-space: auto; mso-list: l0 level1 lfo3" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;è&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Andy speaks VERY fast and I lost a lot of what was covered – The slides were very dense – Also, I apologize for some inaccuracies… These are RAW notes that I made during the fast paced presentation and some of them don’t completely make sense to me.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.75in" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.75in" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Semiconductor Technology Roadmap&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto" class=MsoListParagraphCxSpFirst&gt;&lt;FONT size=3 face=Calibri&gt;Still increasing &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto" class=MsoListParagraphCxSpMiddle&gt;&lt;FONT size=3 face=Calibri&gt;Number of devices on the chip still doubling&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto" class=MsoListParagraphCxSpMiddle&gt;&lt;FONT size=3 face=Calibri&gt;Flash is increasing faster than logic and DRAM – Flash faster than Moore’s law&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto" class=MsoListParagraphCxSpMiddle&gt;&lt;FONT size=3 face=Calibri&gt;Between 2010 and 2022, Flash should increase by 100X – After that (10nm) optical problems may become severe – don’t know after 2022&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto" class=MsoListParagraphCxSpLast&gt;&lt;FONT size=3 face=Calibri&gt;&amp;lt;more content lost…&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.75in" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Emerging devices&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Carbon-nano tubes&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Graphene Nanoribbons&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;… &amp;lt;more that I lost…&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.75in" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Silicon Roadmap Predictions&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;128X increase in transistors by 2022&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;1000 cores per chip by 2022&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.75in" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;CPU Module Roadmap&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;IO bandwidth will not allow the same bandwidth per core.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;IO going a little faster but number of pins hasn’t increased in 10 years.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;1000 cores would need several terabytes of bandwidth to memory.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Of course, this would need power and cooling&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;&amp;lt;more lost…&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.75in" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;CPU Challenge&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Power per core --&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Clock rates not increasing – need lower power level per core&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;&amp;lt;more lost…&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.75in" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Power efficiency – Increasing frequency – a Square effect on the power&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;CPU power strategy – &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Clock rates look flat&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;High clock rates are less power efficient&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;To reduce power, simplify architecture&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;&amp;lt;more lost…&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.75in" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Multi-Chip 3D packaging&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Thru-Si via Stacking&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Need to combine CPU and Memory on one module&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.75in" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;High Density 3D Multi-Chip Module&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.75in" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Benefits of MCM Packaging&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Enables much higher memory bandwidth&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;More channels, wider interfaces, faster I/o&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Greatly reduces power&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.75in" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Challenges with MCM packaging&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Total Memory – 64 device &amp;lt;…??...&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;With 64 GNB/device – 4TB&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Assuming 1K cores – 4BG/core&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.75in" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;MCM enables &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Fabric I/O&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;2010 –1 32 Gb/direction&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;2020 1.73Tbps/direction&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Mesh or higher radix fabric topologies&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.75in" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Expected Link Data Rates&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;10GBps shipping today&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;2012 – 25 GBps&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;2016 – 50 GBPS&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;2020 – 100 GBps&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.75in" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;ExaScale Storage&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Forget Hard Disks – Disk are not getting faster&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.75in" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Flash Experience so far&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Not easy to get to 1000000 IOPS&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Writes are a problem&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;SAS/SATA interface not optimal&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Direct PCI-Express interface looks more promising.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;– Move FLASH closer to the CPU&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;-- Lower latency and more throughput&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.75in" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Flash in the Memory Hierarchy&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Flash is not random access&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;more like a block device&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;-- random access about 1000 slower than DRAM&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Flash can be used as a stable storage device&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;-- writes are committed – Supercap magic behind the scenes.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT size=3 face=Calibri&gt;Tremendous throughput and size – terabytes of capacity&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.75in" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Flash Latency&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Latency expected to drop by a factor of 10&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Flash transfer rates will double each year for the next several years. – 250MBS/sec 2012&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.75in" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Flash prices&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;2004 -- $100 GB&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;2009 $1 – GB&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;2012 -- $.25 / GB&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Prices are dropping dramatically – &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.75in" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Flash Summary&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.75in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;FLASH will be very expensive, very dense,&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.75in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Costs falling by 50% per year&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.75in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Access times falling by 50% per year&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.75in" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Tech Summary&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Moore’s Law for at least 10 more years&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Frequency Gains&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;not happening&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Flash will be interesting&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.75in" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Software Challenges&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Limits of App Parallelism&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 1.2in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Need to exploit Parallelism&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-VARIANT: small-caps; FONT-SIZE: 18pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;Session 2) Using the New Memory Hierarch &lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Session Chair: David Cheriton (Stanford)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;U&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Scaling-Out without Partitioning – Phil Bernstein and Colin Reid (Microsoft)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;This session was, in many ways, one of the most interesting at HPTS.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It was not new to me since I had been privileged to spend a number of hours talking to Colin (and a bit to Phil) about Hyder back at Microsoft.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Phil did a great job explaining a radical new approach to scale-out and serializable database!&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Hyder is a software stack for transactional record management.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It can offer full database functionality and is designed to take advantage of flash in a novel way.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Most approaches to scale-out use partitioning and spread the data across multiple machines leaving the application responsible for consistency.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;In Hyder, the database is the log, no partitioning is required, and the database is multi-versioned.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Hyder runs in the App process with a simple high-performance programming model and no need for client server.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This avoids the expense of RPC.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Hyder leverages some new hardware assumptions.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;I/Os are now cheap and abundant.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Raw flash (not SSDs – raw flash) offers at least 10^4 more IOPS/GB than HDD.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This allows for dramatic changes in usage patterns.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;We have cheap and high performance data center networks.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Large and cheap 64-bit addressable memories are available.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Also, with many-core servers, computation can be squandered and Hyder leverages that abundant computation to keep a consistent view of the data as it changes.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;The Hyder system has individual nodes and a shared flash storage which holds a log.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Appending a record to the log involves a send to the log controller and a response with the location in the log into which the record was appended.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;In this fashion, many servers can be pushing records into the log and they are allocated a location by the log controller.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It turns out that this simple centralized function of assigning a log location on append will adjudicate any conflicts (as we shall see later).&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;The Hyder stack comprises a persistent programming language like LING or SQL, an optimistic transaction protocol, and a multi-versioned binary search tree to represent the database state.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The Hyder database is stored in a log but it IS a binary tree.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;So you can think of the database as a binary tree that is kept in the log and you find data by climbing the tree through the log. &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;The Binary Tree is multi-versioned.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;You do a copy-on-write creating new nodes and replace nodes up to the root.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The transaction commits when the copy-on-write makes it up to the root of the tree.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;For transaction execution, each server has a cache of the last committed state.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;That cache is going to be close to the latest and greatest state since each server is constantly replaying the log to keep the local state accurate [recall the assumption that there are lots of cores per server and it’s OK to spend cycles from the extra cores].&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;So, each transaction running in a single server reads a snapshot and generates an intention log record.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;The transaction gets a pointer to the snapshot and generates an intention log record.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The server generates updates locally appending them to the log (recall that an append is sent to the log controller which returns the log-id with its placement in the log).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Updates are copy-on-write climbing up the binary tree to the root.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Log updates get broadcast to all the servers – everyone sees the log.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Changes to the log are only done by appending to the log.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;New records and their addresses are broadcast to all servers.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;In this fashion, each server can reconstruct the tail of the log.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Now we get to transaction commit.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;All machines are marching ahead rolling the log forward.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;When an intention record is generated (indicating a proposed new root for the log), each machine in the cluster checks for a conflict.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;If any of the records updated conflicts with previously committed work, the transaction is aborted.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Conflict in this case is traditional read/write conflict using all the classic set of rules for various degrees of consistency.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;If there are no conflicts, the transaction is committed.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;If there are conflicts, the transaction is aborted.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Because there is an append in the log controller which assigns order, each intention record will race to the log and the controller will pick a winner.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Because log ordering is deterministic, each of the server nodes can reliably come to the same conclusion about which transaction won the race and, hence commits rather than aborts in the face of conflict.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Conflict detection and transaction commit is done redundantly and predictably at each node.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;So, each node generates an intention log for a transaction it wants to do.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Every server checks for conflicts and then either aborts or commits.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The log order provides determinism.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;U&gt;Performance of Hyder&lt;/U&gt;:&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The system scales without partitioning.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The system-wide throughput of update transactions is bounded by the update pipeline.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It is estimated this can perform 15K update transactions per second over a 1GB Ethernet and 150K update transactions per second over a 10GB Ethernet.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Conflict detection and merge can do about 200K txs per second.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;The abort rate on write-hot data is bounded by the transaction’s conflict zone.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This is determined by the transactions end-to-end latency.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This conflict zone is about 200 microseconds in the prototype.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It is estimated that this would handle about 1500 TPS (&lt;I style="mso-bidi-font-style: normal"&gt;assuming all the transaction have conflicts&lt;/I&gt;).&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;U&gt;Major Technologies&lt;/U&gt;:&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This is using flash as append only (and it is not using SSD flash but raw flash with a special controller).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The custom controller over raw flash has mechanisms for sync and fault tolerance.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Storage is striped with a self-adaptive algorithm for storage allocation.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It includes a fault tolerant algorithm for a totally ordered log.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Also, it has a fast algorithm for conflict detection and merging of records.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;U&gt;Status&lt;/U&gt;:&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Most of Hyder has been prototyped but there is a long way to go.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Phil Bernstein and Colin Reid are working on a paper and HPTS is the first time Hyder has been discussed publicly.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Again, this was a wonderful talk with some fascinating and different ideas.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Great work!&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;U&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;A Performance Puzzle:&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;B-Tree Insertions are Slow on SSDs (Bradley Kszmaul – Tokutek – Research Scientist at MIT)&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;So, this talk was about some surprises in SSD performance in supporting MySQL.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Much of the discussion was about the datasheets for some of the drives not matching the measured reality.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Bradley had measured the value of running MySQL against SSDs and expected the SSDs (with higher IOPS) to get better Btree performance.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Here’s my rough and raw notes:&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Intel X25E Specs&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Read BW up to 250 MB/s&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Write BW up to 170 MB/s&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Random 4KB read rate – 35 KIO/s&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Random 4KB&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;&amp;lt;lost some…&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Measure Berkeley DB&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Trending to 4500 write per second &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Performance Model&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;-- &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Startup cost plus bandwidth cost&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Looking at read performance as a function of block size&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;As block size gets bigger, bandwidth goes up&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Discussion &lt;/FONT&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;SPAN style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;à&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt; Margo points out that many Filesystems see large blocks and do read ahead.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;That can perturb the results…&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;When you read and write large blocks, Bradley sees Filesystems doing the right thing and keeping contiguous blocks adjacent.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;The datasheet for the drive is not matching the reality for larger block sizes&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Mixing reads and writes seems to impact the performance quite a bit…&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;What Block Size to Use?&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;For point-queries, BTrees are insensitive to block size.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;For range queries, block size if important&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Tension: Large block sizes make range queries faster; Small block sizes make exact match faster&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Set block size so half of the time is accounted by seek, half by bandwidth&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Reads: 50KB for SSD but 500KB-1000KB for rotating disk&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Writes 10KB SSD , 500KB-1000KB for HDD&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Mixed read/write 21KB for SSD&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Cache-Oblivious Approach &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Use data structures that are fast for any block size&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Also can speed insertions without slowing searches&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Tokutek’s MySQL storage engine uses these ideas.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Discussion: James Hamilton layering of software and release by release changes makes it hard to get predictable behavior.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;When all these releases are separately evolved, the performance behavior is very unpredictable.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Bradley: fragmentation starts messing with this, too.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;James: all the layers interact and we need to measure by the workload and adapt.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The complexity makes performance very hard to predict.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;U&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Implications of Storage Class Memories (SCMs) on Software Architectures (C. Mohan – IBM)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Storage Class Memory (SCM)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Mohan gave a very thought provoking talk on the implications of Storage Class Memories.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Where do we need them?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;What good will they do? &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;If we have non-volatile memory that is as easy to access as DRAM, will we have corruption problems?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Will we see a running system trash the non-volatile memory like it trashes DRAM?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;One of the advantages of our current system design is that we have to pass a “sanity test” of an IO driver or messaging stack to get nastiness outside of a running system.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;That dramatically reduces the chance of this happening. &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Anyway, Mohan’s talk was really thought provoking and enjoyable!&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It was good to see my old friend back at HPTS after taking a stint in India for a few years.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Raw notes:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Blurs the distinction between DRAM and Disk&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Industry SCM Activities&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;IBM&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Intel/ST spun out of Numonyx (FLASH and PCM)&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Samsung, Numonyx sample PCM chips –&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;&amp;lt;lost som&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Speed/Volitility/persistenct&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;DRAM plus SWCM – Fast and persistent&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Persistent storage will not lose data&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Competing technologies for SCM&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Phase Change RAM (most promising)&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;SCM as a part of the storage stack&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;The distinction between RAM and Disk – the line in between is blurring&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Memory-like and also Storage-Like&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;SCM Design Triangle&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Speed – endurance – Cost/bit&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Speed with Write endurance is more memory-like&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Phase-Change RAM&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;When density increases, the failure rate goes up as bits flip more often&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;SCM is on Moore’s law&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;PCM is fast &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;100-1000 ns&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Architecture&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;SCM may be used as Memory&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;SCM may, alternatively be used as a storage (through IO controllers)&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Discussion &lt;/FONT&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;SPAN style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;à&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt; Pat:&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Bugs in non-volatile memory can sometimes be preserved&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;PCM Use Cases&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;PCM as Disk&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;PCM as Staging device&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;PCM as memory&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;PCM as extended memory&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Exploring DBMS as an exploiter of PCM&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Should log records be written directly to PCM?&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Should log be more like Disk (first to buffer and then forced to disk)?&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;PCM is not as reliable as disk &lt;/FONT&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;SPAN style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;à&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt; do you need to offload to a disk&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;If you use Group Commit, it is unclear that PCM helps a DBMS&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;PCM replaces DRAM – Buffer Pool in PC&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;The PCM Buffer Pool access will be slower than DRAM&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Writes will suffer more than reads!&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Should we instead have a DRAM BP backed by a PCM BP?&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Similar to DB2 z in parallel sysplex environment with BPs in coupling facility (CF)&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;But DB2 situation has well defined rules on when pages a move from DRAM CP to CF BP&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Variation was used in SafeRAM work at MCC in 1989&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Assume the whole DB fits in PCM&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Apply old main memory DB concepts design directly&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Shouldn’t we leverage persistence specially?&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Every bit change persisting may not be good!&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Today’s failure semantics has flexibility on tracking changes to DB pages.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Memory overwrites will cause more damage&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;If every write assumed to be persistent as soon as write completes, then L1 and L2 caching can’t be leveraged.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Assume whole DB fits in memory&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Need to externalize periodically since PCM won’t have good endurance&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;If DB spans both DRAM and PCM, hard to figure out what goes where!&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;What about Logging?&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto; mso-list: l2 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;If PCM is persistent and whole DB is in PCM, do we need logging?&lt;/FONT&gt;&lt;/P&gt;
&lt;DIV style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: medium none; PADDING-BOTTOM: 1pt; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; MARGIN-LEFT: 0.2in; BORDER-TOP: medium none; MARGIN-RIGHT: 0in; BORDER-RIGHT: medium none; PADDING-TOP: 0in; mso-element: para-border-div; mso-border-bottom-alt: solid windowtext .75pt"&gt;
&lt;P style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.25in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0in; mso-add-space: auto; mso-list: l2 level1 lfo2; mso-border-bottom-alt: solid windowtext .75pt; mso-padding-alt: 0in 0in 1.0pt 0in" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Of course it is needed to provide at least partial rollback even if data is being versioned (at least to track versions to invalidate)&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;The end of Monday morning!&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;More soon…&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-add-space: auto; mso-list: l3 level1 lfo4" class=MsoListParagraph&gt;&lt;SPAN style="mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Pat&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9916266" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/pathelland/archive/tags/HPTS/">HPTS</category></item><item><title>Building Blocks and the Three Bears</title><link>http://blogs.msdn.com/b/pathelland/archive/2009/04/13/building-blocks-and-the-three-bears.aspx</link><pubDate>Tue, 14 Apr 2009 02:41:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9547529</guid><dc:creator>Pat Helland</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/pathelland/rsscomments.aspx?WeblogPostID=9547529</wfw:commentRss><comments>http://blogs.msdn.com/b/pathelland/archive/2009/04/13/building-blocks-and-the-three-bears.aspx#comments</comments><description>&lt;p&gt;So, about a year and a half ago, I was working in Developer Division and there were lots of discussions about different kinds of components…&amp;nbsp; it seemed that everyone was talking past each other and meant really different things about they meant by a component.&amp;nbsp; I decided to try to identify three different meanings of the word “component”.&amp;nbsp;&amp;nbsp; To avoid debates over the naming, I chose the really ridiculous names:&amp;nbsp; “Baby-Bear”, “Momma-Bear”, and “Papa-Bear” to describe the different things meant by different folks when they talked about a component… of course, these names were not meant as serious but it did lead to some illustrative discussions about the “Three Bears”.&amp;nbsp;&amp;nbsp; Last week, &lt;a href="http://blogs.msdn.com/kcwalina/"&gt;Krzysztof Cwalina&lt;/a&gt; asked me to post a description of the “Three Bears” because it would be helpful for him in describing their project, MEF.&amp;nbsp;&amp;nbsp; Here goes…&lt;/p&gt; &lt;p&gt;The idea is that there are three different types of components.&amp;nbsp; &lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;u&gt;Baby-Bears&lt;/u&gt; are much like the classic object with inheritance, reference-passing, and synchronous interactions with their callers.&amp;nbsp;&amp;nbsp; &lt;li&gt;&lt;u&gt;Momma-Bears&lt;/u&gt; (closely related to what is provided by MEF), are comprised of multiple Baby-Bears.&amp;nbsp; While exhibiting synchronous call patterns, they do not support pass-by-reference nor inheritance.&amp;nbsp; They will, however, allow for support of &lt;a href="http://en.wikipedia.org/wiki/Dependency_injection"&gt;dependency injection&lt;/a&gt;.  &lt;li&gt;&lt;u&gt;Papa-Bears&lt;/u&gt; are the biggest of the three and are most similar to a SOA Service.&amp;nbsp;&amp;nbsp; A Papa-Bear will typically be composed of multiple Momma-Bears.&amp;nbsp;&amp;nbsp; Papa-Bears interact with their partners asynchronously, are frequently remote, do not support pass-by-reference or inheritance, and may be offline.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/BuildingBlocksandtheThreeBears_A386/image_2.png"&gt;&lt;img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="556" alt="image" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/BuildingBlocksandtheThreeBears_A386/image_thumb.png" width="1028" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;My interest has always been in the realm of the Papa-Bear and other projects have focused more in the realm of the Baby-Bear and the Momma-Bear.&amp;nbsp;&amp;nbsp; I will leave it to Krzysztof to explain MEF (which I believe is more akin to the Momma-Bear) type of component.&lt;/p&gt; &lt;p&gt;Anyway, this is what I like to call “Building Blocks and the Three Bears”.&lt;/p&gt; &lt;p&gt;- Pat&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9547529" width="1" height="1"&gt;</description></item><item><title>“Book Report” on the UC Berkeley Paper “Above the Clouds: a Berkeley View of Cloud Computing”</title><link>http://blogs.msdn.com/b/pathelland/archive/2009/04/10/book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computing.aspx</link><pubDate>Sat, 11 Apr 2009 03:57:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9544379</guid><dc:creator>Pat Helland</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/pathelland/rsscomments.aspx?WeblogPostID=9544379</wfw:commentRss><comments>http://blogs.msdn.com/b/pathelland/archive/2009/04/10/book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computing.aspx#comments</comments><description>&lt;p&gt;As I mentioned in a previous blog post, I am very impressed with a recent paper from my friends at the Berkeley RAD Lab called: &lt;a href="http://abovetheclouds.cs.berkeley.edu."&gt;Above the Clouds: a Berkeley View of Cloud Computing&lt;/a&gt;.&amp;nbsp;&amp;nbsp; it seemed to me that it would be important for these concepts to be better understood by a broad audience within Microsoft so I took the time to create a presentation covering the contents of the paper.&amp;nbsp; You can see the presentation I created covering the paper’s contents &lt;a href="http://cid-84f3c5ef51d06e8b.skydrive.live.com/self.aspx/.Public/2009/Above-the-Clouds-090401k.pptx"&gt;here&lt;/a&gt;.&amp;nbsp; &lt;/p&gt; &lt;p&gt;If you are interested in cloud computing, you want to understand these ideas.&lt;/p&gt; &lt;p&gt;Also, I highly recommend the Berkeley blog on cloud computing available at:&amp;nbsp; &lt;a href="http://abovetheclouds.cs.berkeley.edu"&gt;http://abovetheclouds.cs.berkeley.edu&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Thanks to the folks at Berkeley for their hard work and permission to show this to you.&lt;/p&gt; &lt;p&gt;- Pat&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9544379" width="1" height="1"&gt;</description></item><item><title>Great Paper from UC Berkeley on Cloud Computing</title><link>http://blogs.msdn.com/b/pathelland/archive/2009/02/20/great-paper-from-uc-berkeley-on-cloud-computing.aspx</link><pubDate>Sat, 21 Feb 2009 03:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9436718</guid><dc:creator>Pat Helland</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/pathelland/rsscomments.aspx?WeblogPostID=9436718</wfw:commentRss><comments>http://blogs.msdn.com/b/pathelland/archive/2009/02/20/great-paper-from-uc-berkeley-on-cloud-computing.aspx#comments</comments><description>&lt;P&gt;My friends at the UC Berkeley RAD Lab have written a wonderful paper on Cloud Computing.&amp;nbsp;&amp;nbsp; It can be found (with a video interview and some other stuff) at&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt; &lt;A href="http://abovetheclouds.cs.berkeley.edu/"&gt;http://abovetheclouds.cs.berkeley.edu&lt;/A&gt;&lt;/SPAN&gt;.&amp;nbsp; I strongly recommend looking at their work!&lt;/P&gt;
&lt;P&gt;- Pat&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9436718" width="1" height="1"&gt;</description></item><item><title>Slides from SQL Service Broker Design Preview from August 2001</title><link>http://blogs.msdn.com/b/pathelland/archive/2009/01/20/slides-from-sql-service-broker-design-preview-from-august-2001.aspx</link><pubDate>Wed, 21 Jan 2009 05:41:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9354152</guid><dc:creator>Pat Helland</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/pathelland/rsscomments.aspx?WeblogPostID=9354152</wfw:commentRss><comments>http://blogs.msdn.com/b/pathelland/archive/2009/01/20/slides-from-sql-service-broker-design-preview-from-august-2001.aspx#comments</comments><description>&lt;p&gt;I know this is a LONG time ago but these slides were never made public before and there's some interesting (and still relevant) stuff in this collection.&amp;nbsp; At the time, it was confidential but that is no longer the case.&lt;/p&gt; &lt;p&gt;In August of 2001, the SQL Service Broker team did a design preview and I wrote five presentations totaling 280 slides.&amp;nbsp; I presented these over a 12 hour period (actually, that time also includes a sixth talk with another 60 slides on "Fiefdoms and Emissaries" but I'll push that out later).&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;u&gt;CAUTION:&amp;nbsp; These slides are from August of 2001 and SQL Service Broker shipped in late 2005.&amp;nbsp; Many things are changed!&amp;nbsp; Do NOT count on these slides for accuracy of the product but they can be a big help with inspiration.&lt;/u&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;The following slide decks are now out in my new &lt;a href="http://cid-84f3c5ef51d06e8b.skydrive.live.com/browse.aspx/.Public"&gt;public skydrive folder&lt;/a&gt;.&lt;/p&gt; &lt;h3&gt;&lt;strong&gt;&lt;u&gt;SQL Service Broker Overview&lt;/u&gt;&lt;/strong&gt;&lt;/h3&gt; &lt;blockquote&gt; &lt;p&gt;An overview and introduction to SQL Service Broker.&amp;nbsp; This slide deck has the following major sections:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;&lt;u&gt;Introduction&lt;/u&gt;&lt;/strong&gt;:&amp;nbsp; Motivates the challenges in loosely-coupled messaging, the advantages of deeply integrating messaging with the database, support for scaling and fault tolerance, and some scenarios for SQL Service Broker.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;&lt;u&gt;High-Level Architecture&lt;/u&gt;&lt;/strong&gt;: This covers web services, brokers, message fragmentation, service environments (which provide a namespace for services), message-types, service-contracts, services, and service programs.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;&lt;u&gt;Programming Model&lt;/u&gt;&lt;/strong&gt;:&amp;nbsp; This section covers an overview of the programming model, service instances and state management, dialogs, and again ties these programmatic concepts to the service instance.&amp;nbsp; Caution: the syntax has changed between this and the shipped product!&lt;/li&gt; &lt;li&gt;&lt;strong&gt;&lt;u&gt;Relationship to Other Stuff&lt;/u&gt;&lt;/strong&gt;: Here we visit management issues, interoperation, and look at products that create services.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;&lt;u&gt;Conclusion&lt;/u&gt;&lt;/strong&gt;:&amp;nbsp; We revisit the scenarios and summarize the points made.&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;The SSB overview talk has 87 slides and can be found &lt;a href="http://cid-84f3c5ef51d06e8b.skydrive.live.com/self.aspx/.Public/2001/SQL-Service-Broker-Design-Preview-Aug01/SSB-Overview-010828.ppt"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt; &lt;h3&gt;&lt;strong&gt;&lt;u&gt;SQL Service Broker Messaging&lt;/u&gt;&lt;/strong&gt;&lt;/h3&gt; &lt;blockquote&gt; &lt;p&gt;This talk examines the message protocols used in SQL Service Broker.&amp;nbsp; &lt;u&gt;&lt;em&gt;Reminder:&amp;nbsp; This is not an accurate depiction of what is in the product!&lt;/em&gt;&lt;/u&gt;&lt;/p&gt; &lt;p&gt;This slide deck has the following major sections:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;&lt;u&gt;Introduction&lt;/u&gt;&lt;/strong&gt;:&amp;nbsp; This covers the concepts of reliable messaging, brief discussion of web services, Internet and Intranet issues, transport support, binary and lossless transformations, and a sketch of the protocol stack.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;&lt;u&gt;Adjacent Broker Protocol&lt;/u&gt;&lt;/strong&gt;: The adjacent broker protocol talks to a nearby SQL Server to propagate messages and get them closer to their destination.&amp;nbsp; This section outlines the challenges at this level with delivery (sometimes tunneled through firewalls), lifetime management, and format negotiation.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;&lt;u&gt;Endpoint Broker Protocol&lt;/u&gt;&lt;/strong&gt;: The endpoint broker protocol functions across the SQL Server engines that actually constitute the two endpoints for the communication (and it layers atop the adjacent broker protocol).&amp;nbsp; This section covers dialog endpoint state, fragmentation and sequence numbers, piggy-backed acknowledgements, and unsequenced ack messages.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;&lt;u&gt;Message Formats&lt;/u&gt;&lt;/strong&gt;: This covers pieces of the messages, encryption challenges, and ASCII versus binary sections of the SOAP message.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;&lt;u&gt;Monolog Contracts&lt;/u&gt;&lt;/strong&gt;: Monologs were not implemented but they are VERY interesting if you care about Pub-Sub.&amp;nbsp; This short section on Monologs covers some of the issues related to the messaging formats.&amp;nbsp; It discusses dialog contracts to implement monologs.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;&lt;u&gt;Web Services and SOAP Bubbles&lt;/u&gt;&lt;/strong&gt;:&amp;nbsp; Some brief framing of the relationship of the SSB protocols to Web Services and SOAP.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;&lt;u&gt;Conclusion&lt;/u&gt;&lt;/strong&gt;: a summary of the content covered.&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;The SSB messaging talk has 31 slides and can be found &lt;a href="http://cid-84f3c5ef51d06e8b.skydrive.live.com/self.aspx/.Public/2001/SQL-Service-Broker-Design-Preview-Aug01/SSB-Messaging-010828.ppt"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt; &lt;h3&gt;&lt;strong&gt;&lt;u&gt;SQL Service Broker Performance&lt;/u&gt;&lt;/strong&gt;&lt;/h3&gt; &lt;blockquote&gt; &lt;p&gt;This talk examines performance, scaling, and high-availability issues with SQL Service Broker.&amp;nbsp;&amp;nbsp; &lt;u&gt;&lt;em&gt;Reminder:&amp;nbsp; This is not an accurate depiction of what is in the product!&lt;/em&gt;&lt;/u&gt;&lt;/p&gt; &lt;p&gt;This slide deck has the following major sections:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;&lt;u&gt;Introduction&lt;/u&gt;&lt;/strong&gt;&amp;nbsp; &lt;/li&gt; &lt;li&gt;&lt;strong&gt;&lt;u&gt;Work Within a Service&lt;/u&gt;&lt;/strong&gt;: This covers messages in and out of a service, service instance state management, data access from services, and scalable and highly-available ASP.NET apps.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;&lt;u&gt;Fault Tolerant Services&lt;/u&gt;&lt;/strong&gt;: In this section, we cover designing services for fault tolerance, deploying services for fault tolerance, and more issues with fault tolerance.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;&lt;u&gt;Scaling and High-Performance&lt;/u&gt;&lt;/strong&gt;: Here, we examine application issues for scale-up, execution of scale-up services, application issues for scale-out, and execution of scale-out services.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;&lt;u&gt;Conclusion&lt;/u&gt;&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;The SSB performance talk has 46 slides and can be found &lt;a href="http://cid-84f3c5ef51d06e8b.skydrive.live.com/self.aspx/.Public/2001/SQL-Service-Broker-Design-Preview-Aug01/SSB-Perf-Scale-010828.ppt"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt; &lt;h3&gt;&lt;strong&gt;&lt;u&gt;SQL Service Broker Monologs&lt;/u&gt;&lt;/strong&gt;&lt;/h3&gt; &lt;blockquote&gt; &lt;p&gt;One of my favorite talks, this describes the unshipped feature of SSB Monologs.&amp;nbsp; Monologs implement a very flexible form of pub-sub.&amp;nbsp; While they are an unimplemented feature in SSB, the serious implementer could follow the guidance in this talk and avoid a lot of difficulties.&amp;nbsp;&amp;nbsp; &lt;u&gt;&lt;em&gt;Reminder:&amp;nbsp; This is not an accurate depiction of what is in the product (it has not shipped)!&lt;/em&gt;&lt;/u&gt;&lt;/p&gt; &lt;p&gt;This slide deck has the following major sections:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;&lt;u&gt;Monolog Overview&lt;/u&gt;&lt;/strong&gt;:&amp;nbsp; This covers "What's a Monolog?", programmatic interfaces, and broker-to-broker contracts.&amp;nbsp; Included are the notions of "History versus Currency", Monolog-Groups, and Subscriptions.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;&lt;u&gt;Programming with Monologs&lt;/u&gt;&lt;/strong&gt;:&amp;nbsp; This section includes programming a publisher, requesting a subscription, and monolog delivery in a subscriber.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;&lt;u&gt;Some Special Monolog Features&lt;/u&gt;&lt;/strong&gt;: A really cool concept called a Monolog-Checkpoint is covered as well as the lifetime of monologs.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;&lt;u&gt;Plumbing Monologs Over Dialogs&lt;/u&gt;&lt;/strong&gt;:&amp;nbsp; We examine fan-out trees for scale, plumbing the fanout using dialogs, publisher agents, and subscriber agents.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;&lt;u&gt;Conclusion&lt;/u&gt;&lt;/strong&gt;:&amp;nbsp; Here we examine content syndication and content aggregation and then summarize the talk.&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;The SSB monologs talk has 53 slides and can be found &lt;a href="http://cid-84f3c5ef51d06e8b.skydrive.live.com/self.aspx/.Public/2001/SQL-Service-Broker-Design-Preview-Aug01/SSB-Monologs-010828.ppt"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt; &lt;h3&gt;&lt;strong&gt;&lt;u&gt;SQL Service Broker Security&lt;/u&gt;&lt;/strong&gt;&lt;/h3&gt; &lt;blockquote&gt; &lt;p&gt;Again, one of my favorite talks, this describes some of the special challenges with security that arise in a messaging and services system like SQL Service Broker.&amp;nbsp; Classic session-oriented security only works when messages are received in order.&amp;nbsp; That is just one of the challenges.&amp;nbsp;&amp;nbsp; &lt;u&gt;&lt;em&gt;Reminder:&amp;nbsp; This is not an accurate depiction of what is in the product!&lt;/em&gt;&lt;/u&gt;&lt;/p&gt; &lt;p&gt;This slide deck has the following major sections:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;&lt;u&gt;Security Behavior&lt;/u&gt;&lt;/strong&gt;: This section covers identity, dialog authorization, monolog authorization, and auditing.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;&lt;u&gt;Encryption Concepts&lt;/u&gt;&lt;/strong&gt;:&amp;nbsp; Here we examine symmetric key encryption, public key encryption, and some practical rules for using encryption.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;&lt;u&gt;Encrypting Dialogs&lt;/u&gt;&lt;/strong&gt;:&amp;nbsp; In this section, we introduce a concept called "handshakes" which helps optimize the performance of certificate management in a dialog-based system.&amp;nbsp; We look at handshake certificates, messages and dialogs, and cryptographic guarantees.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;&lt;u&gt;Encrypting Monologs&lt;/u&gt;&lt;/strong&gt;: Monologs are N-party communications.&amp;nbsp; We examine in this section why 2-party security works best and then how we can use a fan-out tree to implement a secure scalable publisher.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;&lt;u&gt;Conclusion&lt;/u&gt;&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;The SSB security talk has 61 slides and can be found &lt;a href="http://cid-84f3c5ef51d06e8b.skydrive.live.com/self.aspx/.Public/2001/SQL-Service-Broker-Design-Preview-Aug01/SSB-Security-010828.ppt"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;I hope these talks are fun as there's still lots of interesting concepts in them 8 years later.&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;- Pat&lt;/p&gt;&lt;/blockquote&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9354152" width="1" height="1"&gt;</description></item><item><title>Transaction Processing and the Barbarian Hordes</title><link>http://blogs.msdn.com/b/pathelland/archive/2009/01/19/transaction-processing-and-the-barbarian-hordes.aspx</link><pubDate>Tue, 20 Jan 2009 04:53:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9341247</guid><dc:creator>Pat Helland</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/pathelland/rsscomments.aspx?WeblogPostID=9341247</wfw:commentRss><comments>http://blogs.msdn.com/b/pathelland/archive/2009/01/19/transaction-processing-and-the-barbarian-hordes.aspx#comments</comments><description>&lt;P&gt;So, I'm starting to figure out how to put stuff up on Windows Live Skydrive and I have beginning out &lt;A href="http://cid-84f3c5ef51d06e8b.skydrive.live.com/browse.aspx/.Public"&gt;&lt;FONT color=#669966&gt;here&lt;/FONT&gt;&lt;/A&gt;.&amp;nbsp;&amp;nbsp; I've only spent a few hours on this and there's lots more old stuff to add soon.&amp;nbsp; I will send another blog post when this is in better shape.&lt;/P&gt;
&lt;P&gt;I just couldn't resist sharing some fun, though...&lt;/P&gt;
&lt;P&gt;As I was sorting through old files, I came across a video of &lt;A href="http://cid-84f3c5ef51d06e8b.skydrive.live.com/self.aspx/.Public/1996/Barbarian-Hordes-961106.wmv"&gt;&lt;FONT color=#669966&gt;Transaction Processing and the Barbarian Hordes&lt;/FONT&gt;&lt;/A&gt; and placed it up for all to see.&amp;nbsp; This was my favorite moment on stage (at least so far) and was the source of a rare bout of stage fright before starting the presentation...&lt;/P&gt;
&lt;P&gt;This was at the Long Beach PDC in November of 1996.&amp;nbsp; The PDC was titled "The Renaissance of Distributed Computing" and I had a one hour General Session to introduce &lt;A href="http://en.wikipedia.org/wiki/Microsoft_Transaction_Server"&gt;&lt;FONT color=#669966&gt;Microsoft Transaction Server&lt;/FONT&gt;&lt;/A&gt;.&amp;nbsp; We wanted to show that MTS was easier to install than a classic &lt;A href="http://en.wikipedia.org/wiki/Transaction_processing_monitor"&gt;&lt;FONT color=#669966&gt;Transaction Processing Monitor&lt;/FONT&gt;&lt;/A&gt;.&amp;nbsp; So, my friend Greg Hope came out to do a 2-1/2 minute setup on MTS.&amp;nbsp; While this was happening, I told a five minute joke...&lt;/P&gt;
&lt;P&gt;There were 7000 people in the room and (I think) 10000+ on video feed.&amp;nbsp; They had NO idea what I was doing for at least three minutes.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;- Pat&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9341247" width="1" height="1"&gt;</description></item><item><title>A Wonderful Time at CIDR (Conference on Innovative Database Research)</title><link>http://blogs.msdn.com/b/pathelland/archive/2009/01/09/a-wonderful-time-at-cidr-conference-on-innovative-database-research.aspx</link><pubDate>Sat, 10 Jan 2009 04:35:39 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9303181</guid><dc:creator>Pat Helland</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/pathelland/rsscomments.aspx?WeblogPostID=9303181</wfw:commentRss><comments>http://blogs.msdn.com/b/pathelland/archive/2009/01/09/a-wonderful-time-at-cidr-conference-on-innovative-database-research.aspx#comments</comments><description>&lt;p&gt;Sunday, January 4th through Wednesday, January 7th was the &lt;a href="http://www-db.cs.wisc.edu/cidr/"&gt;Conference on Innovative Database Research (CIDR)&lt;/a&gt;&amp;nbsp; at Asilomar.&amp;nbsp; &lt;/p&gt; &lt;p&gt;First, let me talk for a minute about &lt;a href="http://www.visitasilomar.com/default.aspx"&gt;Asilomar&lt;/a&gt;. It is located in the forest right off the beach in Pacific Grove, CA (right next to Monterey).&amp;nbsp; From 1913 to 1956, it was a YWCA and has a number of magnificent and beautiful historic buildings.&amp;nbsp; In 1956, it was sold to the State of California which has run it as a conference center since then.&amp;nbsp; Asilomar has a deep and special place in my heart.&amp;nbsp; I've spent 3 days every two years there since 1985 at the &lt;a href="http://www.hpts.ws/"&gt;HPTS (High Performance Transaction Systems) workshop&lt;/a&gt;.&amp;nbsp; This gathering has been attended by many wonderful friends in the transaction processing and database community.&amp;nbsp; Every job I've gotten since the 1980s has been through contacts forged at HPTS.&amp;nbsp; I chaired the HPTS workshop in 1989 and (believe it or not), my first grandson was born DURING the workshop (after the keynote, before the first session, and immediately after I ordered more coffee in a crisis for the first break).&amp;nbsp; I still smile at the location of the (now removed) pay phone where I continually called to find out how the birth was progressing.&amp;nbsp; Nick (my grandson) is now at Cal State San Jose.&amp;nbsp;&amp;nbsp;&amp;nbsp; It was at Asilomar that I last saw my dear friend, Jim Gray.&amp;nbsp; Now, I go two times each two years for CIDR (January of the odd years) and HPTS (October of the odd years).&amp;nbsp; The smells, the feel, the fireplaces, the wonderful &lt;a href="http://www.bluffton.edu/~sullivanm/jmasilomar/jmasilomarchapel.html"&gt;Chapel Building&lt;/a&gt; (where we meet to present to each other), and the amazing participants offer me a rich combination of memories and current stimulus.&lt;/p&gt; &lt;p&gt;So, this year's CIDR was a good one.&amp;nbsp; The agenda was packed.&amp;nbsp; There was a healthy combination of seasoned database folks and young grad student.&amp;nbsp; We listened to a lot of presentations and had a lot of stimulating conversations.&amp;nbsp; I saw a bunch of old friends and made a bunch of new ones.&amp;nbsp; Someone (who... me??) managed to bring some nice sipping whiskey each night and get a gang off to chat quietly by the fire and ensure we ended up sleep deprived but with a better understanding of our new and old friends.&amp;nbsp; It was a very, very nice event.&lt;/p&gt; &lt;p&gt;On Tuesday evening, I was on a panel with my old friend from Tandem days, &lt;a href="http://www.linkedin.com/ppl/webprofile?action=vmi&amp;amp;id=5220261&amp;amp;authToken=GGcn&amp;amp;authType=name&amp;amp;trk=ppro_viewmore&amp;amp;lnk=vw_pprofile"&gt;Shel Finkelstein&lt;/a&gt;.&amp;nbsp; We were joined by a friend of mine I met last year, &lt;a href="http://athx2.cs.berkeley.edu/~marmbrus/"&gt;Michael Armbrust&lt;/a&gt;, who is a graduate student at UC Berkeley studying in the &lt;a href="http://radlab.cs.berkeley.edu/wiki/RAD_Lab"&gt;Berkeley RAD Lab&lt;/a&gt;.&amp;nbsp; The panel was on the ways in which cloud-based systems are, in many cases, evolving towards availability over consistency.&amp;nbsp; I presented a summary of "Building on Quicksand".&amp;nbsp;&amp;nbsp; Shel did a marvelous job presenting "Principles for Inconsistency".&amp;nbsp; Finally, Michael presented about his project at Berkeley called "SCADS: Scale-Independent Storage for Social Computing Applications" and then we had a joint Q&amp;amp;A.&amp;nbsp; You can find the papers for these talks at &lt;a title="http://www-db.cs.wisc.edu/cidr/cidr2009/program.html" href="http://www-db.cs.wisc.edu/cidr/cidr2009/program.html"&gt;http://www-db.cs.wisc.edu/cidr/cidr2009/program.html&lt;/a&gt; and then navigating the program to Tuesday evening.&lt;/p&gt; &lt;p&gt;The panel was a blast...&amp;nbsp; I've known Shel for almost 20 years and knew he would do a great job.&amp;nbsp; He did.&amp;nbsp; This was Michael's first conference but I was THRILLED with his talk.&amp;nbsp; He was clear, organized, and thought provoking.&amp;nbsp; An absolute home run for someone's first conference!&amp;nbsp; &lt;/p&gt; &lt;p&gt;FInally, I want to thank Mike Franklin, Joe Hellerstein, and Gerhard Weikum (and many others) for all their hard work to make CIDR 2009 possible.&lt;/p&gt; &lt;p&gt;- Pat&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9303181" width="1" height="1"&gt;</description></item><item><title>"Building on Quicksand" Paper for CIDR (Conference on Innovative Database Research)</title><link>http://blogs.msdn.com/b/pathelland/archive/2008/12/12/building-on-quicksand-paper-for-cidr-conference-on-innovative-database-research.aspx</link><pubDate>Sat, 13 Dec 2008 05:34:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9205214</guid><dc:creator>Pat Helland</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/pathelland/rsscomments.aspx?WeblogPostID=9205214</wfw:commentRss><comments>http://blogs.msdn.com/b/pathelland/archive/2008/12/12/building-on-quicksand-paper-for-cidr-conference-on-innovative-database-research.aspx#comments</comments><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 4pt"&gt;&lt;FONT face="Times New Roman"&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;
&lt;P minmax_bound="true"&gt;I just&amp;nbsp;submitted the final (photo-ready) version of&amp;nbsp;a new paper called "Building on Quicksand" to the &lt;A class="" title="Conference on Innovative Database Systems" href="http://www-db.cs.wisc.edu/cidr/cidr2009/" minmax_bound="true" mce_href="http://www-db.cs.wisc.edu/cidr/cidr2009/"&gt;Conference on Innovative Database Research&lt;/A&gt;.&amp;nbsp; This is a paper I coauthored&amp;nbsp;with my friend, Dave Campbell.&amp;nbsp; We submitted an earlier version (to try to get into the conference) in October, I wrote a presentation on this for TechEd EMEA, and now we have&amp;nbsp;a new and longer full paper complete.&amp;nbsp; I like this version best of all.&amp;nbsp;&lt;/P&gt;
&lt;P minmax_bound="true"&gt;- Pat&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P minmax_bound="true"&gt;&lt;STRONG&gt;&lt;U&gt;Building on Quicksand&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 4pt"&gt;Reliable systems have always been built out of unreliable components.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Early on, the reliable components were small such as mirrored disks or ECC (Error Correcting Codes) in core memory. These systems were designed such that failures of these small components were transparent to the application. Later, the size of the unreliable components grew larger and semantic challenges crept into the application when failures occurred.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 4pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Fault tolerant algorithms comprise a set of idempotent sub-algorithms.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Between these idempotent sub-algorithms, state is sent across the failure boundaries of the unreliable components.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The failure of an unreliable component can then be tolerated as a takeover by a backup, which uses the last known state and drives forward with a retry of the idempotent sub-algorithm.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Classically, this has been done in a linear fashion (i.e. one step at a time).&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 4pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;As the granularity of the unreliable component grows (from a mirrored disk to a system to a data&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;center), the latency to communicate with a backup becomes unpalatable.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This leads to a more relaxed model for fault tolerance.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The primary system will acknowledge the work request and its actions &lt;I style="mso-bidi-font-style: normal"&gt;&lt;U&gt;without&lt;/U&gt;&lt;/I&gt; waiting to ensure that the backup is notified of the work.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This improves the responsiveness of the system because the user is not delayed behind a slow interaction with the backup.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;There are two implications of asynchronous state capture:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpFirst style="MARGIN: 0in 0in 0pt 13.5pt; TEXT-INDENT: -13.5pt; mso-add-space: auto; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: Arial"&gt;&lt;SPAN style="mso-list: Ignore"&gt;1)&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;U&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Everything promised by the primary is probabilistic&lt;/SPAN&gt;&lt;/U&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;There is always a chance that an untimely failure shortly after the promise results in a backup proceeding without knowledge of the commitment.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Hence, nothing is guaranteed!&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpLast style="MARGIN: 0in 0in 4pt 13.5pt; TEXT-INDENT: -13.5pt; mso-add-space: auto; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: Arial"&gt;&lt;SPAN style="mso-list: Ignore"&gt;2)&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;U&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Applications must ensure eventual consistency&lt;/SPAN&gt;&lt;/U&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Since work may be stuck in the primary after a failure and reappear later, the processing order for work cannot be guaranteed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 4pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Platform designers are struggling to make this easier for their applications.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Emerging patterns of eventual consistency and probabilistic execution may soon yield a way for applications to express requirements for a “looser” form of consistency while providing availability in the face of ever larger failures. As we will also point out in this paper, the patterns of probabilistic execution and eventual consistency are applicable to intermittently connected application patterns. &lt;FONT color=#ff0000&gt;&lt;SPAN class=msoDel&gt;&lt;DEL cite=mailto:Dave%20Campbell dateTime=2008-12-04T08:00&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/DEL&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 4pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;This paper recounts portions of the evolution of these trends, attempts to show the patterns that span these changes, and talks about future directions as we continue to “build on quicksand”.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/FONT&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9205214" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-09-20-52-14/BuildingOnQuicksand_2D00_V3_2D00_081212h_2D00_pdf.pdf" length="861953" type="application/pdf" /></item><item><title>An Interview with .NET Rocks while I Was at Barcelona Last Week</title><link>http://blogs.msdn.com/b/pathelland/archive/2008/11/20/an-interview-with-net-rocks-while-i-was-at-barcelona-last-week.aspx</link><pubDate>Thu, 20 Nov 2008 22:55:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9130196</guid><dc:creator>Pat Helland</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/pathelland/rsscomments.aspx?WeblogPostID=9130196</wfw:commentRss><comments>http://blogs.msdn.com/b/pathelland/archive/2008/11/20/an-interview-with-net-rocks-while-i-was-at-barcelona-last-week.aspx#comments</comments><description>&lt;p&gt;Mark Dunn of .NET Rocks asked me to do an interview at TechEd EMEA last week.&amp;nbsp; We chatted about one of my talks called "If You Have Too Much Data, then Good Enough Is Good Enough".&amp;nbsp; The link to the interview is &lt;a href="http://mfile.akamai.com/14853/wmv/microsofttec.download.akamai.com/14853/TechEdOnline/Videos/444_low.asx"&gt;here&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Thanks, Mark!&amp;nbsp; It was fun!&lt;/p&gt; &lt;p&gt;- Pat&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AnI.NETRockswhileIWasatBarcelonaLastWeek_A77B/image_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="411" alt="image" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AnI.NETRockswhileIWasatBarcelonaLastWeek_A77B/image_thumb.png" width="644" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9130196" width="1" height="1"&gt;</description></item><item><title>Channel 9 Just Posted an Interview with Me on the Drive to Many-Core Processors</title><link>http://blogs.msdn.com/b/pathelland/archive/2008/11/11/channel-9-just-posted-an-interview-with-me-on-the-drive-to-many-core-processors.aspx</link><pubDate>Tue, 11 Nov 2008 13:27:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9059716</guid><dc:creator>Pat Helland</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/pathelland/rsscomments.aspx?WeblogPostID=9059716</wfw:commentRss><comments>http://blogs.msdn.com/b/pathelland/archive/2008/11/11/channel-9-just-posted-an-interview-with-me-on-the-drive-to-many-core-processors.aspx#comments</comments><description>&lt;p&gt;This was filmed at TechEd NA in Orlando last June.&amp;nbsp; I received the link to the video today.&amp;nbsp; It was a nice chat with Patrick Weikle about the inevitability of Many-Core Processors and how this will inevitably drive us to parallel computation.&lt;/p&gt; &lt;p&gt;The link is &lt;a href="http://channel9.msdn.com/shows/ARCast.TV/ARCastTV-Pat-Helland-on-the-Drive-to-Many-Core-Processors/"&gt;here&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/Channel9JustPostedanInterviewwithMeonthe_A111/image_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="403" alt="image" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/Channel9JustPostedanInterviewwithMeonthe_A111/image_thumb.png" width="644" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9059716" width="1" height="1"&gt;</description></item><item><title>I'm Doing Five Talks at TechEd EMEA Developer (Barcelona -- November 10-14)</title><link>http://blogs.msdn.com/b/pathelland/archive/2008/10/16/i-m-doing-five-talks-at-teched-emea-developer-barcelona-november-10-14.aspx</link><pubDate>Fri, 17 Oct 2008 01:05:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9002425</guid><dc:creator>Pat Helland</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/pathelland/rsscomments.aspx?WeblogPostID=9002425</wfw:commentRss><comments>http://blogs.msdn.com/b/pathelland/archive/2008/10/16/i-m-doing-five-talks-at-teched-emea-developer-barcelona-november-10-14.aspx#comments</comments><description>&lt;p&gt;Well, those folks at TechEd EMEA continue to be nice to me.&amp;nbsp; Looks like I get to do four talks for the architecture track AND the closing general session.&amp;nbsp; It is quite an honor to be told I can make up whatever I feel like and they will let me present it.&lt;/p&gt; &lt;p&gt;Here are the titles and abstracts for the four talks for the architecture track:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;b&gt;&lt;u&gt;Building on Quicksand &lt;/u&gt;&lt;/b&gt; &lt;p&gt;Quicksand is a mixture of sand and water that looks like it is solid but will slowly consume anyone that tries to walk over it.&amp;nbsp; This talk will argue that for many years our systems have built their reliability by layering on top of unreliable components and, effectively, built on top of quicksand.&amp;nbsp; Furthermore, the granularity of the unreliable components has been steadily increasing through the years and is gradually showing new and challenging semantics to the application developer.&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;Fault tolerant algorithms are built by creating pieces that are idempotent or repeatable without harm.&amp;nbsp;&amp;nbsp; Ensuring these idempotent operations can be performed by components that are unreliable, a reliable design must capture the state ACROSS the failure units and keep going if something fails.&amp;nbsp; This has been done with circuitry, mirrored disks, multiprocessors, and more.&amp;nbsp; In the past, failures were usually masked from the running application.&amp;nbsp; Now, the size of the unreliable component is inexorably getting larger as the economics of our systems changes.&amp;nbsp; This is making it impossible for the underlying hardware and software platforms to hide the failures.&amp;nbsp; Increasingly, applications must design to cope with the failures of these unreliable components.&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;This talk will sketch the theory of fault tolerance and show a number of examples of how systems have been designed through the years and how their evolution has gradually impacted application design.&amp;nbsp; Hopefully, this discussion will help application designers understand the new responsibilities they face in building reliable distributed systems.&amp;nbsp; It is possible to stay afloat on top of quicksand with sufficient care!&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;&lt;b&gt;&lt;u&gt;When You Have Too Much Data, “Good Enough” is Good Enough&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;Classic database management systems have very tight control over their data and over the correctness of the answers they provide.&amp;nbsp;&amp;nbsp; A number of pressures are being placed on classic database systems:&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;· We are awash in vast quantities of data&lt;br&gt;· There are many sources of the data, it frequently has inconsistent schema, and its interpretation is up to… well… interpretation&lt;br&gt;· Data are streaming into the system(s) at the same time as we are attempting to analyze it&lt;br&gt;· The machines holding the data may not all be concurrently available&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;This talk will examine some of these forces on classic database management systems and propose that there are a number of new ways to think about data.&amp;nbsp; We will explore a number of different dimensions in which the “classic” database world is being relaxed to meet the needs for our customers in a changing world.&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;&lt;b&gt;&lt;u&gt;RIAs and Emissaries&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;The emerging field of RIA (Rich Internet Applications) is a hybrid between the classic rich-client application and a browser.&amp;nbsp; Designed to provide the richness of the client environment without installation, RIA applications must be small and lightweight.&amp;nbsp; To provide safety, they must have strictly limited access to resources on the client machine.&amp;nbsp;&amp;nbsp; Sandboxing of the client access limits the RIA app to per-app/per-user/per-machine state.&amp;nbsp;&amp;nbsp; The state of the art is evolving in how sharing can be done within RIA environments across applications and across users while providing safe computing.&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;The emissary design pattern is one where there is non-trusted code running outside of a service which is specifically designed to support interactions with the service.&amp;nbsp; Leveraging reference data published by the target service, the emissary prepares requests with a sophisticated enough understanding of the service’s expectations that the request is likely to be accepted and processed.&amp;nbsp; All of this is done while respecting the trust boundaries imposed by the target service.&amp;nbsp;&amp;nbsp; This pattern is clarified in the talk by showing parallels to the usage of paper forms in the business processes that proceeded the advent of computers.&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;We will explore the use and evolution of the Rich Internet Application and discuss some of the fun challenges the industry faces as RIAs evolve.&amp;nbsp; Then, we will describe the emissary design pattern and show how RIAs are very well suited to working with their parent web environment using this pattern.&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;This talk is simply the wild ideas of the presenter and does not reflect any product commitments.&amp;nbsp; It might, however, help you understand and build your applications differently.&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;&lt;b&gt;&lt;u&gt;Metropolis: Buildings and Applications&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;The Metropolis series of talks refers to a collection of presentations which examine cities and their evolution since being connected by the railroads and shows how Information Technology is undergoing the same transformations as IT shops are connected by the Internet.&amp;nbsp; This second talk in the series examines the parallels between buildings in the city and applications in the IT shop.&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;Buildings come in many shapes, forms, and uses.&amp;nbsp; Some are built with major investments and the builders anticipate a long and vibrant lifetime for the building.&amp;nbsp; Others are built for quick turnover and short lives.&amp;nbsp; As buildings age, different aspects of the building have different lifetimes and amortizations.&amp;nbsp; It is common to see the roof, siding, plumbing, or wiring redone a number of times before the building is discarded.&amp;nbsp; We are also seeing an increasing trend towards buildings being designed for a class or category of occupant without knowing the specific occupant.&amp;nbsp; You see this in retail malls, office buildings, and more.&amp;nbsp; As time moves on, a larger percentage of buildings are designed for a generalized use and a smaller percentage customized for the buyer.&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;Applications are following the same trend (although lagging the construction industry by a number of decades).&amp;nbsp;&amp;nbsp; We see major investments in some pieces of software and then surprisingly quick-and-dirty implementations of others.&amp;nbsp; We see renovation of applications across releases with some aspects of the application remaining intact while other aspects may change many times over the lifetime of the code.&amp;nbsp; Finally, we are gradually seeing the creation of patterns or classes of applications and supporting infrastructure to ease their development.&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;This talk will cover a number of parallels between buildings and applications.&amp;nbsp; We intend to show that the same forces that have shaped the building industry are shaping the development of applications.&amp;nbsp; It is possible to look to the building industry to tell us where applications will be going. &lt;p&gt;Some (but not many) of you may have seen this talk a few years ago but it is still guaranteed to make you think differently about the composition and evolution of applications.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;And, finally, the closing general session at which the poor attendees have no alternative entertainment but listening to me!&amp;nbsp; The organizing folks offered me this spot and asked me what I wanted to present.&amp;nbsp; Since I was curious about data centers and felt REALLY uneducated, I had to select that as a topic.&amp;nbsp; This led me to the following title and abstract for the big presentation. &lt;blockquote&gt; &lt;p&gt;&lt;b&gt;&lt;u&gt;Green Computing through Sharing&lt;br&gt;&lt;/u&gt;&lt;/b&gt;Reducing both Cost AND Carbon&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;Data centers consumed 1.5% of the total electricity in the US in 2006 and are on track to double as a percentage every five years. It is about 2% of the US total in 2008. Western Europe’s use is increasing at a slightly faster rate (from a slightly lower base percentage). The consumption of electicity within data centers is of significant financial and environmental importance.&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;Where the heck is all this power going? Why is the electrical load increasing so much? What can be done about it?&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;This talk will examine both traditional and emerging data center designs. We will start by examining how a data center is laid out, constructed, and managed. We will show two emerging trends: the change to designing data centers for the optimization of power and the emergence of new economies of scale in data centers which is contributing to the drive towards cloud computing. Microsoft is actively moving to compete in the space of cloud computing as we are seeing at the PDC (Professional Developers Conference) a few weeks before TechEd EMEA Developer.&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;Next, we will examine the sources of waste in the system today and examine why so many of our resources are underutilized. Because we are reluctant to share computing resources, they are left idle much of the time. Why is this currently the dominant choice? What can be done in the design of applications, systems, and data centers to make them more green (both carbon and cash)? What can developers do to make a difference?&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Anyway, I am super excited to be going to Barcelona and humbled by the trust and opportunity I've been given!&amp;nbsp; Hope to see you there!&amp;nbsp; If so, please come up and say hi!&amp;nbsp; In the meantime, I'm going to work on my slides... &lt;p&gt;- Pat &lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9002425" width="1" height="1"&gt;</description></item><item><title>First You Live, Then You Die, Live Now!</title><link>http://blogs.msdn.com/b/pathelland/archive/2008/10/10/first-you-live-then-you-die-live-now.aspx</link><pubDate>Fri, 10 Oct 2008 16:18:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8994235</guid><dc:creator>Pat Helland</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/pathelland/rsscomments.aspx?WeblogPostID=8994235</wfw:commentRss><comments>http://blogs.msdn.com/b/pathelland/archive/2008/10/10/first-you-live-then-you-die-live-now.aspx#comments</comments><description>&lt;p&gt;I didn't think I wanted to blog about this but it's been rattling around inside of me so I thought I would share it!&lt;/p&gt; &lt;p&gt;Life is short and life is precious... none of us know when our time is up and we all need to hold close what is dear to us.&lt;/p&gt; &lt;p&gt;Monday evening, Sept 29th, I was away from home for the evening at a Microsoft internal conference.&amp;nbsp; At around 10:30PM, I checked the local newspaper and found out that a friend of mine, Keith Grinstein, had passed away the day before.&amp;nbsp; Coverage was in the &lt;a href="http://seattlepi.nwsource.com/business/381100_obitgrinstein30.html"&gt;Seattle Post-Intelligencer&lt;/a&gt;, &lt;a href="http://www.bizjournals.com/seattle/stories/2008/09/29/daily6.html"&gt;Puget Sound Business Journal&lt;/a&gt;, and later in the &lt;a href="http://seattletimes.nwsource.com/html/localnews/2008214675_grinsteinobit30.html"&gt;Seattle Times&lt;/a&gt;.&amp;nbsp; A few days later, a nice article was in &lt;a href="http://www.crosscut.com/business-technology/18304/Remembering+Keith+Grinstein/"&gt;Crosscut&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Keith was my neighbor and I really, really liked him and really, really like his wife, Claire.&amp;nbsp; We'd only been out to dinner once as the two couples and kept talking about wanting to set up another dinner.&amp;nbsp; I would see Keith at least once a week hanging around in the lobby of the building we share.&amp;nbsp; We all live on top of a hotel and there are folks working for the hotel down in the lobby all the time.&amp;nbsp; It is a busy and vibrant place.&amp;nbsp; Keith had been a successful entrepreneur and businessman.&amp;nbsp; He was a lawyer, did a stint as an aid to various politicians, worked in telecommunications (he was formerly CEO of NexTel amongst other things), was an early investor in Amazon, and much more.&amp;nbsp; He had set his life up the way he wanted it and was now doing venture capitol work out of a small company he set up with some friends.&amp;nbsp; His office was one block away and he spent most mornings down in the "Studio" area off the hotel lobby where you can get breakfast.&amp;nbsp; He was there for a couple of hours each day, pacing around, doing business over his cell phone, and teasing, laughing, and smiling with whoever he would encounter.&amp;nbsp; Keith's wife, Claire, is a beautiful, vibrant, fun, and hard-working ophthalmologist.&amp;nbsp; Keith had the energy to be on countless boards of charitable organizations.&amp;nbsp; He was on the board for our home owner's association.&amp;nbsp; One week before he passed away, Keith and Claire opened their home to 300-400 people on a condo tour to benefit the Pike Place Market.&lt;/p&gt; &lt;p&gt;While Keith was certainly not my closest friend nor I his, it is so very hard to see such a vibrant, good, kind, productive, and funny man go so suddenly.&amp;nbsp; In our building, we have a community and it is hurting from the loss.&amp;nbsp; The wonderful people working in the lobby are so sad... they interacted with Keith almost every day.&amp;nbsp; Miles, one of the concierges, said "I miss Keith pacing back and forth across the lobby in his bare feet doing business over the cell phone in his loud and laughing voice".&amp;nbsp; Denny, the general manager of the hotel, said that two days before he passed away, Keith had his head stuck through the door of Denny's office making him laugh hysterically.&amp;nbsp; None of this surprises me.&lt;/p&gt; &lt;p&gt;We couldn't go to Keith's funeral as my wife, Lisa, had sinus surgery last Monday (she is doing fine).&amp;nbsp; About two hours after the surgery, she was getting ready to go home and Lisa said "I couldn't be more thrilled with the surgery... I just wish we had been able to go to the funeral!".&amp;nbsp;&amp;nbsp; The surgeon said, "What, Keith's funeral?".&amp;nbsp; We had not had any discussion of Keith with him but the doctor had served on a charity board with Keith and had known him for years.&amp;nbsp;&amp;nbsp; I've heard reports that the gathering was standing room only with over 1000 people in attendance.&amp;nbsp; It would be amazing to say how many lives Keith had touched in his 48 years but I saw his spirit and that makes it all seem so plausible.&lt;/p&gt; &lt;p&gt;What can you say when a wonderful person's life is cut short?&amp;nbsp; My dear friend, Jim Gray, frequently said, "First you live, then you die, live now!"&amp;nbsp; It is SO true!&amp;nbsp; I miss Keith...&lt;/p&gt; &lt;p&gt;- Pat &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8994235" width="1" height="1"&gt;</description></item><item><title>A Wonderful Few Days at a Wedding in Chicago</title><link>http://blogs.msdn.com/b/pathelland/archive/2008/09/01/a-wonderful-few-days-at-a-wedding-in-chicago.aspx</link><pubDate>Tue, 02 Sep 2008 04:53:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8918425</guid><dc:creator>Pat Helland</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/pathelland/rsscomments.aspx?WeblogPostID=8918425</wfw:commentRss><comments>http://blogs.msdn.com/b/pathelland/archive/2008/09/01/a-wonderful-few-days-at-a-wedding-in-chicago.aspx#comments</comments><description>&lt;p&gt;Blogging on the bus again!!&amp;nbsp; This was written on August 18th and 19th but it's taken a few weeks to get around to editing the photos...&amp;nbsp; No computer stuff in this blog, just personal fun!&lt;/p&gt; &lt;p&gt;So, on Wednesday, August 13th, Lisa and I flew to Chicago to attend a wedding of a friend from our building in Seattle.&amp;nbsp; We met John at the building in which we live.&amp;nbsp; He recently fell in love with a wonderful lady named Helen and when we were invited, we had to say yes!&amp;nbsp;&amp;nbsp; Neither of us had been to Chicago (I am NOT counting two work trips where I didn't get out of the conference rooms).&amp;nbsp;&amp;nbsp; We were very excited to go and simply had the BEST time.&lt;/p&gt; &lt;p&gt;The wedding was at the downtown Ritz-Carlton right next door to the John Hancock Tower.&amp;nbsp;&amp;nbsp; As we were leaving home and walking out the front of the building to get to the Seattle airport, we saw John and Helen loading up to go!&amp;nbsp;&amp;nbsp; After some hugs, we determined that they we on an Alaska airlines flight landing 30 minutes before our United flight and we would see them at the hotel later in the evening since they were having dinner with Helen's parents who live in Chicago.&amp;nbsp;&amp;nbsp; We landed, got to the hotel, unpacked, and had dinner in the hotel.&amp;nbsp; We stayed up late Wednesday night drinking at chatting with the almost newlyweds since we were the first to arrive into town.&lt;/p&gt; &lt;p&gt;Helen is a beautiful Chinese lady originally from Beijing and an only child.&amp;nbsp; Her father came over to become a university professor (I think in material sciences) and started a successful company... the real American dream!&amp;nbsp;&amp;nbsp; John is from Philadelphia and is the 11th of 12 children from an Irish family.&amp;nbsp;&amp;nbsp; He has worked his butt off for years in the financial industry and has held amazing positions at very influential companies having climbed up solely with his wits, hard work, and honor.&amp;nbsp; It is a joy to have them both as friends.&amp;nbsp; They waited to later in life to marry since neither of them found their true love until recently.&amp;nbsp; Just watching them together (and knowing they are our neighbors) is so cool!&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-Aug08-%20012.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-Aug08- 012" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-Aug08-%20012_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;Thursday, August 14th -- Walking, checking out the Chicago Spire, an amazing dinner, and partying with new friends!&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;We were going to be attending the wedding on Saturday but had Thursday and Friday as a mini-vacation to acquaint ourselves with downtown Chicago.&amp;nbsp;&amp;nbsp; The weather was perfect!&amp;nbsp; The town was alive and pumping.&amp;nbsp; We were in the middle of the Magnificent Mile of shopping on Michigan Avenue and we just had a blast.&amp;nbsp;&amp;nbsp; After sleeping in on Thursday, we had to try Chicago Pizza!&amp;nbsp;&amp;nbsp; We headed to Gino's East and were one of the first there for lunch (since this was our breakfast after sleeping in).&amp;nbsp; I wanted to try deep dish pizza.&amp;nbsp;&amp;nbsp; Lisa wanted a thin crust... So, not wanting either of us to be disappointed, we ordered both!&amp;nbsp;&amp;nbsp; It takes a LONG time for deep dish pizza...&amp;nbsp; When they both came, we were astonished that it is DEEP dish pizza!&amp;nbsp;&amp;nbsp; It seemed like a lasagna more than like a pizza.&amp;nbsp; I actually liked Lisa's pizza better!&amp;nbsp;&amp;nbsp; The locals told us later that it is always better the next day after sitting in the refrigerator all night.&amp;nbsp;&amp;nbsp; I'm not convinced!&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-Aug08-%20025.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-Aug08- 025" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-Aug08-%20025_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Next, since Lisa and I are fascinated by cool buildings, we went to the presentation center for the &lt;a href="http://en.wikipedia.org/wiki/Chicago_Spire"&gt;Chicago Spire&lt;/a&gt; (also &lt;a href="http://www.thechicagospire.com/"&gt;see&lt;/a&gt;).&amp;nbsp;&amp;nbsp; This condo building will be 2000 feet tall hand hold about 1100 homes in it!&amp;nbsp; It is a really novel architecture right where the Chicago River meets Lake Michigan.&amp;nbsp;&amp;nbsp; It will punch up on the Chicago Skyline about 500 feet taller than the Sears' Tower and be the tallest building in North America when it opens in 2012.&amp;nbsp; The construction is just about at ground level now.&amp;nbsp;&amp;nbsp; Each of the 1100 (or so) homes has a different floor plan since the tower gets gradually smaller as it rises and the window (and structural) placement gradually rotates (about 2.5 degrees per floor).&amp;nbsp; It was a BLAST to see the project even though we are currently quite content with our condo home in Seattle that we are planning to move into next year (and the commute to Redmond from downtown Chicago would be harder than from downtown Redmond).&amp;nbsp; Still, it was fascinating checking it out and we will certainly remember on subsequent visits when it is a world famous landmark!&lt;/p&gt; &lt;p&gt;After leaving the Chicago Spire offices, we walked to &lt;a href="http://en.wikipedia.org/wiki/Navy_Pier"&gt;Navy Pier&lt;/a&gt; which is wonderful public pier extending into Lake Michigan with amusement rides and boat tours and much more.&amp;nbsp; There were lots of people just having fun in the sun on a beautiful day.&amp;nbsp; Soon, the roar of the jet engines told us that the &lt;a href="http://en.wikipedia.org/wiki/Blue_Angels"&gt;Blue Angels&lt;/a&gt; were in town!&amp;nbsp; Now, we had just spent &lt;a href="http://blogs.msdn.com/pathelland/archive/2008/08/07/seafair-in-seattle.aspx"&gt;an afternoon watching the Blue Angels&lt;/a&gt; less than two weeks ago!&amp;nbsp; Also, Lisa had bumped into the pilots at the &lt;a href="http://www.wac.net/"&gt;Washington Athletic Club&lt;/a&gt; where we exercise.&amp;nbsp; The WAC is where they stay when in Seattle and Lisa had a wonderful conversation with these fine servicemen.&amp;nbsp; So, when we saw them flying over us again, it was just a LOT of fun to watch them practice on Thursday.&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-Aug08-%20053.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-Aug08- 053" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-Aug08-%20053_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-Aug08-%20029.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-Aug08- 029" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-Aug08-%20029_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-Aug08-%20037.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-Aug08- 037" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-Aug08-%20037_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-Aug08-%20039.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-Aug08- 039" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-Aug08-%20039_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-Aug08-%20042.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-Aug08- 042" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-Aug08-%20042_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-Aug08-%20043.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-Aug08- 043" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-Aug08-%20043_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-Aug08-%20046.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-Aug08- 046" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-Aug08-%20046_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-Aug08-%20047.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-Aug08- 047" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-Aug08-%20047_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-Aug08-%20052.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-Aug08- 052" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-Aug08-%20052_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;By 3:30PM, we needed to start our walk back to the hotel as we had 6:00PM dinner reservations at Charlie Trotter's Restaurant and needed to get all dressed up!&lt;/p&gt; &lt;p&gt;So, Lisa had heard about &lt;a href="http://www.charlietrotters.com/restaurant/"&gt;Charlie Trotter's&lt;/a&gt; and we were told it was one of the finest restaurants in the world.&amp;nbsp; Now, you never know how that should be interpreted but we have to say, it was phenomenal!&amp;nbsp; There was a seven course menu with wine pairing.&amp;nbsp; A coat and tie is required and it was my first opportunity to try out my new suit (since the old one from 18 months ago was too loose).&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20001.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 001" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20001_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;We had the most amazing food and had a wonderful time!&amp;nbsp;&amp;nbsp; They have two seatings (6PM and 9PM) and by 8:30, we were heading back to the hotel.&amp;nbsp; Unfortunately, Lisa was getting a headache so she crashed for the night.&amp;nbsp; I shot a text message to the groom but the recently arrived gang was still at dinner so I walked and explored the beautiful city in the Magnificent Mile area on an absolutely lovely evening.&amp;nbsp; The place was abuzz with action and it felt SO good to walk and burn some calories.&lt;/p&gt; &lt;p&gt;Soon, I was meeting some of John and Helen's friends and family and we were out partying!&amp;nbsp; Helen's friend Eva is currently living in Shanghai.&amp;nbsp; Most of John's friends are from Washington DC but his family (six brothers and five sisters) are from Philadelphia.&amp;nbsp; I met Mike and Karen (from Austin), Reza (from DC), TJ and Emily (from DC), and John's brother, Tony!&amp;nbsp;&amp;nbsp; John, Tony, and I closed the place down and had a blast!&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;Friday, August 15th -- Sushi Lunch, The Bus Tour, the Boat Tour, and Meeting more friends!&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;So, I slept in until 10AM (Lisa had popped to life at around 8AM but let me sleep).&amp;nbsp; We started by tracking down sushi for my lovely (sushi-loving) wife.&amp;nbsp; We had a lovely lunch and the set out to figure out what to do.&amp;nbsp; We decided to hop onto one of those double-decker busses where you can sit on top, see a LOT, and get a sunburn.&amp;nbsp; We did all these!&lt;/p&gt; &lt;p&gt;We rode around on the tour bus for two hours in the sun and saw SO many fascinating buildings, parks, the Chicago River, and more.&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20003.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 003" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20003_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20006.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 006" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20006_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20014.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 014" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20014_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt;&amp;nbsp; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20021.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 021" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20021_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt;&amp;nbsp; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20115.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 115" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20115_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt;&amp;nbsp; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20089.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 089" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20089_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20101.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 101" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20101_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20105.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 105" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20105_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20106.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 106" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20106_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt;&amp;nbsp; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20112.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 112" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20112_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20114.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 114" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20114_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt;&amp;nbsp; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20140.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 140" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20140_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt;&amp;nbsp; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20161.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 161" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20161_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20185.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 185" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20185_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20218.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 218" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20218_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20220.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 220" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20220_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20224.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 224" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20224_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;We decided to bail out near the Chicago River and walk down to Grant Park.&amp;nbsp;&amp;nbsp; This would only lose us the last mile of the tour loop and that was the &lt;a href="http://en.wikipedia.org/wiki/Magnificent_Mile"&gt;Magnificent Mile&lt;/a&gt; of shopping and we had already walked that.&amp;nbsp;&amp;nbsp; As we crossed the river, we saw a tour boat on the river and decided that would be more fun and hiked over to Navy Pier (where we already knew they originated).&amp;nbsp; So, off we were on an "Architecture Tour" from a boat up the Chicago River.&amp;nbsp;&amp;nbsp; This time, it was an hour in the sun and again, snapping photos like crazy!&amp;nbsp;&amp;nbsp; Here's some of the best!&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20226.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 226" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20226_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20234.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 234" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20234_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20242.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 242" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20242_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20245.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 245" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20245_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20246.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 246" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20246_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20247.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 247" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20247_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20251.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 251" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20251_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20255.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 255" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20255_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20256.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 256" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20256_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20261.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 261" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20261_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20266.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 266" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20266_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20277.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 277" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20277_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20279.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 279" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20279_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20282.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 282" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20282_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20284.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 284" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20284_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20288.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 288" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20288_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20290.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 290" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20290_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20291.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 291" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20291_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20317.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 317" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20317_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20292.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 292" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20292_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20293.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 293" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20293_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20310.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 310" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20310_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20311.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 311" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20311_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;We had promised to get back to the hotel by 5:30 to rendezvous with some of the folks flying in from other places.&amp;nbsp; That evening was the rehearsal dinner and, while we weren't in the wedding party, we were hanging out with some of them, their spouses, etc, while the rehearsal itself happened.&amp;nbsp; It was a BLAST.&amp;nbsp; Soon, we were running off with our new friend, Reza, to grab a steak a couple of blocks away while the wedding party did the dinner together.&amp;nbsp; We came back to the hotel later and had drinks with everyone until we bagged it at around 1AM.&amp;nbsp;&amp;nbsp; Again, an absolutely LOVELY day of adventures, partying, and nice people.&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-Aug08-%20068_1.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-Aug08- 068" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-Aug08-%20068_thumb_1.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-Aug08-%20065_1.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-Aug08- 065" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-Aug08-%20065_thumb_1.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-Aug08-%20066_1.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-Aug08- 066" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-Aug08-%20066_thumb_1.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;Saturday, August 16th -- A lovely lunch and an AMAZING Wedding!&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;So, again we slept in and rested.&amp;nbsp; We got ourselves going at around 10:30 and knew we couldn't be too adventurous because we needed to be in formal clothing and ready for the wedding by 3:30.&amp;nbsp; We decided that the Chicago River was just TOO cool and so we hiked the mile down Michigan to the River and started exploring for a restaurant along the river to sit for lunch.&amp;nbsp; It took a little while but we found a wonderful place called &lt;a href="http://www.flatwater.us/index.html"&gt;Flatwater&lt;/a&gt; and had a GREAT lunch.&amp;nbsp; Walking back, we explored the hotel lobby for the new Trump Tower along the river.&amp;nbsp; Having an OPEN hotel while &lt;u&gt;major&lt;/u&gt; construction is going on 90 stories above is really cool!&amp;nbsp; But there they are open while the building is being built!&amp;nbsp;&amp;nbsp; We walked back and checked out the &lt;a href="http://www.encyclopedia.chicagohistory.org/pages/2384.html"&gt;Fourth Presbyterian Church of Chicago&lt;/a&gt; which was only a block away from our hotel.&amp;nbsp; It is a beautiful 140 year old church!&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20331.jpg"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20322.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 322" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20322_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 331" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20331_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20324.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 324" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20324_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Here's the building with our hotel, the &lt;a href="http://en.wikipedia.org/wiki/Ritz-Carlton_Chicago_%28A_Four_Seasons_Hotel%29"&gt;Ritz-Carlton&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20338.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 338" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20338_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;And, right next door is the &lt;a href="http://en.wikipedia.org/wiki/John_Hancock_Center"&gt;John Hancock Center&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20341.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 341" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20341_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20327.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 327" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20327_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Soon, it was back to a shower and getting the fancy clothes on.&lt;/p&gt; &lt;p&gt;We showed up at around 3:30 for the 4:00PM wedding and it was gorgeous!&amp;nbsp; Our new friends were arriving and soon we saw the groom (our neighbor, John) and his six brothers.&amp;nbsp; There was a string quintet playing while everyone was seated and a trumpet player just waiting for the "Here Comes the Bride" procession... that's ALL the trumpet player did!&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20343.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 343" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20343_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20346.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 346" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20346_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20352.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 352" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20352_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20356.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 356" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20356_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;The wedding itself was short and beautiful!&amp;nbsp;&amp;nbsp; Soon, we were outside the room for appetizers and cocktails while the wedding party had jillions of photos taken and the room was reset for dinner.&amp;nbsp; It was wonderful!&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20376.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 376" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20376_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20359.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 359" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20359_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20361.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 361" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20361_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20364.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 364" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20364_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20372.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 372" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20372_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20374.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 374" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20374_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;We sat at dinner with some of John's family (a sister, nephew, niece, and nephew's girlfriend).&amp;nbsp;&amp;nbsp; Let me clarify... the nephew was 30, built like a mountain, and back from his second tour in Iraq.&amp;nbsp; They were fun!&amp;nbsp; There were also some of John's good friends from some of his jobs in the financial industry.&amp;nbsp; During the (lovely) meal, there were four musicians playing traditional Chinese music while we ate.&amp;nbsp; It was amazingly cool.&lt;/p&gt; &lt;p&gt;Then, out came the THIRD group of musicians, a 9 piece orchestra to do the dance music.&amp;nbsp; Helen has spent years doing ballet and John and Helen did the most impressive "first dance" I have ever seen.&amp;nbsp; It was elegant, graceful, and charming.&amp;nbsp; The singer from the musicians said she had seen a LOT of first dances and that was the classiest.&amp;nbsp; Then dancing began, the wedding cake was served, and more and more dancing!&amp;nbsp;&amp;nbsp; Lisa had to (temporarily) abandon her beautiful (but painful) high-heels in order to dance!&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20386.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 386" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20386_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20388.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 388" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20388_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20390.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 390" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20390_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20393.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 393" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20393_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20395.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 395" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20395_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20398.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 398" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20398_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20399.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 399" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20399_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Our new friend, Reza, caught the garter belt!&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20404.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 404" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20404_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20407.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="Chicago-080817- 407" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWonderfulFewDaysataWeddinginChicago_DADC/Chicago-080817-%20407_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;We managed to dance on and off until about 1AM.&amp;nbsp; My new suit DEFINITELY needed dry cleaning and we had a wonderful time.&amp;nbsp;&amp;nbsp; It was just one of the classiest and most fun weddings I've ever been to.&lt;/p&gt; &lt;p&gt;So, back to the room by 1AM... Packing... Too little sleep... Catching a ride to the airport by 9AM... Change planes in Denver and glad to be home!&amp;nbsp;&amp;nbsp; Happy (and tired) to be at the gym by 6AM Monday morning... Between the cruise and Chicago, I need more time at the gym!&lt;/p&gt; &lt;p&gt;A trip we won't forget!&amp;nbsp; Chicago is a great city!&lt;/p&gt; &lt;p&gt;-- Pat&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8918425" width="1" height="1"&gt;</description></item><item><title>Confidence in the Cloud</title><link>http://blogs.msdn.com/b/pathelland/archive/2008/09/01/confidence-in-the-cloud.aspx</link><pubDate>Tue, 02 Sep 2008 02:13:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8918026</guid><dc:creator>Pat Helland</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/pathelland/rsscomments.aspx?WeblogPostID=8918026</wfw:commentRss><comments>http://blogs.msdn.com/b/pathelland/archive/2008/09/01/confidence-in-the-cloud.aspx#comments</comments><description>&lt;p&gt;So, one morning a few weeks or so ago, my colleague, &lt;a href="http://www.linkedin.com/ppl/webprofile?action=vmi&amp;amp;id=4361936&amp;amp;authToken=wf0z&amp;amp;authType=name&amp;amp;trk=ppro_viewmore&amp;amp;lnk=vw_pprofile"&gt;Ruwen Hess&lt;/a&gt;,&amp;nbsp; stuck his head in my door and commented on an &lt;a href="http://www.infoworld.com/article/08/08/15/Google_Apps_admins_jittery_about_Gmail_hopeful_about_future-IDGNS_1.html"&gt;Article on Gmail and User Confidence&lt;/a&gt; he had just read.&amp;nbsp; He also pointed out a very interesting &lt;a href="http://status.aws.amazon.com/s3-20080720.html"&gt;Article on the S3 failure from July 20th&lt;/a&gt; (which I had seen before).&amp;nbsp; Now, before I start commenting on the point of this blog post, I want to say that this is NOT meant as a slam on our competitors.&amp;nbsp;&amp;nbsp; This is a complex and nascent space in which we are all learning.&amp;nbsp;&amp;nbsp; I want to complement my former company, Amazon, on the openness exhibited in their discussion of the event of July 20th.&amp;nbsp; It is a new thing for Amazon to explain when stuff happens and I think it is great for the industry and great for Amazon.&amp;nbsp; Google is just fighting the good fight to provide highly available services.&amp;nbsp; They are both fascinating companies and worthy competitors.&amp;nbsp; Still, there are some interesting aspects to this publicly available news.&lt;/p&gt; &lt;p&gt;Of course, this leads my mind down too many different paths.&amp;nbsp; This was going to be a short post but I always get carried away!&amp;nbsp; Let me cover:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Some Observations about Reliable Process Pairs,  &lt;li&gt;Less Is More,  &lt;li&gt;N-Version Programming,  &lt;li&gt;Availability Over Consistency,  &lt;li&gt;Eventual Consistency,  &lt;li&gt;Front-Ending the Cloud, and  &lt;li&gt;It's Going To Be a Fun Ride!&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;Some Observations about Reliable Process Pairs&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Let me start by discussing independence of failures (and the need to focus on it to achieve high availability).&amp;nbsp; During the 1980s, when I was developing system software at Tandem Computers, some of our important programs were &lt;a href="http://books.google.com/books?id=S_yHERPRZScC&amp;amp;pg=PA138&amp;amp;lpg=PA138&amp;amp;dq=process+pairs&amp;amp;source=web&amp;amp;ots=JJlAOXGDCg&amp;amp;sig=7U8tr7RlyqGJb6aSAMHUar95TK4&amp;amp;hl=en&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;resnum=5&amp;amp;ct=result"&gt;process pairs&lt;/a&gt;.&amp;nbsp; In this scheme, the same software ran in two different processes on different computers within the distributed system connected via messaging.&amp;nbsp; The goal was that if only one of the computers (and, hence, processes) failed, the other would "take-over" and continue offering service.&amp;nbsp; Of course, it was essential to be able to restart a backup and fill it up with sufficient state to continue the computation.&amp;nbsp; Specifically, every failure and take-over created the need to restart the other process (which used to be the primary).&amp;nbsp; Restarting implies the filling of the new backup with enough state to be ready to take-over.&lt;/p&gt; &lt;p&gt;During this time, I was privileged to be able to see a number of different implementations of process pairs within the Tandem System and, indeed, to do major development and implementation on a large process pair (in addition to a number of other pieces of software with different approaches to fault tolerance).&amp;nbsp;&amp;nbsp; As I lived and breathed the triage of product support, crashes, dump analyses, patches, and major product upgrades, it became clear to me that there was a pattern.&amp;nbsp;&amp;nbsp; Some process pairs were implemented to ship entire data structures.&amp;nbsp; Some were implemented to send very narrow and minimalist descriptions of an operational change in state (e.g. in the transaction manager: "We just advanced transaction-X to the stage of flushing the log records to disk").&amp;nbsp; In a different example, one process pair would send a message containing its entire address space of data to its partner whenever a change occurred!&amp;nbsp; Lots of lively debates raged about the best way to implement reliable process pairs.&lt;/p&gt; &lt;p&gt;I observed that the implementations which sent &lt;u&gt;&lt;em&gt;the minimum amount of data&lt;/em&gt;&lt;/u&gt; seemed to be the most resilient.&amp;nbsp; There were many crash dump analyses that showed a process running along and it would trash some data structure.&amp;nbsp; Then, a checkpoint would copy the data structure to the backup process, including its corruption.&amp;nbsp; (A checkpoint is the message used to communicate state from the primary process to the backup process in a process pair.)&amp;nbsp;&amp;nbsp;&amp;nbsp; Soon, the corruption caused the primary process (and its computer) to crash.&amp;nbsp; Now, the backup (with the corruption received from the checkpoint) takes over to do the work of the process pair.&amp;nbsp; Before long, the backup gets tangled up because of the corruption in the data structure and IT falls over, too!&amp;nbsp;&amp;nbsp; The entire fault tolerant system has succumbed to a single failure because there is insufficient isolation between the parts.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;Less Is More&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Communicating less information within a message is usually best.&amp;nbsp; If you send extra stuff, it can cause corruption!&lt;/p&gt; &lt;p&gt;The &lt;a href="http://status.aws.amazon.com/s3-20080720.html"&gt;failure of Amazon's S3 on July 20th&lt;/a&gt; is fascinating and, yet, very typical.&amp;nbsp;&amp;nbsp; S3 uses a &lt;a href="http://en.wikipedia.org/wiki/Gossip_protocol"&gt;Gossip Protocol&lt;/a&gt; to spread state around the network without any master.&amp;nbsp;&amp;nbsp; The knowledge is simply propagated to anyone that will listen and, very quickly, spreads around the network.&amp;nbsp;&amp;nbsp; Unfortunately, there was a bit of poison introduced into the system.&amp;nbsp; Now, it just so happens that this was introduced because Amazon's &lt;a href="http://en.wikipedia.org/wiki/Md5"&gt;MD5 hash protection&lt;/a&gt; of their messages did not cover some of the system status bits, but that is not my main point.&amp;nbsp;&amp;nbsp; All (non-protected) data communications will occasionally have transmission errors and, unfortunately, the stuff being gossiped by S3 was not protected.&amp;nbsp; The article simply describes it as system status state.&lt;/p&gt; &lt;p&gt;I know that in these complex distributed systems,it is essential to keep somewhat accurate track of the state of the system.&amp;nbsp; What is not clear from the Amazon S3 article from July 20th was the shape and form of the system status information and why it did not settle out automatically after the corruption.&amp;nbsp;&amp;nbsp; The article mentions that the system status state is given a higher priority and was starving out the real work as it was gossiping about the system state.&lt;/p&gt; &lt;p&gt;The main point is that when you are communicating information, it is essential to keep the information flow as sparse as possible.&lt;/p&gt; &lt;p&gt;While S3 is a brilliant system which is designed to continue functioning during a data center outage, it had a flaw (which I'm sure is now fixed) which allowed for some bad state to propagate to ALL the data centers.&amp;nbsp; To eliminate the problem, all the data centers were taken offline and then the entire system was restarted.&lt;/p&gt; &lt;p&gt;Let me reiterate my deep respect for the engineering at both Amazon and Google in addition to what I see at Microsoft.&amp;nbsp; Still, as the industry matures, we will all learn by the school of hard knocks to keep the information we spread across failure units as crisp and concise as semantically possible.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;N-Version Programming&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;I've never personally experienced it but have read about uses of &lt;a href="http://en.wikipedia.org/wiki/N-version_programming"&gt;N-Version Programming&lt;/a&gt;.&amp;nbsp;&amp;nbsp; In this scheme, specifications of a program are drawn up and presented to N different teams, each of which will produce a version of the system.&amp;nbsp; Now, if you develop 3 versions of the system, you may then implement a voting scheme in which when there are two disparate answers, you pick the one with two votes.&amp;nbsp; The concept is to reduce the probability of a software bug causing the entire system to fail.&amp;nbsp; Of course, one of the challenges in this approach is the development of comprehensive and clear specifications.&lt;/p&gt; &lt;p&gt;The reason I think of N-Version Programming is that it involves the "Less Is More" principle.&amp;nbsp; To do N-Version Programming correctly, you need to isolate your development teams and prohibit any out-of-band communication.&amp;nbsp; If the teams communicate (other than through the specifications), it increases the chances of propagating some corruption.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;Availability Over Consistency&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;I am not aware of any information from Google about the cause of their outage but, again, we as an industry are still learning how to keep ever more complex applications and services available.&amp;nbsp;&amp;nbsp; The &lt;a href="http://www.infoworld.com/article/08/08/15/Google_Apps_admins_jittery_about_Gmail_hopeful_about_future-IDGNS_1.html"&gt;article cited above&lt;/a&gt;, expresses the dismay of many users as a service they've grown to depend upon is simply not there for a while.&lt;/p&gt; &lt;p&gt;In many cases, the user would gladly take a "good enough" answer NOW rather than wait for the "correct" answer LATER.&amp;nbsp; In fact, it is MORE common to see users just want to keep going.&amp;nbsp; Right now, I am typing most of this on the bus with Windows Live Writer inserting notes to myself about the hyperlinks to fix when I am back online...&amp;nbsp; It's great to just "keep going" even with a reduced experience!&lt;/p&gt; &lt;p&gt;Amazon published a wonderful paper on&amp;nbsp; &lt;a href="http://s3.amazonaws.com/AllThingsDistributed/sosp/amazon-dynamo-sosp2007.pdf"&gt;Dynamo&lt;/a&gt; at &lt;a href="http://www.sosp2007.org/"&gt;SOSP 2007&lt;/a&gt;.&amp;nbsp; This paper provides an excellent overview of the Dynamo storage system (which I had a role in encouraging from the sidelines -- I can't take credit for it).&amp;nbsp; Dynamo is in production with at least two running services and numerous fascinating techniques employed in its implementation.&amp;nbsp; I would encourage you to read the paper.&lt;/p&gt; &lt;p&gt;The reason that I raise this here is that Dynamo provides &lt;u&gt;&lt;em&gt;availability over consistency&lt;/em&gt;&lt;/u&gt;.&amp;nbsp; In a distributed system, it has been &lt;a href="http://citeseer.ist.psu.edu/cache/papers/cs/26764/http:zSzzSztheory.lcs.mit.eduzSztdszSzpaperszSzGilbertzSzBrewer6.pdf/brewer-s-conjecture-and.pdf"&gt;proven&lt;/a&gt; that &lt;a href="http://www.cs.berkeley.edu/~brewer/cs262b-2004/PODC-keynote.pdf"&gt;Brewer's CAP Conjecture&lt;/a&gt; is true... Hence, it is now called the CAP Theory.&amp;nbsp;&amp;nbsp; The idea is that you can have only two of &lt;u&gt;&lt;strong&gt;C&lt;/strong&gt;&lt;/u&gt;onsistency, &lt;strong&gt;&lt;u&gt;A&lt;/u&gt;&lt;/strong&gt;vailability, or &lt;strong&gt;&lt;u&gt;P&lt;/u&gt;&lt;/strong&gt;artition Tolerance.&amp;nbsp;&amp;nbsp; You have have a consistent (and by this, the idea is a &lt;a href="http://en.wikipedia.org/wiki/ACID"&gt;classic transactional ACID consistency&lt;/a&gt;) and partition tolerant system but it may not be available under some partitions.&amp;nbsp; Alternatively, you can have an available system which tolerates partitions but it won't have the classic notion of consistency.&amp;nbsp; Increasingly, I see applications designed with looser notions of consistency.&amp;nbsp; Most of the time, customers really want availability at the expense of classic consistency!&amp;nbsp; New means of expressing looser consistencies are emerging to provide availability even when failures occur!&lt;/p&gt; &lt;p&gt;I learned over 20 years ago working in transactional systems to ASK a customer what their priority was when dealing with an outage.&amp;nbsp; Indeed, some customers wanted you to ensure that every transaction was correct before bringing the system online.&amp;nbsp; At first, it shocked me to learn that many, many customers wanted the system up even if the results of the work might be somewhat "less than perfect".&amp;nbsp; Indeed, I saw this in some banking systems with humongous amounts of money being pushed around.&amp;nbsp; It wasn't that they were doing anything wrong... if the system came up, most of the transfers could be accomplished and overnight interest gathered for them.&amp;nbsp; The funds involved were large enough that hundreds of bank workers would simply stay up all night and verify the accuracy of the work, cleaning up as necessary.&amp;nbsp; The timeliness mattered more than the accuracy!&lt;/p&gt; &lt;p&gt;Again, more often than not, availability matters more than strict (classic) consistency!&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;Eventual Consistency&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Also fascinating (at least to me) is the area of &lt;a href="http://www.allthingsdistributed.com/2007/12/eventually_consistent.html"&gt;eventual consistency&lt;/a&gt; (and, again, this term implies a LOOSER form of consistency than classic ACID transactions).&lt;/p&gt; &lt;p&gt;The basic idea is that it is OK to diverge opinions across replicas.&amp;nbsp; What is needed is a system that coalesces when communication is reestablished between the replicas.&amp;nbsp; I talked about this in my talk &lt;a href="http://blogs.msdn.com/pathelland/archive/2008/05/02/link-to-the-video-of-the-irresistible-forces-meet-the-movable-objects.aspx"&gt;The Irresistible Forces Meet the Movable Objects&lt;/a&gt;.&amp;nbsp;&amp;nbsp; I am bringing this up &lt;u&gt;&lt;em&gt;because&lt;/em&gt;&lt;/u&gt; (I am arguing) that people really want availability over consistency.&amp;nbsp; When divergent changes are made while disconnected, they also want the messes to clean themselves up as much as possible.&lt;/p&gt; &lt;p&gt;It is my opinion that we will be &lt;u&gt;&lt;em&gt;designing&lt;/em&gt;&lt;/u&gt; systems to support eventual consistency.&amp;nbsp; Part of this trend will be to back away from our traditional separation of storage (e.g. database) from applications.&amp;nbsp; In my opinion, we will evolve towards integrated solutions that combine the storage with the execution of the application in a way that will make it easier to &lt;u&gt;&lt;em&gt;redo the operation by the application&lt;/em&gt;&lt;/u&gt; and create eventual consistency across different executions of the app.&amp;nbsp; This is much easier to do than to cope with reorderability of write operations against a data store.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;Front-Ending the Cloud&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;So, I love and believe in &lt;a href="http://en.wikipedia.org/wiki/Cloud_computing"&gt;cloud computing&lt;/a&gt;.&amp;nbsp; I think the entire space will grow and evolve.&amp;nbsp; The cost structures for many companies will make it very cost effective to use big data centers for hosting lots of their computation.&amp;nbsp; As I look at data center cost structures, it is clear that it is going to be a competitive business with many advantages to large data center managers with large economies of scale.&amp;nbsp; In a handful of years, most companies will look to offsite providers for their reliable servers.&lt;/p&gt; &lt;p&gt;Still, I wonder if there will be a market for local front-end systems running a replica of a portion of the applications needed to keep the business going.&amp;nbsp;&amp;nbsp; Not all the computation a company performs is "mission critical".&amp;nbsp; In other words, the company can function with a subset of its computation (at least for a short while).&amp;nbsp; Will there be an emerging space of loosely-coupled eventually consistent computation run either at the local company or at a different hosting company than the main cloud-purveyor?&amp;nbsp;&amp;nbsp; If there is an outage of the cloud services, this front-end would keep the business going.&amp;nbsp; When reconnected, the results of the work would be shared and reconciled.&lt;/p&gt; &lt;p&gt;This is very much like the relationship between Outlook and Exchange.&amp;nbsp; Outlook does a LOT of its functionality while disconnected and that is of huge value.&lt;/p&gt; &lt;p&gt;This may be an interesting economic point -- combining the cost savings of the cloud with independent failures of the front-end.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;It's Going To Be a Fun Ride!&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;I am SO glad to be working in this space!&amp;nbsp; It seems to me this is a great time for distributed systems geeks!&lt;/p&gt; &lt;p&gt;- Pat&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8918026" width="1" height="1"&gt;</description></item><item><title>The Emissary Design Pattern and RIAs (Rich Internet Applications)</title><link>http://blogs.msdn.com/b/pathelland/archive/2008/08/10/the-emissary-design-pattern-and-rias-rich-internet-applications.aspx</link><pubDate>Sun, 10 Aug 2008 18:28:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8846730</guid><dc:creator>Pat Helland</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/pathelland/rsscomments.aspx?WeblogPostID=8846730</wfw:commentRss><comments>http://blogs.msdn.com/b/pathelland/archive/2008/08/10/the-emissary-design-pattern-and-rias-rich-internet-applications.aspx#comments</comments><description>&lt;P&gt;Here is a first draft of a new presentation.&amp;nbsp;&amp;nbsp; I gave it a couple of months ago just after TechEd and thought I would share it as I try to write up some of my thoughts on RIAs.&amp;nbsp; I plan to rework this a bit more and present it again at TechEd Europe.&amp;nbsp;&amp;nbsp; The talk is titled: "The Emissary Design Pattern and RIAs (Rich Internet Applications)"&lt;/P&gt;
&lt;P&gt;Abstract:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;The Emissary design pattern was first described in 1999 in the old "Fiefdoms and Emissaries" talk.&amp;nbsp; The concept of a "fiefdom" is very similar to what we today call a service in a Service Oriented Architecture.&amp;nbsp; The fiefdom is a separate trust sphere and transactional boundary.&amp;nbsp;&amp;nbsp; An emissary is a prescriptive pattern for interacting with a service (or fiefdom) which leverages reference data and a deep understanding of the service to prepare requests for service and maximize the chance those requests will comply with the requirements of the service.&amp;nbsp;&amp;nbsp; An emissary may be richly interactive and anticipate the validation requirements of the service.&lt;/P&gt;
&lt;P&gt;The emerging world of RIAs (Rich Internet Applications) is a fascinating blend of a classic smart client and a browser-based web application.&amp;nbsp;&amp;nbsp; In a RIA app, client code runs in the browser but still must comply with the browser enforced sand-boxing and not cause harm to the host client machine.&amp;nbsp; Navigation, naming, linking, and much more are being defined in a fashion drawing from both the web style and the client style.&amp;nbsp; Many of the design issues with RIAs are under discussion today as this support for these applications is emerging.&lt;/P&gt;
&lt;P&gt;This talk examines both the emissary design pattern and the nascent space of Rich Internet Applications.&amp;nbsp; It motivates how one can look to the workflow patterns contained in our parents' use of paper forms for workflow to understand the possibilities of implementing user-centric workflow as shared replicated data.&amp;nbsp; The talk concludes with some preliminary concepts of a shared and declarative definition of the "paper form" model and its constraints and how these may someday be used in the automatic generation of emissary-based RIA clients.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;More RIA stuff soon!&lt;/P&gt;
&lt;P&gt;- Pat&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8846730" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-08-84-67-30/080808a_2D00_RIA_2D00_Emissaries_2D00_Short.pptx" length="1085585" type="application/vnd.openxmlformats-officedocument.pres" /><category domain="http://blogs.msdn.com/b/pathelland/archive/tags/Architectural/">Architectural</category></item><item><title>SeaFair in Seattle!</title><link>http://blogs.msdn.com/b/pathelland/archive/2008/08/07/seafair-in-seattle.aspx</link><pubDate>Fri, 08 Aug 2008 04:05:25 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8842049</guid><dc:creator>Pat Helland</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/pathelland/rsscomments.aspx?WeblogPostID=8842049</wfw:commentRss><comments>http://blogs.msdn.com/b/pathelland/archive/2008/08/07/seafair-in-seattle.aspx#comments</comments><description>&lt;p&gt;One last personal post and then I'll get to the work stuff.&amp;nbsp;&amp;nbsp; Last Friday we got off the ship... Saturday was moving the office with Bob... Sunday we went to a SeaFair party!!!&amp;nbsp; I've lived in Seattle for 14 years and never really paid any attention to SeaFair but it was a blast!&lt;/p&gt; &lt;p&gt;So, &lt;a href="http://en.wikipedia.org/wiki/Seafair"&gt;SeaFair&lt;/a&gt; is a combination hydrofoil racing and airplane exhibition featuring the &lt;a href="http://en.wikipedia.org/wiki/Blue_Angels"&gt;Blue Angels&lt;/a&gt;.&amp;nbsp; It turns out that some friends John and Wendy have an amazing house overlooking Lake Washington right above the hydrofoil races.&amp;nbsp; We were invited to a party, the weather was awesome, and we had a blast!&amp;nbsp;&amp;nbsp; I have to share some photos and our thanks to John and Wendy for including us!!!&lt;/p&gt; &lt;p&gt;All these photos were taken from their lovely deck!&lt;/p&gt; &lt;p&gt;- Pat&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/SeaFairinSeattle_FE23/SeaFair-08%20006.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="SeaFair-08 006" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/SeaFairinSeattle_FE23/SeaFair-08%20006_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/SeaFairinSeattle_FE23/SeaFair-08%20009.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="SeaFair-08 009" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/SeaFairinSeattle_FE23/SeaFair-08%20009_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/SeaFairinSeattle_FE23/SeaFair-08%20035.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="SeaFair-08 035" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/SeaFairinSeattle_FE23/SeaFair-08%20035_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt;&amp;nbsp; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/SeaFairinSeattle_FE23/SeaFair-08%20073.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="SeaFair-08 073" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/SeaFairinSeattle_FE23/SeaFair-08%20073_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/SeaFairinSeattle_FE23/SeaFair-08%20117.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="SeaFair-08 117" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/SeaFairinSeattle_FE23/SeaFair-08%20117_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/SeaFairinSeattle_FE23/SeaFair-08%20141.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="SeaFair-08 141" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/SeaFairinSeattle_FE23/SeaFair-08%20141_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/SeaFairinSeattle_FE23/SeaFair-08%20156.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="SeaFair-08 156" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/SeaFairinSeattle_FE23/SeaFair-08%20156_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/SeaFairinSeattle_FE23/SeaFair-08%20163.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="SeaFair-08 163" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/SeaFairinSeattle_FE23/SeaFair-08%20163_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/SeaFairinSeattle_FE23/SeaFair-08%20161.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="SeaFair-08 161" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/SeaFairinSeattle_FE23/SeaFair-08%20161_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8842049" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/pathelland/archive/tags/Personal/">Personal</category></item><item><title>I Moved into My New Office in Building 35</title><link>http://blogs.msdn.com/b/pathelland/archive/2008/08/07/i-moved-into-my-new-office-in-building-35.aspx</link><pubDate>Fri, 08 Aug 2008 03:05:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8841959</guid><dc:creator>Pat Helland</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/pathelland/rsscomments.aspx?WeblogPostID=8841959</wfw:commentRss><comments>http://blogs.msdn.com/b/pathelland/archive/2008/08/07/i-moved-into-my-new-office-in-building-35.aspx#comments</comments><description>&lt;p&gt;So, as I &lt;a href="http://blogs.msdn.com/pathelland/archive/2008/07/23/transferring-to-the-sql-team.aspx"&gt;mentioned&lt;/a&gt; a few weeks ago, I am starting in the SQL team this week after the one week vacation.&amp;nbsp;&amp;nbsp; My friend, Bob, came over on Saturday with his pickup truck and we moved everything from building 42 to building 35.&amp;nbsp;&amp;nbsp; The Microsoft moving organization always gets confused when I move myself but there's no way a standard moving team can deal with my office.&amp;nbsp; They did move my phone, though...&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/IMovedintoMyNewOfficeinBuilding35_BADB/SeaFair-08%20175.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="184" alt="SeaFair-08 175" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/IMovedintoMyNewOfficeinBuilding35_BADB/SeaFair-08%20175_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/IMovedintoMyNewOfficeinBuilding35_BADB/SeaFair-08%20178.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="184" alt="SeaFair-08 178" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/IMovedintoMyNewOfficeinBuilding35_BADB/SeaFair-08%20178_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt;&amp;nbsp; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/IMovedintoMyNewOfficeinBuilding35_BADB/SeaFair-08%20179.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="184" alt="SeaFair-08 179" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/IMovedintoMyNewOfficeinBuilding35_BADB/SeaFair-08%20179_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/IMovedintoMyNewOfficeinBuilding35_BADB/SeaFair-08%20176.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="184" alt="SeaFair-08 176" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/IMovedintoMyNewOfficeinBuilding35_BADB/SeaFair-08%20176_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/IMovedintoMyNewOfficeinBuilding35_BADB/SeaFair-08%20177.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="184" alt="SeaFair-08 177" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/IMovedintoMyNewOfficeinBuilding35_BADB/SeaFair-08%20177_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;I am now moved into my new office which (this time) does not have a window... we're supposed to do an office move in a few months and I should get a real window.&amp;nbsp; In the mean time, I have a substitute window so I can still have a window office.&amp;nbsp;&amp;nbsp; Also, as evidenced by the hallway outside, my office is definitely considered to be the place where a bunch of asses hang out.&lt;/p&gt; &lt;p&gt;It's great to be relocated into the SQL team!&amp;nbsp;&amp;nbsp; It was a long (seven hour) Saturday moving stuff!&amp;nbsp;&amp;nbsp; Thanks for the help, Bob!!&lt;/p&gt; &lt;p&gt;- Pat&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/IMovedintoMyNewOfficeinBuilding35_BADB/SeaFair-08%20177.jpg"&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8841959" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/pathelland/archive/tags/Personal/">Personal</category></item><item><title>A Fun Cruise to Alaska with Friends</title><link>http://blogs.msdn.com/b/pathelland/archive/2008/08/07/a-fun-cruise-to-alaska-with-friends.aspx</link><pubDate>Thu, 07 Aug 2008 19:45:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8841314</guid><dc:creator>Pat Helland</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/pathelland/rsscomments.aspx?WeblogPostID=8841314</wfw:commentRss><comments>http://blogs.msdn.com/b/pathelland/archive/2008/08/07/a-fun-cruise-to-alaska-with-friends.aspx#comments</comments><description>&lt;p&gt;I'm starting this blog entry on the bus riding to work on Monday, Aug 4th... it's taken all the bus rides until today, Thursday, to finish.&amp;nbsp; There's NO computer stuff in this post... This is a vacation travelogue!&lt;/p&gt; &lt;p&gt;Wow!&amp;nbsp; We had a good time in spite of Lisa being seasick for 1-1/2 days and the weather in Alaska (mostly) sucking...&amp;nbsp; Still, it was FUN!&lt;/p&gt; &lt;p&gt;First of all, it was lame of me to think that I was going to exercise every day on the ship... the exercise room was small and had no water or music.&amp;nbsp;&amp;nbsp; I worked out one day and went to the buffet lines the rest of the time.&amp;nbsp;&amp;nbsp; I am back in Seattle now and working hard to get rid of the two or three pounds I packed onto my butt...&amp;nbsp; I weigh within two pounds of what I did three years ago (but more is muscle so I am in 36 inch pants for the first time since the 1960s).&amp;nbsp; Giving away clothes when you get smaller is an important trick!&amp;nbsp;&amp;nbsp; When the clothes get tight, STOP EATING SO MUCH...&amp;nbsp; My clothes are a little too tight after the cruise!&lt;/p&gt; &lt;p&gt;I did, however, succeed at my other goal of reading all 750ish pages of the last Harry Potter book.&amp;nbsp; JK Rowling is VERY creative and the book held lots of surprises!&amp;nbsp;&amp;nbsp; I have a lot of respect for her work and enjoyed it immensely.&lt;/p&gt; &lt;p&gt;So, we started off Friday by meeting up with the other two couples, Bob and Rita and Kirk and Kathy, at our condo for brunch and then we caught cabs to the cruise ship dock which is TWO MILES from our home.&amp;nbsp;&amp;nbsp; It was literally a 10 minute cab ride.&amp;nbsp;&amp;nbsp; We can see all the cruise ships, including &lt;a href="http://en.wikipedia.org/wiki/Rhapsody_of_the_Seas"&gt;Rhapsody of the Seas&lt;/a&gt; coming and going from our living room.&amp;nbsp;&amp;nbsp; There are two or three cruise ships in Seattle every Friday, Saturday, and Sunday each week from May through September.&amp;nbsp;&amp;nbsp; Frequently, I am up at 5AM (at least on Fridays) to watch them arrive.&amp;nbsp; In the evening, at around 5pm, it is normal for them to all pull out within minutes of each other.&amp;nbsp;&amp;nbsp; Most of them back out of the Port of Seattle and do a 180 degree spin right in front of our home.&amp;nbsp; I call it the cruise ship ballet!&amp;nbsp;&amp;nbsp; Here are a couple of photos of the ship we took (Rhapsody of the Seas), taken from our home as it departed the evening after we arrived back in Seattle.&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20389.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 389" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20389_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20381.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 381" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20381_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;So, Friday (July 25th) was the day to arrive and unpack.&amp;nbsp; We got on board at around 1PM and started exploring the boat with our friends.&amp;nbsp;&amp;nbsp; The luggage arrives over a few hours so you need to kill time a bit and then unpack.&amp;nbsp; So, we discovered the Windjammer Cafe.&amp;nbsp;&amp;nbsp; This is the place where there are GOBS and GOBS of mediocre food, crowds of people jostling to pack their plates, and then (at some times of day), seriously insufficient tables to sit down and eat.&amp;nbsp;&amp;nbsp; Now, here and there, you can find something really good in those buffet lines but it is VERY hard to do appropriate portion control because you think you've found the right stuff and the right amount of food but then you walk over to the next stuff and there's something else you want to slap on your plate!&amp;nbsp; Still, there is always something there and that's kinda' nice when you're locked up on the ship, you can always get something to eat.&lt;/p&gt; &lt;p&gt;Shortly before departure, we had the mandatory lifeboat drill... we all have to practice getting on our life preservers and going to our muster station where we can look at the 150 person lifeboats.&amp;nbsp;&amp;nbsp; It is a necessary hassle.&amp;nbsp; Here's my wife, Lisa, looking beautiful in her life preserver!&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20015.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 015" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20015_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Here is the view of Seattle as we were departing Seattle.&amp;nbsp; This photo includes the building with our condo.&amp;nbsp; It's the shorter one which is darker on the top half in the center of the photo.&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20023.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 023" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20023_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Next year, we're moving to a different building only one block from Pike Place Market.&amp;nbsp; Here's the view of it under construction with the yellow crane in front.&amp;nbsp; Both of us LOVE downtown living and it was pretty darned cool to only take a 10 minute cab ride to catch an Alaska cruise!&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20026.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 026" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20026_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;I mentioned the "Cruise Ship Ballet" from Seattle.&amp;nbsp; Three ships set off at basically the same time that Friday.&amp;nbsp; Here is a Celebrity ship in from of us and a Holland America ship following behind us!&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20035.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 035" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20035_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20036.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 036" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20036_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;We went to the opening show and had a great time!&amp;nbsp; Dinner was fun and we met one of the singers at the next table having dinner with her mother and aunt who were cruising that week.&amp;nbsp; This set a pattern where we made a big point of sitting in the front row every evening and cheering on the performers... it was a blast!&lt;/p&gt; &lt;p&gt;As we cruised up the Pacific on the outside of the British Columbia and Southeast Alaska islands, the weather got a bit rougher... our stateroom was quite a bit forward and Lisa got seasick.&amp;nbsp; Consequently, she stayed in the room on the second dinner (which was the first formal dinner).&amp;nbsp; So, there were only five of us at dinner that night.&amp;nbsp; Here's Bob and Rita (all dressed up)&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20042.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 042" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20042_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;and Kirk and Kathy (all dressed up)&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20041.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 041" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20041_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;and me (in a tux) posing with Kathy since Lisa was upstairs in the stateroom being miserable.&amp;nbsp; She made it clear to me that I should go to dinner since if I stuck around while she was sick, I would annoy the heck out of her and make her MORE miserable... she was right!&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20043.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 043" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20043_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;On the third day, we pulled into &lt;a href="http://en.wikipedia.org/wiki/Juneau"&gt;Juneau&lt;/a&gt; and saw that it was in a beautiful location but it was POURING rain... Other than Lisa, none of us brought rain gear.&amp;nbsp;&amp;nbsp; It turns out to get to town you need to board a bus but the line was outside in the rain.&amp;nbsp;&amp;nbsp; We waited for a while and then set out to get onto the bus.&amp;nbsp; Standing (and freezing), we decided to bag it and go back into the ship... That was NICE and WARM.&amp;nbsp; I found time to read that last Harry Potter book!&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20046.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 046" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20046_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20051.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 051" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20051_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20054.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 054" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20054_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Again, we very much enjoyed dinner and the show in the theater on the boat as we were getting underway from Juneau to Skagway.&lt;/p&gt; &lt;p&gt;The next day, we went to &lt;a href="http://en.wikipedia.org/wiki/Skagway"&gt;Skagway&lt;/a&gt;.&amp;nbsp; It is a cute little tourist town which will get between 5000 and 10,000 tourists every day of the week during the 5 month season.&amp;nbsp; We spent a couple of hours walking through the shops and exploring.&amp;nbsp;&amp;nbsp; It was a nice break getting off the ship.&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20064.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 064" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20064_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20057.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 057" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20057_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20069.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 069" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20069_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20066.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 066" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20066_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20074.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 074" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20074_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Again, we really enjoyed dinner (casual attire) and the show... it became a lovely rhythm as we met each day to spend the evening in the dining room with friends and head off to the show!&lt;/p&gt; &lt;p&gt;The next day, we got up at 6AM...&amp;nbsp; The original itinerary had us seeing the glacier in &lt;a href="http://en.wikipedia.org/wiki/Tracy%27s_Arm"&gt;Tracy Arm Fjord&lt;/a&gt;.&amp;nbsp;&amp;nbsp; The Captain announced that we would not be able to get very close (like 2 miles away) from that glacier because there were so many icebergs floating down the fjord that he would need to stay way back for safety...&amp;nbsp; Instead, he would take us down &lt;a href="http://commons.wikimedia.org/wiki/Category:Endicott_Arm"&gt;Endicott Arm Fjord&lt;/a&gt; and we would see a different glacier (Dawes Glacier) much closer up.&amp;nbsp;&amp;nbsp; To make that happen, the visit would need to be much earlier so... we all got up!&amp;nbsp; Lisa and I met up with our friends in our stateroom to hang on our balcony... I didn't see it but I understand there were hoards of guests (many in their pajamas) on the 10th deck (with no wind protection).&amp;nbsp;&amp;nbsp; We had a great view from our balcony.&amp;nbsp;&amp;nbsp; Here are shots of the approach up the fjord and of the glacier as this huge ship did a 180 degree turn only a few thousand feet away.&amp;nbsp; Our stateroom happened to be on the port side and so it had a magnificent view!&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20111.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 111" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20111_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20093.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 093" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20093_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20090.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 090" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20090_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20116.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 116" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20116_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20076.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 076" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20076_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20098.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 098" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20098_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20122.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 122" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20122_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20081.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 081" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20081_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20101.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 101" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20101_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;While in front of the glacier, the crew lowered a lifeboat so they could capture some pieces of floating ice.&amp;nbsp; It just so happened that the boat they used was directly below our balcony!&amp;nbsp;&amp;nbsp; One of the pieces of ice was later carved to become a salmon and put on display.&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20168.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 168" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20168_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt;&amp;nbsp; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20176_1.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 176" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20176_thumb_1.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20203.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 203" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20203_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20216.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 216" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20216_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;We were right behind the bridge and saw LOTS of fun stuff with the glacier...&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20177.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 177" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20177_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20178.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 178" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20178_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20179.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 179" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20179_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20183.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 183" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20183_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20204.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 204" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20204_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20208.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 208" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20208_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20234.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 234" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20234_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20219.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 219" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20219_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;So, later that day was the second formal dress night.&amp;nbsp;&amp;nbsp; Lisa loves getting dressed up and (with her help), I think I am doing OK at it!&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20253.jpg"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20237.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 237" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20237_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20240.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 240" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20240_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20243.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 243" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20243_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20250.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 250" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20250_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 253" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20253_thumb.jpg" width="244" border="0"&gt;&lt;/p&gt; &lt;p&gt;There was a very cool drum and dance act from Argentina and we had a blast with Bob and Rita at the show.&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20262.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 262" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20262_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20263.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 263" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20263_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;At the end of the evening, we found a cute folded towel puppy with Lisa's reading glasses on the bed in the stateroom.&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20275.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 275" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20275_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;The last stop on the cruise was Prince Rupert, British Columbia (necessary so that the ship makes an international stop).&amp;nbsp;&amp;nbsp; It was a pretty town but there's not much to do there...&amp;nbsp; Lisa was thrilled to find a sushi restaurant, though!&lt;/p&gt; &lt;p&gt;So, this takes us to our last cruising day home through the inside passage.&amp;nbsp; It was mostly a quiet and uneventful day (as captured in this photo):&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20283.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 283" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20283_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;We were taking the inside passage (going South or home to Seattle).&amp;nbsp; This winds its way between Vancouver Island (which is about 400 miles long) and the mainland.&amp;nbsp;&amp;nbsp; There are beautiful views and narrow passages between the various islands.&amp;nbsp; Coming home was the top line in this chart:&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20287.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 287" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20287_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20327.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 327" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20327_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20289.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 289" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20289_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20305.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 305" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20305_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20294.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 294" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20294_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20306.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 306" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20306_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20299.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 299" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20299_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20323.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 323" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20323_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20313.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 313" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20313_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;At lunchtime on that last day (Thursday), the ship was heading through a narrow passage while we were sitting down and eating.&amp;nbsp; Now, Bob and I have done quite a bit of boating in our day (especially Bob who is a licensed captain).&amp;nbsp; We were fascinated (but not worried) when the boat started listing to the starboard by what we thought was about 8 to 10 degrees.&amp;nbsp; This went on for a minute or two and LOTS of desert plates fell, carts went rolling, and people were quite surprised!&amp;nbsp; A couple of minutes later, the ship's captain announced that the ship was fine and not to be stressed.&lt;/p&gt; &lt;p&gt;Now, there is quite a difference between a roll (where the boat goes back and forth) and a list (where is stays for a while in one direction).&amp;nbsp; When the seas get rough, everything gets stowed and you may get a roll (or a pitch) motion which can involve a lot of motion.&amp;nbsp; When the seas are calm (like in the inside passage), stuff comes out from being stowed and it will fall if there's too much movement.&lt;/p&gt; &lt;p&gt;So, this was an UNUSUAL event!&amp;nbsp;&amp;nbsp; The cruise ship company doesn't like to have this happen.&amp;nbsp;&amp;nbsp; Both Bob and I could tell from the motion that we had been moving through a pass with a following current.&amp;nbsp; The islands and other geography in the inside passage are a special area.&amp;nbsp; As the tides change, you can have large bodies of water a few feet (or more) higher than what is lying on the other side of the narrow passage.&amp;nbsp; Consequently, the water squirts through one way (landing onto some calm but lower water) for a few hours and then when the tides change, it squirts through another way.&amp;nbsp;&amp;nbsp; We could feel this in the motion of the ship.&lt;/p&gt; &lt;p&gt;Now, when a 79,000 ton ship does this, normally everything is lined up, it runs through the shoot and people barely feel a thing.&amp;nbsp;&amp;nbsp; Both Bob and I (sitting at lunch) notice the slight variation and were chatting about it.&amp;nbsp; When we listed to the starboard (right), that got our attention as we could feel the rudder had gone over to make a turn to the port (left) and the following current was pushing the ship on the port side causing her to lean (or list) to the starboard side.&amp;nbsp;&amp;nbsp; This lasted only a minute or two and the ship recovered nicely.&lt;/p&gt; &lt;p&gt;Later that day, Lisa and Rita went to a Q&amp;amp;A with the captain and his senior crew.&amp;nbsp; He described that he was definitely responsible (and on the bridge) while the pilot (a fellow NOT with the cruise line but who knows the local waters) was at the helm.&amp;nbsp; As the Rhapsody of the Seas was shooting through the pass with a 5 knot following current (which is a very noticeable but reasonable current to sail through), a couple of fishing vessels cut in front of the Rhapsody of the Seas and the pilot needed to take evasive action to avoid hitting them.&amp;nbsp; That caused us to make a slightly uncomfortable maneuver.&amp;nbsp;&amp;nbsp; He claimed we listed 5 degrees (although it seemed like more to Bob and me).&amp;nbsp; Also, the captain said that was the worst unexpected listing in his 47 year career.&amp;nbsp; Anyway, for a couple of boat-geeks, it was cool!&lt;/p&gt; &lt;p&gt;Finally, on the last night, we had a Las Vegas style juggling and balancing act (Justino and Daniela) who were great!&amp;nbsp; It seems that the singers in the theater group set me up...&amp;nbsp; I could tell that Justino normally doesn't call on someone from the audience but he was clearly looking for the bald headed guy in the front row.&amp;nbsp; He came and shook hands.&amp;nbsp; Then, a few minutes later he made a comment and asked me my name (and I told him "Pat").&amp;nbsp; Again, a few minutes later, he asks me to stand up and hands me three juggling balls with the comment "Would you please hold my balls?".&amp;nbsp; Of course I said yes at which time he produced a long-haired wig for me to wear... I kept it on for the next 45 minutes since I certainly am not going to back away from a good joke (and I was VERY glad I didn't get asked to help juggle).&amp;nbsp;&amp;nbsp; When the singers came on about 15 minutes later, they were only a few feet above me and struggling VERY hard not to bust out laughing!&amp;nbsp;&amp;nbsp; It was fun!&lt;/p&gt; &lt;p&gt;Here's some pictures of me with Justino and Daniela after the show but before I returned their wig to them...&lt;/p&gt; &lt;p&gt;&amp;nbsp; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20352.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 352" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20352_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20353.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="244" alt="2008-Alaska- 353" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20353_thumb.jpg" width="184" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;And then, the last evening's dinner and a goodbye to Rocky from Beijing who brought us cocktails with a warped sense of humor ("I'm the 'Boozer', not the 'Loser'!").&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20358.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 358" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20358_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20359.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="2008-Alaska- 359" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AFunCruisetoAlaskawithFriendsanOfficeMov_7F6B/2008-Alaska-%20359_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;That night we packed and set the suitcases in the hallway.&amp;nbsp; We awoke the next morning to see the Holland America's Amsterdam backing into her berth right in front of us and then a very familiar view of the Seattle skyline.&amp;nbsp;&amp;nbsp; It was GREAT to be back home!&lt;/p&gt; &lt;p&gt;I spent the rest of Friday, August 1st, reacquainting myself with my laptop and deleting most of the 538 messages in my inbox!&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;Saturday was the office move to building 35 and the SQL team (more on that soon).&lt;/p&gt; &lt;p&gt;It was a LOT of fun to just goof around for a week!&lt;/p&gt; &lt;p&gt;- Pat&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8841314" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/pathelland/archive/tags/Personal/">Personal</category></item><item><title>Transferring to the SQL Team</title><link>http://blogs.msdn.com/b/pathelland/archive/2008/07/23/transferring-to-the-sql-team.aspx</link><pubDate>Wed, 23 Jul 2008 21:17:40 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8767483</guid><dc:creator>Pat Helland</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/pathelland/rsscomments.aspx?WeblogPostID=8767483</wfw:commentRss><comments>http://blogs.msdn.com/b/pathelland/archive/2008/07/23/transferring-to-the-sql-team.aspx#comments</comments><description>&lt;p&gt;Since I returned to Microsoft in March of 2007, I've worked in the Developer Division on a project in the area of RIAs( Rich Internet Applications).&amp;nbsp; This is a fascinating space in which lots of fun stuff is happening.&amp;nbsp; I've been privileged to work on a wonderful team developing an upcoming project in this area.&amp;nbsp;&amp;nbsp; While I have had a blast and can see the impact of my work, my real passion is scalable distributed back-end applications and data management.&amp;nbsp;&amp;nbsp; Maybe I'm in a rut, but I've worked on variations of this space since 1978 and still find it fascinating.&lt;/p&gt; &lt;p&gt;For many years, I've worked with my friends in the SQL team on a number of different projects (both directly on the projects and by coming over and offering various opinions to rile them up).&amp;nbsp; Now, it turns out there is a really special opportunity for me to join a team in SQL called SIA (Strategy, Infrastructure, and Architecture).&amp;nbsp; This spot allows me to work on the business, technology, architecture, infrastructure, and more for one of the industry's leading products.&amp;nbsp; It also allows me to participate in driving some of the new changes in scalable cloud computing (which is, of course, where I am extremely passionate).&amp;nbsp;&amp;nbsp; The leaders of the team and most of the folks working on the team are old friends that I thoroughly enjoy!&amp;nbsp;&amp;nbsp; Also, it is a natural part of the job for me to be communicating externally and, hence, you are still going to see me causing trouble at a number of Microsoft and industry conferences...&amp;nbsp; Expect to see me at TechEd EMEA for sure!&lt;/p&gt; &lt;p&gt;I am heading out on an Alaskan cruise on Friday with my wife, Lisa, and two other couples who are dear friends.&amp;nbsp; We will return on Friday, August 1st and then over the weekend my friend, Bob, and I will move &lt;a href="http://blogs.msdn.com/pathelland/archive/2007/12/24/i-got-my-christmas-tree-up-at-work.aspx"&gt;my office&lt;/a&gt; to building 35.&amp;nbsp;&amp;nbsp; Needless to say, moving the office is a project!&lt;/p&gt; &lt;p&gt;While I am not going to disclose anything about the project I've been working on for the last 15 months or so, I do have a whole bunch of thoughts on RIAs.&amp;nbsp;&amp;nbsp; I plan to drive to get this thoughts out as blog posts over the first few weeks of August but I've decide to actually leave my laptop at home and not take it on the cruise!&amp;nbsp;&amp;nbsp; It's time for me to read the last Harry Potter book...&lt;/p&gt; &lt;p&gt;I want to thank the Developer Division, my bosses, Shanku Niyogi, ScottGu, and Soma for the wonderful opportunity and blast it has been working in DevDiv.&amp;nbsp; Also, I can't forget to thank all the wonderful members of my team who will remain good friends!&lt;/p&gt; &lt;p&gt;Talk to you soon!&lt;/p&gt; &lt;p&gt;- Pat&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8767483" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/pathelland/archive/tags/Personal/">Personal</category></item><item><title>A Weekend at Foo Camp</title><link>http://blogs.msdn.com/b/pathelland/archive/2008/07/16/a-weekend-at-foo-camp.aspx</link><pubDate>Thu, 17 Jul 2008 01:29:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8740733</guid><dc:creator>Pat Helland</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/pathelland/rsscomments.aspx?WeblogPostID=8740733</wfw:commentRss><comments>http://blogs.msdn.com/b/pathelland/archive/2008/07/16/a-weekend-at-foo-camp.aspx#comments</comments><description>&lt;p&gt;Well...&amp;nbsp; I was lucky enough to get invited to &lt;a href="http://en.wikipedia.org/wiki/Foo_Camp"&gt;Foo Camp&lt;/a&gt; (which was last weekend) and I figure "What the heck!&amp;nbsp; Let's do it!".&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;Foo Camp is held at the &lt;a href="http://oreilly.com/"&gt;O'Reilly&lt;/a&gt; headquarters in Sebastopol, CA which is 1 to 2 hours (or more depending on traffic) north of San Francisco.&amp;nbsp; It is an invitation only event whose name stands for "Friends Of O'Reilly" and involves about 300 diverse and interesting individuals from different walks of the computer industry (and related industries).&amp;nbsp; Tim O'Reilly host it at their headquarters and supplies very nice buffet food, showers, rest rooms, and meeting rooms.&amp;nbsp; I was informed that the best way to enjoy the event is to camp there which means either pitching a tent on their lawn or finding an available space in a meeting room or hallway to throw a sleeping bag.&amp;nbsp; It was an option to get a hotel room in town.&amp;nbsp; Now... I haven't camped in about 20 years so this required some thinking...&amp;nbsp; &lt;/p&gt; &lt;p&gt;I concluded I had two options:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Stay in a hotel room and ensure I remained sober enough to drive at the end of the evening, OR  &lt;li&gt;Buy a tent at REI in Santa Rosa and then hit the high-end liquor store in Santa Rosa to buy enough whiskey to lubricate a serious subset of the 300 attendees.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Naturally, I chose the second option and bought six bottles (some of my favorites and others I hadn't tried).&amp;nbsp; &lt;/p&gt; &lt;p&gt;So, I flew from Seattle to SFO late Friday morning (July 11th).&amp;nbsp; After picking up a car at Avis, I hit the road north (and the traffic) at around 1:15PM.&amp;nbsp; It took until about 3:30 to get to Santa Rosa and the REI camping store.&amp;nbsp; Buying a tent was an experience, too.&amp;nbsp;&amp;nbsp; REI doesn't have any cheap tents but, boy, do they have some nice ones!&amp;nbsp; So, I ended up with a two-man tent which, in reality, was exactly the right size for me, my duffle bag, and the box of whiskey.&amp;nbsp; By the time I'd hit the REI, the liquor store, and driven all the way to Sebastopol, it was about 5:30 and things at the O'Reilly campus were really hopping.&lt;/p&gt; &lt;p&gt;The campus has three buildings and is the regular workplace for quite few people.&amp;nbsp; Naturally, some of the areas were labeled as not for the Foo Camp attendees since not everyone wants someone sleeping in their office filled with all their things.&amp;nbsp;&amp;nbsp; Lots of the space was graciously made available.&amp;nbsp;&amp;nbsp; A large circus-style tent was set up for dining and around the back of the campus were a number of tents with chairs set up for meetings.&amp;nbsp; It was really very well done.&lt;/p&gt; &lt;p&gt;So, the next job was pitching the tent (which is NOT my forte).&amp;nbsp;&amp;nbsp; The lawn had been pretty well staked out by the time I got there so I went around to the side of the dining room tent and found a spot between the big tent and the sidewalk.&amp;nbsp; This made me the closest tent to the beer and wine which really wasn't a problem for me (I brought earplugs) but the WELL lit sidewalk meant my tent was, well, WELL LIT.&amp;nbsp;&amp;nbsp; This, too, didn't phase me but obviated the need for the flashlight I'd scored at REI.&amp;nbsp; I was surprisingly successful at tent construction and soon moved into my new 54" by 80" abode.&amp;nbsp; &lt;/p&gt; &lt;p&gt;At dinner on Friday, I saw my friend &lt;a href="http://radar.oreilly.com/jesse/"&gt;Jesse Robbins&lt;/a&gt; who (I believed scored me the invitation to Foo Camp.&amp;nbsp;&amp;nbsp; I met Jesse during my tenure at Amazon and he is one of the most knowledgeable people I know about Disaster Management.&amp;nbsp; Jesse has been trained as a firefighter and is ALWAYS thinking about how can a data center and its applications survive failures.&amp;nbsp; It was good to see him!&amp;nbsp;&amp;nbsp; At dinner, I met &lt;a href="http://www.linkedin.com/in/adamjacob"&gt;Adam Jacob&lt;/a&gt; who is working with Jesse at a new gig called &lt;a href="http://www.hjksolutions.com/"&gt;HJK Solutions&lt;/a&gt; which is working to help companies develop their operations.&amp;nbsp; Cool stuff!&amp;nbsp;&amp;nbsp; I also met &lt;a href="http://radar.oreilly.com/brady/"&gt;Brady Forrest&lt;/a&gt; of O'Reilly.&amp;nbsp; I had known of Brady because of the work he has done in running various conferences.&lt;/p&gt; &lt;p&gt;So, the format for Foo Camp is pretty informal.&amp;nbsp; There is a large board set up that has columns for rooms (or tents) and rows for time slots for meetings.&amp;nbsp;&amp;nbsp; People rush over and slap up a topic that they want to present.&amp;nbsp; Partnering with people of like interest is encouraged.&amp;nbsp;&amp;nbsp; It is also encouraged to reduce your one hour time slot to 30 minutes if you think your topic is best served by a shorter period.&amp;nbsp; The entire conference is self-organized and pleasantly quirky.&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;The first evening was random discussions as people drifted in before, during, and after dinner.&amp;nbsp; There was beer and wine and lots of fun people to talk to.&amp;nbsp;&amp;nbsp; After a while, I realized I was tired and set off to find a place to brush my teeth.&amp;nbsp;&amp;nbsp; Having succeeded with that, I crawled into the sleeping bag at 11:30.&lt;/p&gt; &lt;p&gt;So, camping is (sort of) OK...&amp;nbsp; One thing I remembered from my youth but, now, vividly remember is my LEAST favorite part of camping.&amp;nbsp;&amp;nbsp; That's when you wake up in the middle of the night and REALLY have to go pee.&amp;nbsp; Now, to politely accomplish this, you have to successfully unzip the sleeping bag but the zipper always gets stuck.&amp;nbsp; Then, you have to put on enough clothes to avoid getting arrested or, worse, hit on by a Foo Camp attendee.&amp;nbsp; Don't forget your shoes as you are about to search for a Men's Room... yuck....&amp;nbsp; Finally, you have to unzip the tent flap AND the rain cover for the tent and crawl out on the lawn.&amp;nbsp;&amp;nbsp;&amp;nbsp; Hopefully, you remember the location of the facilities in your exhausted stupor.&amp;nbsp;&amp;nbsp; After finding the Men's Room and returning, you have to undo the entire process in order to get back to sleep.&amp;nbsp;&amp;nbsp; I hate this part!&lt;/p&gt; &lt;p&gt;On Saturday morning, I was pretty close to the first one up since I was seriously wanting to take a shower.&amp;nbsp; Remember, there are a couple of hundred people competing for one men's and one women's shower.&amp;nbsp; Unlike at most baseball games, the ladies have the advantage in contention for scarce resources at Foo Camp.&amp;nbsp; So, I scooted into the shower at around 6:15AM (not too bad since I crashed at 11:30).&lt;/p&gt; &lt;p&gt;The sessions started at 10AM and I went to a number of excellent ones.&amp;nbsp; Sometimes, it was hard to select between the various cool sessions.&amp;nbsp;&amp;nbsp; I remember the following ones:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;u&gt;Data center power &lt;/u&gt;-- &lt;a href="http://research.microsoft.com/~jamesrh/"&gt;James Hamilton (my friend from Microsoft)&lt;/a&gt; and &lt;a href="http://www.facebook.com/people/Jeff_Hammerbacher/4781"&gt;Jeff Hammerbacher&lt;/a&gt; who leads the Facebook data team (but will be leaving soon).&amp;nbsp; Both James and Jeff were filled with information about running large and dynamic data centers.&amp;nbsp;&amp;nbsp; The power issues for data centers have been on my mind the last few years and I find that James is a wonderful font of knowledge.&amp;nbsp;&amp;nbsp; I most definitely love that he is at Microsoft and my friend... I plan to come pepper him with additional questions in the months to com.&amp;nbsp;&amp;nbsp; Jeff, also, has tons of knowledge from supporting the data needs of Facebook as it has undergone its explosive growth.&amp;nbsp; This was a fun and invigorating discussion in which I met an attendee, &lt;a href="http://www.oreillynet.com/pub/au/2717"&gt;Roger Magoulas&lt;/a&gt; who is a research director at O'Reilly.&amp;nbsp;&amp;nbsp; I have a feeling that there will be opportunities for me to work with Roger, too. &lt;li&gt;&lt;u&gt;Parallel Programming&lt;/u&gt; -- &lt;a href="http://www.facebook.com/people/Kerry_Hammil/730841562"&gt;Kerry Hammil&lt;/a&gt; of Microsoft Research.&amp;nbsp;&amp;nbsp; We had a fun discussion of the difficulties of getting applications (and, indeed, their libraries and OSes) to be parallel.&amp;nbsp; There were about 25 great and interesting people participating in this group and, not surprisingly, I participated, too.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; This was such a lively discussion for me that it ended up in the hallway and we skipped the next session. &lt;li&gt;&lt;u&gt;Beyond Relational DB&lt;/u&gt; -- &lt;a href="http://www.facebook.com/people/Emil_Eifrem/522313107"&gt;Emil Eifrem&lt;/a&gt; (of &lt;a href="http://www.neotechnology.com/"&gt;NeoTechnology&lt;/a&gt;) and &lt;a href="http://jon.es/terry.html"&gt;Terry Jones&lt;/a&gt; (of &lt;a href="http://www.fluidinfo.com/"&gt;Fluid Technology&lt;/a&gt;) -- These were really two different folks with two different reasons for wanting to build a datastore that is different than relational.&amp;nbsp;&amp;nbsp; For NeoTechnology, it was about making an optimized graph representation of data.&amp;nbsp; By custom designing for a graphs, they can do specialized queries quite fast.&amp;nbsp; For Fluid Technology, they are allowing data to be represented in a fashion where annotations (or additional attributes if you will) can be stored by any observer of the data.&amp;nbsp; Basically, if you can look at an entity, you can add an attribute which is then stored in YOUR store with your privileges.&amp;nbsp; Filtering of the entities can be done based on whatever attributes you can see (ones you've stored or others you can see).&amp;nbsp; Both systems are interesting.&amp;nbsp; I had a number of discussions during this session (and afterwards).&amp;nbsp; During this, I met &lt;a href="http://en.wikipedia.org/wiki/Esther_Dyson"&gt;Esther Dyson&lt;/a&gt; (who is an investor in Fluid Technologies and quite a fascinating person).&amp;nbsp; I also met &lt;a href="http://jeffjonas.typepad.com/about.html"&gt;Jeff Jonas&lt;/a&gt; (who I very much enjoyed, too).&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Next, came dinner... Actually, what happened was Esther, Jeff, and I slipped away to the big dinner tent and Esther spent some time online showing us a demo of a startup she is on the board for called &lt;a href="https://www.23andme.com/"&gt;23andMe&lt;/a&gt;.&amp;nbsp; This is a fascinating company which makes its money by allowing you to pay them for a genetic analysis.&amp;nbsp; This analysis can yield information about how closely your genes are like those of your family.&amp;nbsp; Esther had a large number of family members whose genes were processed so they could be compared to each other.&amp;nbsp; We spent some time looking at the variance and similarity of siblings, aunts, parents, half-siblings, and more.&amp;nbsp;&amp;nbsp; It was very interesting.&amp;nbsp; This then led to a discussion of the implications of certain markers that are related to different disorders.&amp;nbsp; What do the genes mean?&amp;nbsp; When should lay people gain access to information about their genetics?&amp;nbsp; How can it be presented to people so they understand (and do not react improperly) what a certain pattern of genes will mean for them?&amp;nbsp; Apparently, some states (I think California but may be wrong) are demanding that genetic information only be made available to someone via their doctor. What are the tradeoffs associated with that?&lt;/p&gt; &lt;p&gt;Continuing over dinner, I got a chance to hear more of Jeff Jonas's work at Systems Research and Development (SRD) which was acquired by IBM in January 2005.&amp;nbsp;&amp;nbsp; Jeff's interest is in processing VAST quantities of information to see surprising correlations.&amp;nbsp;&amp;nbsp; He applied this technology to help flesh out folks that were trying to cheat the casinos in Las Vegas (which is where he lives).&amp;nbsp; Later, it was tapped by the folks at Homeland Security to find patterns associated with folks trying to do acts of terrorism.&amp;nbsp; Jeff is very interesting and I hope to get the chance to work with him more.&lt;/p&gt; &lt;p&gt;So, after dinner at about 8:30, I figured it was time to break out the six bottles of whiskey (two scotches and four bourbons).&amp;nbsp;&amp;nbsp; There was a fire pit and that seemed like a great place to set up.&amp;nbsp; The beer that the nice O'Reilly folks had supplied was brought over and soon we had a party going.&amp;nbsp;&amp;nbsp; One at a time, three other whiskeys were produced by other volunteers.&amp;nbsp;&amp;nbsp; A few hours later, I noticed some Gin and Tonic had been added.&amp;nbsp;&amp;nbsp; Since there were about 300 people, this was not an overwhelming amount of trouble.&amp;nbsp; Also, a walk around the campus revealed many different people involved in different passions.&amp;nbsp; There was one group in a meeting room with about 8 different musical instruments just making wonderful sounds.&amp;nbsp; Others had people doing puzzles (I think my friend &lt;a href="http://en.wikipedia.org/wiki/Pavel_Curtis"&gt;Pavel Curtis&lt;/a&gt; was one of the ring-leaders in that effort).&amp;nbsp; Others were playing various games and I did notice some hula hoops in play.&amp;nbsp;&amp;nbsp; Someone had set up a croquet mallet, a ramp, and a rack to break old china... this makes a MARVELOUS sound whose effect is enhanced by whiskey.&amp;nbsp;&amp;nbsp; The following photo was taken on my friend Jesse Robbins camera by another attendee.&amp;nbsp; You can see James Hamilton, me, and Jesse by the fire.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWeekendatFooCamp_7D6C/JesseRobbins_PatHelland_James_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="429" alt="JesseRobbins_PatHelland_James" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/AWeekendatFooCamp_7D6C/JesseRobbins_PatHelland_James_thumb.jpg" width="644" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Check out &lt;a href="http://perspectives.mvdirona.com/2008/07/14/FooCamp2008.aspx"&gt;James' blog&lt;/a&gt; for his perspective of the event.&amp;nbsp; (Picture stolen from James' blog and, in turn, from Jesse's Flickr site).&lt;/p&gt; &lt;p&gt;So, I partied until about 2AM.&amp;nbsp; I remember long and interesting discussions with &lt;a href="http://www.macfound.org/site/c.lkLXJ8MQKrH/b.930993/k.CCB7/Mark_D_Fitzsimmons.htm"&gt;Mark Fitzsimmons&lt;/a&gt; and then later on getting to know some of the Microsoft Research folks better including &lt;a href="http://research.microsoft.com/~lilich/"&gt;Lili Cheng&lt;/a&gt;, &lt;a href="http://research.microsoft.com/aboutmsr/presskit/jchayes/default.aspx"&gt;Jennifer Chayes&lt;/a&gt;, &lt;a href="http://research.microsoft.com/aboutmsr/presskit/borgs/default.aspx"&gt;Christian Borgs&lt;/a&gt;, and &lt;a href="http://en.wikipedia.org/wiki/Linda_Stone"&gt;Linda Stone&lt;/a&gt; (now ex-MSFT).&amp;nbsp;&amp;nbsp; Just an amazing group of people that I would love to get to know even better!&lt;/p&gt; &lt;p&gt;Then, it was back to the JOYS of the tent and the middle of the night zipper-fight.&amp;nbsp;&amp;nbsp; I managed to sleep until 8:30.&lt;/p&gt; &lt;p&gt;The next morning, it was waiting in line to shower and then I had to pack up all the stuff!&amp;nbsp;&amp;nbsp; I got all done except the sleeping bag and tent when I went off to see a talk by Terry Jones on the calculations to track the changes in Flu virus genetics and the challenges of creating an effective vaccine.&amp;nbsp; Esther Dyson (who is both funding Terry's company and working on the board of the genetic company 23andMe) was there for the discussion.&amp;nbsp;&amp;nbsp; It was (and is) fascinating the extent to which data analysis of LOTS of information is having a profound impact on something as surprising as the design (and prediction) of the contents of the annual flu vaccine so as to create immunity to infection for what the scientists THINK (and hope) is going to be the dominant mutation of the flu virus.&amp;nbsp; It was VERY interesting and Terry's knowledge was very impressive.&lt;/p&gt; &lt;p&gt;So, that morning, Esther realized I was heading to SFO asked me to give her a ride.&amp;nbsp; What a treat to chat with here for a few hours!&amp;nbsp;&amp;nbsp; I scrambled to pack up the tent and give it away to a nice&amp;nbsp; couple that are Foo Camp regulars... they keep a stash of supplies for later Foo Camps.&amp;nbsp;&amp;nbsp; I asked them NOT to keep it for me.&amp;nbsp;&amp;nbsp; Having discerned that there is at least one taxi in Sebastopol, if I get invited back, I will exercise a THIRD option:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.&amp;nbsp; Hit the high-end liquor store for whiskey, cause trouble on the second evening, call a taxi, and stay in a local...&amp;nbsp; I think I'm spoiled!&lt;/p&gt; &lt;p&gt;Esther and I had a lovely chat and covered our respective backgrounds and passions (she is into space flight amongst other things).&amp;nbsp; Quite a lady and quite an enjoyable drive to SFO.&amp;nbsp; I dropped Esther off, returned the rental car, and managed to get an earlier flight home that I had reserved (which was GREAT since I needed the sleep and was happy to see my wife, Lisa!).&lt;/p&gt; &lt;p&gt;I hope I get the privilege to attend this eclectic and fun event again (but without the tent).&lt;/p&gt; &lt;p&gt;- Pat&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Foo Camp was fun!&amp;nbsp;&amp;nbsp; Thanks to Tim O'Reilly for having me!&lt;/p&gt; &lt;p&gt;- Pat&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8740733" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/pathelland/archive/tags/Personal/">Personal</category></item><item><title>Controllers and Doers</title><link>http://blogs.msdn.com/b/pathelland/archive/2008/07/06/controllers-and-doers.aspx</link><pubDate>Sun, 06 Jul 2008 22:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8697944</guid><dc:creator>Pat Helland</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/pathelland/rsscomments.aspx?WeblogPostID=8697944</wfw:commentRss><comments>http://blogs.msdn.com/b/pathelland/archive/2008/07/06/controllers-and-doers.aspx#comments</comments><description>&lt;P&gt;First of all, I've put off writing this for a while since I wanted a term for "controllers" that does not feel pejorative.&amp;nbsp;&amp;nbsp; I really mean this characteristic in a healthy and natural fashion!&lt;/P&gt;
&lt;P&gt;So, it's my belief that the people working in IT fall into two broad categories (with&amp;nbsp;occasional cross-over and hybrids).&amp;nbsp;&amp;nbsp; Folks generally are either:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Controllers&lt;/U&gt;&lt;/STRONG&gt; -- These people struggle every day with the overwhelming number of applications, data sets, schemas, projects, and the chaotic interaction between them.&amp;nbsp; They strive to bring order to the chaos and rationalize how all this crap can work together.&amp;nbsp; They are fervently backing the enterprise-wide schema rationalization and struggling to get the architecture team to be successful in its attempt to unify many different aspects of the application install base.&amp;nbsp; Part of this effort is to unify the logging, monitoring, and management of all the applications within the enterprise.&amp;nbsp; As a first step in that, they support the ongoing project to create an accurate inventory of the various applications within the enterprise.&amp;nbsp;&amp;nbsp; It is always a work in progress!&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Doers&lt;/U&gt;&lt;/STRONG&gt; -- These folks see an important business imperative that requires application support.&amp;nbsp; They WANT to work within the framework advocated by the Controllers but it seems very challenging to meet their business constraints while dealing with all the overhead (and apparent confusion) of doing things compliant with the Controllers' constraints.&amp;nbsp; Sometimes, they comply.&amp;nbsp; Other times, they say "Screw It" and just do their application changes the way they want to do them.&lt;/P&gt;
&lt;P&gt;So, this dichotomy seems stable just like the American Two-Party System of Politics seems to be stable.&amp;nbsp; The Democrats and Republicans always seem to squabble and that clarifies the argument.&amp;nbsp; Over time, the center viewpoint migrates (and American political views are surprisingly homogeneous -- just ask any non-American).&amp;nbsp; The existence of the debate (and the tension it causes) drives the system towards a new balance over time.&amp;nbsp; Similarly, the Controllers and the Doers move the center of gravity for the IT organization -- in both its centralized capacity and its per-department capacity.&amp;nbsp; The proclivity of the Controllers adds some small sense of consistency (which is of tremendous value) while the business demands of the Doers keeps a spark under the IT organization's butt.&lt;/P&gt;
&lt;P&gt;Some observations:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;When I was a kid, the Controllers had great big mainframes and multi-year waiting lists for application development.&amp;nbsp;&amp;nbsp; The Doers bought mini-computers using their departmental budget and really annoyed the Controllers.&lt;/LI&gt;
&lt;LI&gt;Later, the Controllers were using minicomputers (usually running Unix) and the Doers were building PC applications!&amp;nbsp;&amp;nbsp; Some of these were even built in Excel and met the business needs just fine (even if the data wasn't properly "Controlled" which did pose challenges).&lt;/LI&gt;
&lt;LI&gt;Now, the PC is "The Man" and has moved into the mainstream of the world of the Controller.&amp;nbsp;&amp;nbsp; The Doers are using lots of different tools including mash-ups!&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;So, when I look around Microsoft and other vendors, I always ask myself&amp;nbsp; "Is this product for the Controllers or for the Doers?"&amp;nbsp; Different divisions and groups within the various vendors build stuff targeting the two constituencies.&amp;nbsp;&amp;nbsp; Neither is wrong and neither is right.&amp;nbsp;&amp;nbsp; The tension and the balance seems to be stable while the manifestations of each groups efforts evolves forward relentlessly.&amp;nbsp;&amp;nbsp; What a hoot!&lt;/P&gt;
&lt;P&gt;- Pat&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8697944" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/pathelland/archive/tags/Architectural/">Architectural</category></item><item><title>Link to the Video of the "Irresistible Forces Meet the Movable Objects"</title><link>http://blogs.msdn.com/b/pathelland/archive/2008/05/02/link-to-the-video-of-the-irresistible-forces-meet-the-movable-objects.aspx</link><pubDate>Sat, 03 May 2008 03:07:56 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8452683</guid><dc:creator>Pat Helland</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/pathelland/rsscomments.aspx?WeblogPostID=8452683</wfw:commentRss><comments>http://blogs.msdn.com/b/pathelland/archive/2008/05/02/link-to-the-video-of-the-irresistible-forces-meet-the-movable-objects.aspx#comments</comments><description>&lt;p&gt;A while back, the fine folks at TechEd EMEA sent me a link to the video of me presenting last November...&amp;nbsp; I screwed up and didn't blog this.&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;The powerpoints are at &lt;a href="http://blogs.msdn.com/pathelland/archive/2007/11/25/the-irresistible-forces-meet-the-movable-objects-closing-general-session-at-teched-emea-in-barcelona.aspx"&gt;Blog of the Powerpoint of Irresistible Forces&lt;/a&gt; and the PDF version of the powerpoints are at &lt;a href="http://blogs.msdn.com/pathelland/archive/2008/01/11/pdf-version-of-the-slides-for-the-irresistible-forces-meet-the-movable-objects.aspx"&gt;Blog of the PDFized version of Irresistible Forces&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;To run the video, click on the talk title below.&lt;/p&gt; &lt;p&gt;- Pat&lt;/p&gt; &lt;p&gt;&lt;b&gt;&lt;/b&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;b&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/LinktotheVideooftheIrresistibleForcesMee_F06D/clip_image001_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="200" alt="clip_image001" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/LinktotheVideooftheIrresistibleForcesMee_F06D/clip_image001_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/LinktotheVideooftheIrresistibleForcesMee_F06D/clip_image002_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="196" alt="clip_image002" src="http://blogs.msdn.com/blogfiles/pathelland/WindowsLiveWriter/LinktotheVideooftheIrresistibleForcesMee_F06D/clip_image002_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt;&lt;/b&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.microsoft.com/emea/msdn/spotlight/sessionh.aspx?videoid=706&amp;amp;PUID=000340018322B084"&gt;&lt;b&gt;The Irresistible Forces Meet the Moveable Objects&lt;/b&gt;&lt;/a&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8452683" width="1" height="1"&gt;</description></item><item><title>Knowledge and Wisdom -- A Tribute to Jim Gray</title><link>http://blogs.msdn.com/b/pathelland/archive/2008/04/25/knowledge-and-wisdom-a-tribute-to-jim-gray.aspx</link><pubDate>Sat, 26 Apr 2008 03:48:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8425177</guid><dc:creator>Pat Helland</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/pathelland/rsscomments.aspx?WeblogPostID=8425177</wfw:commentRss><comments>http://blogs.msdn.com/b/pathelland/archive/2008/04/25/knowledge-and-wisdom-a-tribute-to-jim-gray.aspx#comments</comments><description>&lt;P&gt;I've been busy with a number of things; one of them is helping to prepare for the official Tribute to Jim Gray.&amp;nbsp;&amp;nbsp; There will&amp;nbsp;be an all day gathering at UC Berkeley on May 31st (see &lt;A class="" title=here href="http://www.eecs.berkeley.edu/IPRO/JimGrayTribute/" mce_href="http://www.eecs.berkeley.edu/IPRO/JimGrayTribute/"&gt;here&lt;/A&gt;).&amp;nbsp; This will include a general session (in which I am honored to have a small presentation) and a technical session covering many of the aspects of Jim's technical contributions to the industry.&amp;nbsp; There's still time for you to attend if you can make it... please sign up!&lt;/P&gt;
&lt;P&gt;As a part of the tribute, it was decided that a special edition of the &lt;A class="" title="SIGMOD Record" href="http://portal.acm.org/browse_dl.cfm?linked=1&amp;amp;part=newsletter&amp;amp;idx=J689&amp;amp;coll=portal&amp;amp;dl=ACM&amp;amp;CFID=1259964&amp;amp;CFTOKEN=27569200" mce_href="http://portal.acm.org/browse_dl.cfm?linked=1&amp;amp;part=newsletter&amp;amp;idx=J689&amp;amp;coll=portal&amp;amp;dl=ACM&amp;amp;CFID=1259964&amp;amp;CFTOKEN=27569200"&gt;SIGMOD Record&lt;/A&gt;&amp;nbsp;would be published with papers matching the presentations done on May 31st.&amp;nbsp; I helped wrangle all the papers together working with the presenters so this could come together.&lt;/P&gt;
&lt;P&gt;So, I asked to present about Jim as a Mentor in Industry and that led me to write down my thoughts in a two page paper to be included in the special edition of the Record.&amp;nbsp; I wanted to share that with you.&amp;nbsp;&amp;nbsp; It it titled: "Knowledge and Wisdom" and the abstract (and pdf) are below.&amp;nbsp;&amp;nbsp; I miss my friend...&lt;/P&gt;
&lt;P&gt;-- Pat&lt;/P&gt;
&lt;P&gt;&lt;U&gt;Knowledge and Wisdom&lt;/U&gt; - by Pat Helland&lt;/P&gt;
&lt;P&gt;Jim Gray was my mentor and friend for almost 25 years.&amp;nbsp; Even before we met, he was changing my life through his writings.&amp;nbsp; Jim continually and patiently nudged me to strive for more, accomplish more, and to pass these gifts on to others.&amp;nbsp; He embodied those attributes that I most want to emulate.&lt;/P&gt;
&lt;P&gt;Jim influenced those around him both by sharing in his immense knowledge and by listening and guiding.&amp;nbsp; Even more, he created a community that fostered growth and sharing across competitive boundaries with a clear ethical compass.&amp;nbsp; This paper summarizes my experiences with Jim's approach to nuturing and mentoring.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8425177" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-08-42-51-77/Pats_2D00_Writeup_2D00_Tribute_2D00_080422a.pdf" length="136387" type="application/pdf" /></item></channel></rss>