Updated my blogs look a bit…

So I spent some time this weekend tweaking my blogs look and feel. Saturday afternoon I just got a burr up my butt and decided to do something about it.

I ran into an article that had some useful pointers:
http://www.useit.com/alertbox/weblogs.html

I took some of his advice and made the following changes:

  • Added a profile
  • Moved my contact info and email signing certificate to the header
  • Optimized the viewing space for 1024×768

I went so far as to include links to translate my postings to Spanish, German, French, Portuguese, Japanese, Chinese, and Arabic.

I’ve contacted the Feedburner crew about fixing the link text for the actual links within the RSS feed itself. For some reason the encoding’s get borked.

Hopefully the translations Google does for me won’t offend anybody. 🙂

Well catch ya all later…

—– Rom

Previous articles:
Blog Moved

BOINC Q&A — 13/10/06

Advanced Memory Management, what is the idea/aim behind that?

Well that is a good question, the advanced memory management is more about setting boundary conditions on how much BOINC and related processes are allowed to use.

We still get a few reports of BOINC causing systems to become unresponsive or sluggish. Most of the investigations we have done revealed a machine that was paging a lot during the times BOINC was running. Paging is the process the OS uses to free up less frequently used memory to make room for active tasks by writing those pages of memory to disk. Each page of memory is roughly 4KB in size on a x86 processor.

So lets say you are running a machine with 512MB’s of memory. Windows XP uses roughly 128MB of that on boot-up and will allow parts of itself to be paged out to disk. The last round of virus scanners I looked at want around 100MB of memory, the little system tray icons in the lower right part of your screen generally take about 5MB a piece, with the notable exception of the various IM clients which have bloated out to 20-60MB a piece. Any additional programs running on your machine such as a web browser or email client can take anywhere from 20MB up to 100MB.

When the OS comes under memory pressure it starts looking for chunks of memory that haven’t been touched in awhile and writes them out to disk and then loads something into that chunk of memory that is more relevant.

So let us say that you are attached to R@H and you walk away from your computer for an hour or so, during that time R@H has used over 256MBs of memory continuously for at least 30 minutes and the OS has had to page a lot of stuff to make room for it, including itself. You start menu has to be reread from disk or whichever application you happen to be using before you left. All of that paging takes a few moments and makes your computer feel really really slow.

With the introduction of this feature we hope we can finally close one of the last remaining loopholes to user responsiveness.

Right now we have the following two settings planned:

  1. Percentage of memory use while user is active.
  2. Percentage of memory use while user is idle.

What should happen is that BOINC will detect how much memory is installed on the machine, and every 10 seconds or so looks at how much memory a science application is using. If a science application exceeds the total allotment BOINC will shut it down and look for another application to schedule.

I’m really looking forward to this feature since my 2GB machine uses about 1.2GB of memory without BOINC even running and I have four processors to feed. Up until the middle of last year I only had 1GB in my machine and if I had BOINC running it was pretty painful when BOINC rescheduled all the science applications on the machine while I was working.

Scheduler Improvents (already implemented?) how do these help ?

As far as I know John Mcleod has finished the work on the new scheduler and work-fetch policy. The new system should reduce the number of wasted cycles lost between the last checkpoint for an application and when it needed to quite due to a reschedule to honor resource shares.

John is really the wizard in this area.

How are any other improvement going to improve us? and the projects?

I believe the two major work items over the next year will probably be the inclusion of the projects to be able to use torrents in their file download process and the ability for projects to be able to send out optimized science applications for each processor type and possibly GPU enabled applications.

Is there anybody working on boinczilla? Bug reports are raising and nobody sort it out :/

My bad, I’ll see what I can do about that this weekend.

Why not run the benchmark at higher priority, so each system produces a constant value, rather than the haphazard, particular as occurring only every 5 days?

The idea behind running the benchmarks at the same priority level as the science applications is to get a rough idea how how many cycles the science applications will get. If you run the benchmarks at a normal thread priority it won’t be that much more consistent, and if you run them at the highest thread priority a user mode application can have you’ll get numbers that are not very realistic for a science application running as an idle process.

The systems are benchmarked every 5 days or so to handle changes to the environment, such as a more resource intensive virus scanner or any content indexing systems that might have been installed.

When are we going to see the first alpha/beta with the BSG?

Hopefully next week.

With regard to the idea of switching tasks at a checkpoint, what happens (as in, are there any checks etc) when an application gets “stuck” and doesn’t make any progress? This also applies to a similar situation with current apps, where they get stuck and the clint tries and tries to get it done by the aproching deadline, but obviously never will. This pushes the client into NNW and EDF. Will BOINC abandon the unit if no progress is made, or the deadline is met?

To be honest, I don’t know. I’ll have to bug John and David about that.

Is there any possibilty of releasing 5.6.4 or 5.6.5 as alternate versions?

I don’t intend to put them on the download page. But if you feel comfortable with the quality of the client that you feel you can recommend people to use it, then go ahead and give them the link. I think we were far enough along in the testing process to know it isn’t going to cause any major problems and might have only a few small bugs left before it was ready to be released.

The reason for not adding it to the download page is then people would receive a message in the message long requesting they upgrade to it. If all goes according to plan we’ll be able to release 5.8 in a few weeks, and it would be a bad experience to bug people about upgrading twice in one month.

I suspect that if somebody was experiencing a bug that is fixed in 5.6 they would be happy to start using it now and not be so annoyed when they see the upgrade notice for 5.8.

Is there any chance of a purge function being implemented?

I haven’t heard any talk of one. I’ll bring it up with David, it sounds like something a project might want.

Hot topic: Why is the hourly benchmark value between Linux and Windows different, or it’s claimed. When done with stock BOINC 5.4.9 e.g. on Windows it kicks out 8.1 per hour, when same done under Linux, it kicks out 5.0. The WU’s are processed at equal speed i.e. a job on Wondows taking 2 CPU hours would take near equal time on Linux.

It has been my experience that the Microsoft compiler has been better at optimization than the GCC compiler. I’m sure I’ll get flamed by the OSS crowd but most of the projects are experiencing the same result.

I should point out that the optimizers have been able to equal things out by a lot of trial and error by turning off and on the various optimization switches for GCC.

If the optimizers want to submit a patch that contains different non-CPU specific optimizations I’m sure we could use them.

To submit questions for next week just click on the comments link below and submit your question.

Thanks in advance.

—– Rom

IT Employees and Multiple Monitors

Are you more productive with multiple monitors?

I personally, am more productive with multiple monitors, I have 3 17″ LCD displays. My roommates have three displays a piece.

Microsoft Research has been looking into this for awhile, and now a french researcher states roughly the same thing about larger monitors.

I’m not sure I would ever want to go back to a single monitor for a desktop rig again.

On my left display I have Outlook and my IM clients, my center display is for whatever I’m working on at the moment, and my right display is for my web browser and online books.

It is nice to be able to glance and see if there is an email I really need to deal with without having to change the focus of the application I’m working on.

—– Rom

References:

Robert Scoble
Toward Characterizing the Productivity Benefits of Very Large Displays
Could a 30-in. monitor help you do your job faster?

Web Server Overload

Sorry about the erratic web server behavior today.

Most of my 24/7 computerized services all run off of one machine. The machine runs Windows XP Media Center 2005 and has Virtual Machines for my email and web services. Since it is my everything computer I normally don’t pay attention with what I do with it, but today I started a video conversion job today which took 12 hours or more. A few hours ago I noticed that the web server started to reject people with a web server busy message.

The disk queue length grew large enough that all the services running on the machine started having problems.

In the future if I start another video encoding job I’ll be sure to adjust the process priority such that I won’t have to worry about it again.

—– Rom

Microsoft Windows XP and Hibernation Failure

So today I discovered why my notebook was failing to hibernate when I closed the lid on Windows XP, thanks to Scott Hanselman.

Scott’s article can be found here.

The bug affects all computers that had more than 1GB of RAM. Microsoft finally released a hotfix to the problem here http://support.microsoft.com/?kbid=909095

Why did Microsoft wait so long to release this to the public? It appears they had this available for awhile, but you had to call PSS to get it.

—– Rom

BOINC 5.6 Release Canceled

Recently it was announced the 5.6 BOINC has been canceled to concentrate on the 5.8 code (as 5.7 for the time being)
Why is this and why can you not release 5.6 as is now?

The BSG (BOINC Simple GUI) is nearing completion and the 5.6 release was nearing completion but wasn’t done baking yet.

After looking over the schedules it became pretty clear that managing two different test efforts was going to create a lot of confusion and management hassles.

We believe we have stabilized most, if not all of the 5.6 features, and the remaining testing work will be focused on the BSG and improved memory management support. We believe we are a few weeks out from having a stable BSG build ready for the public, so instead of asking the community at large to do two back-to-back upgrades within a month, we decided to bag 5.6 and focus on 5.8.

I personally believe this is for the best.

If the tech savvy people want to checkout 5.6 then by all means go ahead and play around with it. We won’t be releasing any bug fix releases for that version of the client though.

—– Rom

BOINC Q&A — 10/06/06

I was wondering if you could shed some light on DNS caching, and why the BOINC client apparently keeps records for days, which would seem to ignore the TTLs associated with the records? (the recent DNS changes for Leiden would indicate this; requiring a client restart)

Actually libCurl handles all the DNS stuff. We just pass the server name to libCurl and it handles all the OS details. I took a quick peek at the libCurl source and it looks like they have an internal DNS cache. It also appears that they have a way to expire the DNS cache entries. It isn’t clear to me at the moment if we are supposed to call an API to expire DNS cache entries or if that is handled automatically as part of the easy API set.

I’ll look into it a bit more to see if I can figure it out.

To submit questions for next week just click on the comments link below and submit your question.

Thanks in advance.

—– Rom

Windows Vista RC1 and the Portege M400

So on my vacation in Switzerland my notebook had this annoying problem where it would fail to hibernate when I closed the lib with the Toshiba Portege M400 Windows XP install. Let me tell you, it is annoying to have a notebook fail to hibernate and drains two batteries because it cannot it cannot hibernate. I have both the built-in battery and the add-on slice battery.

The notebook appeared to get stuck in a loop where it would suspend and then when it had been inactive for a period of time it would attempt to hibernate, fail to do so with some sort of System API failure system tray balloon, and then suspend after a period of time. Rinse and Repeat. Uninstalling Toshiba’s power management toolset didn’t fix the hibernation problem, so I suspect it is another device driver that was causing me grief.

Anyway, when I returned home I had received an email from Microsoft informing me they had released Windows Vista RC1 for beta testing, So I repartitioned the HD of the notebook and installed Vista RC1 and I am impressed. My only complaint so far is that I still haven’t gotten BitLocker working, I keep receiving an error stating that the BIOS wasn’t able to pass along information to the MBR and I did upgrade the BIOS to 1.70. Oh well.

Toshiba published a set of Vista drivers for the M400 here:
Microsoft Windows Vista Drivers for the M400

I have only experienced the BSOD two times in a week, both times happened shortly after I installed the fingerprint reader drivers. I uninstalled the fingerprint reader drivers and haven’t experienced a BSOD since.

The touchpad driver package really isn’t Vista friendly, they add startup references to the registry and Windows Defender complains every time you reboot the box asking if it is okay to start them up again. Either Microsoft needs to add them to the approved list, since I couldn’t find a way to do it myself, or the ALPS touchpad people just need to add themselves via the startup group instead of the registry. The good news is that the touchpad works without the touchpad driver package so you can skip it if you want too.

Intel finally got around to getting video drivers for the M400 put into Windows so Aero Glass is supported the very first time you boot up. Hurray.

If you use the tablet features on the M400 you’ll need to install the XP version of the rotation utility found here:
Toshiba Rotation Utility for Windows XP

All in all, I’m a pretty happy camper right now. To top it all of, hibernation works as intended.

—– Rom

Previous Articles:
Toshiba Portege M400, Windows Vista, and BOINC