Core i7 Build (geeky) February 4, 2009
Posted by gordonwatts in computers.4 comments
I like building my own computers. I’ve been doing it for years. There is something very satisfying about putting together a computer who has its components “lovingly” chosen, seeing it boot. And then playing with the low level parameters to try to get every last bit of performance out of it.
I gave up about three years ago – it takes too much time. If you buy from Dell or HP then you know that all the bits will work together well – that they have supplied (hopefully) debugged drivers. If you build it yourself you have to find the proper drivers. Sometimes there is a funny interaction between two components and the system isn’t stable – though individually each works just fine. This can cost hours. And if something breaks down the line – well, there is no warrantee on the whole system so you are left spending time debugging. The downside of purchasing from Dell or HP is that you get the cheapest possible components. And the system has decent performance, but it won’t be great.
Intel has released a new and very cool CPU – the Core i7. The base chip is 4 CPU’s, and it is so new that it is quite expensive: 300 bucks for the the cheap version of the chip. But it is fast. About 20% better for the same clock speed (wow!). And it has four cores. And they have re-introduced hyperthreading. And it has simply awesome inter-core bandwidth (check out this ars-technica article for details). And it does the same job for less power as well. In case you think I’m off the wall, here is an outtake from the ars’ article:
When I set out to write this article, I had three areas I wanted to explore: HT performance, performance scaling in Nehalem vs. the QX9650, and the performance difference, if any, between 32-bit and 64-bit mode. Having done so, I could almost write the shortest conclusion on record: Nehalem is great, Hyper-Threading = generally awesome, and 64-bit > 32-bit mode.
I decided it was time to reward myself for making it through teaching last quarter.
Check out the bottom of the cpu:
More pictures are available in the usual spot should you want to check out some geek pr0n (J-mo even managed to make an appearance).
The builds these days aren’t as fun as they used to be: everything is keyed (for example, notice the half-moon notches in the CPU). It is almost impossible to insert anything the wrong way. Or if you buy the wrong component it just won’t fit. The power supply cables are keyed as well – so you can’t actually put the 12V CPU supply into the PCI-E socket on your high power video card.
But that doesn’t mean that it didn’t provide me with some entertainment. After I first assembled it and powered it up it did something I’ve never seen any system do. The mother board powered up, fans spun up, and then about 4 seconds later everything shut down. About 5 seconds later the process repeated itself. It would keep doing that until I pulled the plug out of the wall. I swapped everything! Nothing worked. So I finally decided it was the CPU – that was the only thing I couldn’t replace locally for a test. At the time no one really knew what was going on either. So I sent it back. It was going to take a week before a new CPU was returned.
And during that week comments started to arrive at newegg. The memory isn’t compatible! I had three sticks of memory and I didn’t think all three could be bad – so I didn’t think to try something new. Sure enough, when the new CPU arrived it failed exactly the same way. A quick trip to Fry’s to get some cheap memory – and up the machine comes! Ah, the price of the bleeding edge. This system is expensive enough (just a hair under 1000 bucks) that few people are building it right now.
But as of this last Friday it is running, with 64 bit Windows 7 powering it. Of course, on Saturday I got on a plane to come to Switzerland for a workshop so I can’t really play with it. I came “this close” to canceling my trip. No over clocking yet – and I’d like to also figure out how to measure its power usage – tweaking now isn’t only about performance, after all.
If you have the time to do a custom build – I definitely recommend it. To help you out in situations like this it is key to find a store (like Fry’s and Newegg) that have liberal return policies incase you accidentally buy incompatible memory.
P.S. How do you know when you paid too much for a power supply? When it comes in a felt bag!!!
The Start Of The Internet December 24, 2008
Posted by gordonwatts in computers.2 comments
While waiting for the Tevatron to come back, I stumbled across this article on the web with the following quote:
The Internet’s been around in some form for decades. It wasn’t until the mid-1980s, though, that the Web as we know it started coming together — and those precious dot-com domains started getting snatched up.
Hmm, that is funny, because I thought the web didn’t start up until the early 1990’s. Indeed:
On August 6, 1991, he posted a short summary of the World Wide Web project on the alt.hypertext newsgroup.[7] This date also marked the debut of the Web as a publicly available service on the Internet.
I keep forgetting that the “tubes” are so much older than the web itself. For example, TCP/IP – which is the protocol that all web servers communicate by – was very close to its present form in late 1978 (and declared the official standard for the then-existing government funded networks in 1983).
If you want to talk domain names, like bbn.com, you also need to talk about the DNS system – the system that translates the number addresses the computer on the internet works with to the names that we humans like to work with. That was invented in 1983, shortly after TCP/IP started to be deployed.
Looking at the list of domain names and when they were registered from that first article that started me wandering down this path:
1. symbolics.com: March 15, 1985
2. bbn.com: April 24, 1985
3. think.com: May 24, 1985
BBN was one of the companies that did one of the first implementations of TCP/IP.
I tried to figure out when www.cern.ch and www.fnal.gov, and SLAC were registered, but failed (the various whois that I have access to were all returning null results).
At any rate… this is how I have fun at 6am… waiting for beam… [Written last night}
P.S. Check out this techno remix of Steven’s talking about the tubes. Also, check out a implementation of TCP/IP using carrier pidgins (for urban areas only): perhaps this is part of the reason that TCP/IP has remained basically unchanged from the days of 2 computers in the late ‘70’s till now, with millions of them?
I’m An Unsafe Coder November 29, 2008
Posted by gordonwatts in computers.6 comments
I’m finishing up a string of three owl shifts here at DZERO. One o the things I’m trying to accomplish is some minor improvements to the AI system that monitors DZERO’s data acquisition. Its job is to look for problems, and if it recognizes one, it attempts to fix it or, at the very least, tell us humans on shift how to fix it. I suppose it is more of an expert system than AI.
The last time this code underwent any real work was… well, years ago. The dark ages, actually. The code is cross-platform. Though it runs on Linux systems, I did most of the development work on a Windows system. For these minor upgrades I’m also building it on a Windows system.
The problem is the development tools from Microsoft. As you might guess, since I last built this thing they have done more than evolved! The biggest change, of course, is Microsoft got religion about security. This is even baked into their development tools. So when I build the AI system now I get 100’s of warnings of unsafe coding practices. I’d say 90% of them are great fodder for a buffer overrun exploit – a type of programming exploit that has caused millions of computers to be owned!
Of course, I don’t care. The AI system operates behind a firewall. Even though I know everything there is to know about this system (well, mostly…) there is no way for me to get at it when I’m offsite unless I am fully authenticated and using secure communication protocols. So, this is mostly a pain in the butt for me.
Well… not exactly.
Looking at a few of these closely I see that in many cases I am building strings dynamically and then copying them into fixed length buffers. The string building is dynamic, and I never check to make sure the length of the string is less than the buffer it is being copied into. Now, this can’t be that the dynamic string is longer than the buffer often: this AI program typically runs for weeks at a time. But… you know… now that I think about it and look back at the log files… every now and then it just stops. I’ve never been able to track down why. I wonder if it is something like this?
I guess these things are not only security problems (which I don’t care about) but perhaps are also bugs (which I do care about). Oh well, I guess I’m going to have to fix all of them. Darn.
Heart Transplant For Computer November 1, 2008
Posted by gordonwatts in computers.6 comments
My home computer now has an external artificial heart.
On Tuesday I decided to shut down my home computer. I’m not sure why I decided to do that – I almost never do. I think on average I probably reboot it about once a month because of security updates or similar. It probably gets shut down on average once every several months. I left it off overnight. I have to say – it was nice and quiet in the living room: no fan noise, no disk noise.
The problem is it stayed too quiet a little too long. When I hit the “power” button on the 2.5 year old Dell XPS/200 machine the power light briefly flickered yellow… and that was it. A quick browse on the web indicated that was a bad power supply or a bad mother board. Scary! I really didn’t want to replace this computer yet!! A paper click quickly confirmed that at least the originally supplied Dell power supply was not functioning correctly.
Paula is away, so I’m a single parent this week. It wasn’t until this afternoon I was able to get away from work to pick up a new power supply. Without a computer I did something I’d not done in a long long time: read a book! And I remembered why I don’t read books anymore: I was up till 4am finishing it.
Fortunately, the new power supply fixed this. The original Dell power supply is a non-standard size (small case). The result is this thing has an external artificial heart. You’ll note in the picture it is resting comfortably on a baby receiving blanket. I am very impressed with the way Dell put together this machine – everything fits together just-so. However, I’ve had two disk drives go bad and now a power supply in 2.5 years. That isn’t such a good track record – I’m starting to suspect the box is not cooled well enough! Who knows how long before the motherboard goes!
Nice way to spend Friday night; could hear everyone enjoying Halloween at the bars outside…
How Times Change August 26, 2008
Posted by gordonwatts in ATLAS, computers.add a comment
I was looking at some predictions for the size of the Trigger Processing farm for ATLAS. This farm is basically racks and racks of computers that will decide, in real time, if the data should be kept or discarded as it rolls off the ATLAS detector.
Back in 2003 (see powerpoint slides, page 23, for example) we were predicting that the computer industry would be making 8 GHz processors by now.
Of course, due to power and heat problems, we are now sitting around 3 GHz, but with many cores.
Ahhh.. the good old days!
Working Together, Apart, on a Paper August 4, 2008
Posted by gordonwatts in ATLAS, computers, physics life.4 comments
A bunch of us are trying to finish up a paper and get it past internal referees in ATLAS. Time scales are extremely short. In order to make sure we beat a deadline we have had to respond to comments from the referees on extremely short timescales (like a day or two). I am located in Marseille, and my student is located at CERN, in Geneva. It really isn’t possible for either one of us to answer the questions and update the paper on our own.
We’ve hardly used email for this process. Two tools we’ve used rather intensely: IM and cvs and LaTeX. IM is exactly what it sounds like – instant messaging. I’m using Pidgin and I think my student, who is on a Mac, is using AOL’s IM client. cvs is a source control system. We have all of the papers’ files hosted by the central cvs system, along with a local copy on each of our machines. When we want to update a file, we edit it, and once we are satisfied, we up load it to the central cvs system, and then the other person downloads the updated file. TeX is a typesetting tool designed for the sciences. It is quite old and while many people swear by it, I don’t think so much of it in today’s modern world of WYSIWYG editors. The central system keeps track of all the changes we make. Finally, we posted the questions from the referees on a twiki. A twiki is basically the same software that is used by Wikipedia – it allows you to edit a web page on the web. As we moved along the document we would update the response to the referees. Occasionally the issue was too complex for IM and we’d resort to Skype.
This worked very well. There were a few places it could have been better. For example, when working on the wording there would often be fights… errr, discussions… between me and my student over wording. So we’d end up putting the paragraph in IM and sending it back and forth. It would have been very cool if I could have just typed something in my editor and he could have seen the update in context where he was working. The other thing that would have been nice was if we didn’t have to worry about which file we were modifying. Because of the way cvs works, if two people modify the same file at the same time, there is a chance that it won’t be able to resolve the conflicting edits. The result is it is often simpler to just communicate which file is being edited and the other person stays out. I have to say that I don’t care much for the editing experience on the twiki. There is a WSIWIG web editor, but it just feels very awkward. It would be cool if I could suck the page into Word, modify it, and then spit it back out again.
The other thing that would have been nice is if Pidgin didn’t keep crashing. And also it would have been nice if we could have sent files or pictures back and forth. For whatever reason this did not work with my students AOL client.
Other novel ways to solve this set of problems?
What Tools Do You Use? July 10, 2008
Posted by gordonwatts in computers, physics life.7 comments
I’ve previously written about using IM to get your work done. How about a more general question – what else do you use?
Particle physics is known for rolling its own tools. We have grown up with this approach because forever it was the case that what we wanted wasn’t there. But it isn’t clear that is the case so much any more.
So — I’m curious — what online productivity tools do you use? Are there new ones out there that you think will help? Especially if you are tackling physics. Use Google Docs in order to share results? How about SlideRocket? I don’t mean to limit the answers to online tools — how about Evernote or OneNote? What utilities do you use? Are there things that really help you get through your physics? Leave your answers in the comments.
A Conference. All At Once. July 4, 2008
Posted by gordonwatts in computers.1 comment so far
The box below, once you’ve installed Silverlight (just click, perhaps you have to restart your browser) is all the slides of Hadron Collider Physics Symposium. To get the full effect load this web page and expand your browser to be the full size of your screen. Use your left mouse button to move around, and a scroll wheel to zoom in or out (track pad isn’t so easy, sorry). Cool, eh?
I’ve often written about how we in HEP don’t use modern software for our work. Most of the tools we use are quite old. But all this Web 2.0 stuff has passed us by. By the very nature of this I can’t contribute much other than comment off to the side (no time to write my own HEP social networking site!).
But I did find something I can do that didn’t take much time. It is so-called deep-zoom, similar to what all the mapping programs do when you zoom in, except it does fading.
I’ll write a little more about it in a future web posting.
0.6 Lines Of Code Per Hour June 30, 2008
Posted by gordonwatts in GLAST, computers.add a comment
After the GLAST launch the other week I’ve looking at things space and astro when I surf the web (honestly – I don’t do it much! Especially at work! Especially while waiting for an ATLAS build!). I stumbled on this pod-cast on writing software for spacecraft.
It was a fascinating listen. Hans-Joachim Popp is the head of computing (CIO) at Deutsches Zentrum für Luft- und Raumfahrt, a company that makes software for German spacecraft. Some of the things that he said were jaw dropping in the context of the ATLAS software (and DZERO software). For example, averaged over the whole project about 0.6 lines of code are written per hour. They have code reviews, where the developer stands in a room and has to defend every single line of code. Their test code is a x12 longer than the actual code they write. They scan all of their code with a static analysis tool to look for “dumb” bugs.
Apparently the programming environment is similar for devices that run in intensive care units in hospitals. Comforting, I suppose. Modern critical airplane software has dueling versions of the code written (much like the space shuttle). In the case of the A380, apparently, one is written in C and the other in Ada* (other than this podcast this slide show was the only reference I could find).
Of course, the standard modern day project is only 20,000 lines of code. Voyager, which has been up there for 30 years now, has only 4 KB of memory for programming – so only 4000 assembly language instructions. He also mentioned that the ability to update the code in Voyager has been crucial to keeping the missing going this long.
I wonder how much of this formal methodology was followed for the GLAST LAT software? The trigger, for example? I remember Toby talking about how it was impossible to change because of all the paperwork and reviews involved in changing a single line of code.
One thing I’ll miss about returning to Seattle is I’ll loose this commute. Yeah, backwards. I’d rather be without the commute. But one advantage is I get to listen to all these podcasts (normally I listen to news and politics from the USA).
* I was in love with the idea of Ada when it first came out. I never wrote any code in it, but I thought that was the coolest programming language when it came out. Heck – it has multi-threading built in. Was over designed to catch errors early. Now, I’d hate it as being too restrictive.
** Imagine if all of this code was written at 0.6 lines per hour!?
Head Tracking And 3D Displays… The New Event Display? June 25, 2008
Posted by gordonwatts in computers.2 comments
My brother-in-law sent me this YouTube video by Johnny Lee showing off a poor-mans head tracking using Wii controllers and game. It is stunning. Watch it. He goes through a fairly careful description of how it works (and his web pages have descriptions of how it works).
So, when can we hook this up to the ATLAS event display?
