Disclaimer

The content of this blog is my personal opinion only. Although I am an employee - currently of Nvidia, in the past of other companies such as Iagination Technologies, MIPS, Intellectual Ventures, Intel, AMD, Motorola, and Gould - I reveal this only so that the reader may account for any possible bias I may have towards my employer's products. The statements I make here in no way represent my employer's position, nor am I authorized to speak on behalf of my employer. In fact, this posting may not even represent my personal opinion, since occasionally I play devil's advocate.

See http://docs.google.com/View?id=dcxddbtr_23cg5thdfj for photo credits.

Friday, August 08, 2008

More slowness at startup

Today is not really a fair example: I was starting up today from shutdown and power down, i.e. I was doing a cold boot, because I had been running various tools, installing patches, etc. all night long. (I may record notes about how long *that* took; suffice it to say that my computer was useless 12noon yesterday to 6am today, and the job is still not done.)

But, although it may not be comparable to earlier logs of such slowness, it is fair to say that it is typical: I do such a cold boot every week or so, on bad days two or three times in a day.

I cam in late because I was installing virus scanner patches at hope - "High priority security updates" that I was warned could not be interrupted.

Times off my cell phone:

10:11 cold boot starts

10:13 logged in to windows (that wasn't so bad - in fact, that was faster than standby often is)

10:15 desktop is visible

10:16 screen resize to fit docking station

10:18 Outlook starts

10:20 Outlook meeting notifications visible - however, they do not immediately respon when I hit the click button

10:22 Outlook still not responding to attempts to dismiss meetings or read email

... Have to run to a meeting.

BOTTOM LINE: more than 11 minutes wasted, and never got to the point where I could actually use my computer.

Thursday, August 07, 2008

Thinking about "Slowness at Startup"

I am recording these episodes of "Slowness at Startup" mainly to record hard data as to how real this problem is.

Partly because one day I was talking with Linus - at the approximately once a year dinner David Kanter arranges for Portland area folk - and I said, in passng "I hate opening my laptop, it always takes 5 minutes to come out of standby". Linus looked at me witheringly, partly with the "You stupid fool, you shouldn't be running Windows" attitude he always wears, but also disbelievingly because he said that "even Windows" came back from standby quicker than this.

Partly because I work with people who claim that they are responsible for Windows coming out of standby in 30 seconds or less, 15 seconds, etc. - and who say that they are going to get it to just a few seconds.

There is a major mismatch between what these guys claim, and what I experience.


I suspect that a lot of the mismatch lies in how you measure time to "Get out of standby".

I think that many of them measure it as "time to see the screen redrawn". Whereas I measure it as "time to actually being able to use my computer to get work done." For example "time for me to read the first email in my Outlook Inbox", which is fairly unambiguous, although it does depend on Outlook's state when I went into standby.

"Time to read Outlook email" is my main metric, although I have others, such as "Time to being able to use a web browser to do a Google search". Or "Time to my screen being resized to take advantage of the two monitors I have when docked, or to fot onto my laptop screen when undocked". (This can be critical, because it is pretty close to impossible to work when you have a large screen displayed on a small monitor, but, unfortunately, often the applications come up quickly but the screen resizing (Thinkpad Presentation Director) takes a lot longer. Not to mention that resizing my screen often takes 2-3 minutes in and of itself.

It has been a truism that one should design systems to get the screen drawn quickly, even though the application is not yet ready to do so. I am not so sure that this is a good idea any more - I find it quite irritating that a window is up, doing nothing, while the application is ever so slowly coming back to life. I find it hard to tell the difference between an app that is coming back slowly, and one that is dead. I probably waste a lot of time killing such apps, and restarting.

I think that it might be better user interface design to make it explicit what is happening to app.

Instead of

(0) Window manager draws a frame, but the window contents is blank
(delay of a few minutes)
(1) Application receives a redraw event, redraws the window contents, but isn't ready to respond to keyclicks
(delay of a few minutes)
(2) Application is finally responsive

with no visual difference between (1) and (2), except maybe for the hourglass cursor, which isn't reliably displayed, how about:

(0) Window manager draws a frame.
Window manager redraws the window contents from backing store.
Window manager greys or shades the window, to indicate that the app is not ready yet
(1) OS doesn't even allow the application to do anything until its working set is loaded
(delay of a few minutes)
(2) Application working set (from before the standby) is loaded, app can be expected to be responsive.

This gets you to the place where you can see the window contents quickly, quicker than Windows does now. You can flip through apps, or, if you are like me and often have your calendar up, look at an old display of your calendar, which may have the info you need.

But it delays making the application appear to be ready to talk to you, until it truly is. Thus diminishing that frustrating "I don't know if the application is ready or not" delay that trakes 5 or more minutes on my current system.

For extra credit, ungrey buttons as the application is ready to deal with them. For example, ungrey the close window / kill application button as soon as possible, but only ungrey resize when thre application is ready.

---

I'm not going to say "It's not the slowness, it's the user interface that makes the slowness more frustrating". Because the slowness is a problem.

But the user interface is particularly annoying, and exacerbates the slowness.

More slowness at startup

Today was not all that bad - only 5 minutes until I could do something, although I had to leave to go to a meeting before everything was up.

8:44 start from standby

8:47 Outlook screen is redrawn,
With an email that I was composing before I left at the top.
Cannot type at this email, or send.
Can't read Outlook email yet.
Outlook reminders pop up.
Clicking on Outlook reminders to dismiss them - nothing happens.

8:48 switch to Internet Explorer window. Click to close.
Count 30 seconds while waiting for it to close, but still doesn't close.
Switch to another window.

NOTE: the window manager (Windows Explorer?) is alowing me to switch windows.
It redraws the frame quickly, but redrawing the contents of the frame,
which seems to be up to the app, is slow, doesn't happen for > 1 minute

8:49 The email that was on my screen at startup finally gets sent
(or, at least, it responds to mny pressing the send button)

8:50 Acknowledging (dismissing, snoozing) Outlook reminders
takes more than 30 seconds

8:50 The Internet explorer window that I clicked to close at 8:48 finally closes.

8:51 Outlook starts recognizing keystrokes

8:52 I still haven't been able to switch to see any of the email in my Outlook Inbox.

... at this point I have to go to a meeting. When I get back at 10:10, performance is much better.

Wednesday, August 06, 2008

More startup slowness

This morning:

9:10 start from standby
9:12 mouse movement and clicks start working.
9:13 display gets resized
9:15 resize done
(yes: resizing on my ThinkPad takes at least 1 minutes, circa 2)
9:16 Outlook is now visible, although it is not responding to clicks.
Apparently it is archiving email
9:17 Today's calendar is visible
9:20 Internet Explorer windows still framed, but blank inside the frame
9:21 I have finally been able to read my first email on Outlook.
However, disposing of it and moving on the the next email still takes a very
long time.
9:23 I regret making the mistake of clicking on a link in a piece of Outlook email.
Now both Outlook and Internet Explorer are hung.
9:33 Finally, Internet Explorer display the link that I clicked on 10 minutes ago.

Bottom line:
7 minutes to where I can look at my calendar
11 minutes to where I could read my first email.
23 minutes to where I can actually process email that involves web.links

More slowness at startup

Yesterday, Tuesday:

8:28 start from Standby
8:30 Outlook visible, but blocked - not accepting input, etc.
8:35 able to change Windows in Outlook, can see calendar, but can't do email yet
8:38 Outlook says it is archiving folders
8:39 still getting hourglass
8:42 able to read email

Bottom line: 14 minutes from start, to reading email.

Monday, August 04, 2008

Slow Monday Morning

I complain constantly and profusely about how slow the computer is that IT forces me to use.

(I don't complain so much about my personal computers, which are faster to begin with, and less weighed down by IT software.)

This morning is a particularly bad example:

8:32 - start trying to use computer.

But this is a particularly bad slow day: (a) I reinstalled IT's BESclient, so as to allow me to try to upgrade some software, installing the missing Microsoft Equation Editor; and (b) when I went to bed last night at 1am I started up IT's backup tool, Connected TLM, which was still running.

Although I hit the "cancel" button on the backup in progress, after 8 minutes it had not even accepted the keypress so I went further:

8:40 - requested a "Restart" of the OS

circa 8:45 - the actual reboot started, after stopping all pending processes

8:53 - the reboot had progressed to the point where I could see the digital clock on the status bar

8:55 - my screen was resized by the reboot, to reflect my docking station configuration

8:56 - Outlook started

9:00 - I can finally see my Outlook calendar!!!

9:04 - I can finally see the first piece of email in my Outlook Inbox.

One way of looking at this is that it took 32 minutes from the time I decided to start using my computer, to the time I could do anything with it.

Friday, August 01, 2008

Slow laptop

I just submitted this problem report to IT's ServiceDesk web application. Not once, but three times, because of problems with the problem reporting system. Thank goodness I had cut and paste my problem report to a file. The problem reporting system has so many problems itself.

This is just bitching. But, it has happened before that somebody outside my company has seen such a post, and solved my problem, when internal IT is of no help.

===

My laptop is slow. This is true in general, but especially in one specific circumstance: starting up after it has been in standby for an extended period of time, e.g. overnight.

This sort of problem seems to be shared by many people, but it seems to be especially bad for me. This can be indicated anecdotally: I often pair program with people, and we have to wait while my laptop powers up. They turn to me, and say things like "Wow, your laptop is slow." Then they suggest that the problem may be that I have too little DRAM, or too slow a processor, or ... But we have never found a configuration option that we can tune that improves things significantly.

At the moment, the leading candidates, suggested by "expert" PC performance tuners (people whose job it is to make PCs run faster) are:

a) that I have too little DRAM. Although I have 1GB of DRAM, it has been suggested that I request an upgrade to 1.5 or 2GB, because I use my laptop more extensively than most people, running visual studio for large compiles, etc.
I would like to officially request such a memory upgrade.

b) that my disks are too slow. Some folks have suggested that I request a disk upgrade from 5400 to 7200 rpm. Another person, the most expert, has suggested that the problem may be that my disk has a lot of bad blocks. Certainly, during these slow periods, the disk is cranking, audibly constantly seeking - a characterostic of bad block remapping.

I would like to officially request that somebody in IT provide me with PC diagnostic software that can query the disk controller, and see how often such bad block remappings are being done. Note that this is controller level software; OS level software reports "bad blocks", but most physical bad block remappings are hidden by the disk controller hardware. If you, whoever is in IT reading this, do not understand what I just said, please escalate to someone who does.

And, yes, by the way: I have repeatedly run IT diagnostics, and have not found the problem.

Let me provide some data. In the last few days, I have recorded the time I started my computer, and the time at which I could use Outlook to read email. These sample times are:

8:39 - 8:46 - 9 minutes
8:46 - 8:55 - 9 minutes
8:37 - 8:50 - 13 minutes
8:04 - 8:11 - 7 minutes
9:06 - 9:20 - 14 minutes
8:05 - 8:17 - 12 minutes

Such delays do not just occur in the morning after being idle overnight. They sometimes occur during the day, e.g. when I have an hour between meetings. 12 minutes of startup time is a significant fraction of an hour, and makes it very difficult to get things done.

Moreover, getting from start to Outlook is not the whole story. The computer often remains slow for 5-10 more minutes, with the disk cranking away. I have used "start to Outlook" as a measure because it is an objective measure, but it is an understimate of the period of slowness.

The disk is, as I have mentioned, cranking away madly during the period of slowness. It is not always possible to run Task Manager to see what is going on (e.g. Task manager sometimes takes sevceral minutes to start), but when I have been able to I have often observed virus scanning in progress. Similarly, I have also often observed IT tools such as BESclient. In fact, BESclient was so often associated with delays of much worse duraytion - 15-30 minutes - that I completely disabled it (as reported in earlier servicedesk requests). I am reluctant, however, to disable virus scanning, because of IT chargeback policies.

I suspect that the problem may be caused by virus scanning or other periodic tasks all starting up after a period of idleness; possibly related to invalidation or timeout of in-DRAM caches of file blocks.

The paranoid part of me fears that my laptop may be controlled by malware, or possibly by company installed spyware. But, that's paranoid.

---

To be honest, I do not expect IT to do anything useful, to hekp me, with this problem report.

I am making this problem report mainly so that nobody in IT can say that I have not reported the problem. I have repeatedly reported the problem over the past year or so, but could not find it in the problem database, probably because of changes in the problem reporting system.

As usual, there is no problem reporting category that this seems to fall under. So I choose something as close as possible: Computing/Notebook/Docking Station.

---

I am reluctant to spend many hours on the phone or in chat sessions with IT HelpDesk personnel trying to fix this. I have wasted many hours in such conversations in the past, usually to no avail. (Although I must admit that the last time I interacted with the IT ServiceDesk, they actually solved my problem quickly and competently - kudos on that.)

I am completely willing to leave my laptop with IT service people, so that they can try to reproduce and solve this performance problem themselves. However, I would need a loaner PC, ideally with an image made of my current disk, so that I can continue to work.

Actually, that would be a good test: image copy my disk, and install the new disk in a new loaner PC, and see if the slowness continues. If not, it suggests a problem with the old isk, such as bad block remappings. If it were possible to try the extra DRAM, even if only temporarily in a loaner PC...

---

I typed this in twice, but the ServiceDesk web application lost what I had typed: so now I have placed the problem report in an attached file. Please read it.

Also, the service desk web application refuses to accept such detailed problem reports.

Problem report about slow laptop

Here is a problem report I just submitted to company IT. Not once, but three times, because of problems with their problem reporting tool. Thank goodness I had cut and paste my problem report to a file. The problem reporting system is so unreliable.

This is just bitching. But there's a chance some web.lurker outside my company may be able to help solve my problem.

===

My laptop is slow. This is true in general, but especially in one specific circumstance: starting up after it has been in standby for an extended period of time, e.g. overnight.

This sort of problem seems to be shared by many people, but it seems to be especially bad for me. This can be indicated anecdotally: I often pair program with people, and we have to wait while my laptop powers up. They turn to me, and say things like "Wow, your laptop is slow." Then they suggest that the problem may be that I have too little DRAM, or too slow a processor, or ... But we have never found a configuration option that we can tune that improves things significantly.

At the moment, the leading candidates, suggested by "expert" PC performance tuners (people at my employer whose job it is to make PCs run faster) are:

a) that I have too little DRAM. Although I have 1GB of DRAM, it has been suggested that I request an upgrade to 1.5 or 2GB, because I use my laptop more extensively than most people, running visual studio for large compiles, etc.
I would like to officially request such a memory upgrade.

b) that my disks are too slow. Some folks have suggested that I request a disk upgrade from 5400 to 7200 rpm. Another person, the most expert, has suggested that the problem may be that my disk has a lot of bad blocks. Certainly, during these slow periods, the disk is cranking, audibly constantly seeking - a characterostic of bad block remapping.

I would like to officially request that somebody in IT provide me with PC diagnostic software that can query the disk controller, and see how often such bad block remappings are being done. Note that this is controller level software; OS level software reports "bad blocks", but most physical bad block remappings are hidden by the disk controller hardware. If you, whoever is in IT reading this, do not understand what I just said, please escalate to someone who does.

And, yes, by the way: I have repeatedly run IT diagnostics, and have not found the problem.

Let me provide some data. In the last few days, I have recorded the time I started my computer, and the time at which I could use Outlook to read email. These sample times are:

8:39 - 8:46 - 9 minutes

8:46 - 8:55 - 9 minutes

8:37 - 8:50 - 13 minutes

8:04 - 8:11 - 7 minutes

9:06 - 9:20 - 14 minutes

8:05 - 8:17 - 12 minutes

Such delays do not just occur in the morning after being idle overnight. They sometimes occur during the day, e.g. when I have an hour between meetings. 12 minutes of startup time is a significant fraction of an hour, and makes it very difficult to get things done.

Moreover, getting from start to Outlook is not the whole story. The computer often remains slow for 5-10 more minutes, with the disk cranking away. I have used "start to Outlook" as a measure because it is an objective measure, but it is an understimate of the period of slowness.

The disk is, as I have mentioned, cranking away madly during the period of slowness. It is not always possible to run Task Manager to see what is going on (e.g. Task manager sometimes takes sevceral minutes to start), but when I have been able to I have often observed virus scanning in progress. Similarly, I have also often observed IT tools such as BESclient. In fact, BESclient was so often associated with delays of much worse duration - 15-30 minutes - that I completely disabled it (as reported in earlier servicedesk requests). I am reluctant, however, to disable virus scanning, because of IT chargeback policies.

I suspect that the problem may be caused by virus scanning or other periodic tasks all starting up after a period of idleness; possibly related to invalidation or timeout of in-DRAM caches of file blocks.

The paranoid part of me fears that my laptop may be controlled by malware, or possibly by company installed spyware. But, that's paranoid.

---

To be honest, I do not expect IT to do anything useful, to hekp me, with this problem report.

I am making this problem report mainly so that nobody in IT can say that I have not reported the problem. I have repeatedly reported the problem over the past year or so, but could not find it in the problem database, probably because of changes in the problem reporting system.

As usual, there is no problem reporting category that this seems to fall under. So I choose something as close as possible: Computing/Notebook/Docking Station.

---

I am reluctant to spend many hours on the phone or in chat sessions with IT HelpDesk personnel trying to fix this. I have wasted many hours in such conversations in the past, usually to no avail. (Although I must admit that the last time I interacted with the IT ServiceDesk, they actually solved my problem quickly and competently - kudos on that.)

I am completely willing to leave my laptop with IT service people, so that they can try to reproduce and solve this performance problem themselves. However, I would need a loaner PC, ideally with an image made of my current disk, so that I can continue to work.

Actually, that would be a good test: image copy my disk, and install the new disk in a new loaner PC, and see if the slowness continues. If not, it suggests a problem with the old disk, such as bad block remappings. If it were possible to try the extra DRAM, even if only temporarily in a loaner PC...

---

I typed this in twice, but the ServiceDesk web application lost what I had typed: so now I have placed the problem report in an attached file. Please read it.

Also, the service desk web application refuses to accept such detailed problem reports.