I have been spending the last couple of days working on performance tuning for our big project at work. We are moving the software from ancient hardware and migrating it into our own private cloud. What is the difference? With the old system, we had a fixed number of servers and had to manually spread pieces of the application across them. With our own private cloud, we have a number of servers that we make look like a single machine. Then we divide up that machine so that each piece of the application looks like it is running on its own server. One thing that we are discovering is that performance problems can be much more difficult to solve.
Yesterday we ran into an interesting problem that we spent today figuring out. In the video gaming world, people don't like it when the game crashes. To combat this issue, we run redundant systems and so there are always two of everything. The problem we came across was that one server was processing more data than the other, even though they were configured identically. Everyone looking at the problem suggested going through both configurations line by line. We did and verified the two systems were set up identically. Then we all sat around scratching our heads wondering what to look at next. We tried twisting some nobs and pushing various buttons only to have more questions after looking at the performance numbers.
It turns out that the process of taking a bunch of machines and combining them together to form this computing cloud obfuscates what is happening on the raw hardware underneath. To figure out what is really taking place, one has to look there. We are still in the midst of improving performance but now have a much better handle of what is going on. Amazingly this new system already is running circles around the old one, we just want it to run faster.
Showing posts with label speed. Show all posts
Showing posts with label speed. Show all posts
Wednesday, March 27, 2013
Tuesday, June 19, 2012
Form vs Function
I was driving in Utah this weekend and pulled up next to a beautiful black Ferrari. I have always wanted one and so it surprised my wife when I told her I would rather have my buddy's tricked-out Jeep (see the picture below). "Why?" was all she could ask once she recomposed herself. I explained that it all boils down to functionality. While I like the idea of owning a fast Italian sports car, it really isn't all that practical for the things I am doing in my life right now. I am happily married and so I don't need an expensive car to help beautiful young women see past my bald head and chubby belly. The speed limit is easily reached in even the most basic car. Yet a vehicle capable of operating in the worst travel conditions comes in handy when you spend as much time in the mountains as I do. Yep, right now I would take the Jeep.
What does this have to do with computers? Well I recently had a conversation with one of my coworkers who is in the process of upgrading one of his computers. He is really into music and so he purchased some expensive sound equipment. No, he didn't just get a high-end sound card, he picked up top-of-the-line studio speakers, mixing equipment and stuff that most normal people would never use, let alone be able to afford. While we were talking, I realized that it would be fun to do the same thing to my computer, but I don't need it. That made me think about how I really use my computer.
To be completely honest, I hardly ever really use my desktop computer. Instead, I use it to connect to other computers that are much more powerful and do the real processing on them. That means I need a fast network connection, which I already have. I also have a lot of windows open into these other servers and so it is nice to have a lot of screen real-estate. That means I need a graphics card capable of displaying to multiple large monitors. That graphics card requires a lot of memory to run well. So while my coworker built his computer for audio, I should concentrate on video.
A Ferrari is a beautiful car that most people would love to own. There are a lot of computers out there that are similar. They are really fast and look amazing. However it is important to look at your needs before buying one. If you are doing a lot of number crunching and need to be "seen" with the latest and greatest, I encourage you to get one. Otherwise if you are like me or my coworker, you might be better suited with a Jeep-like computer that is specialized for specific tasks.
Now that I think about it, I actually have both . . . computers that is. I am typing this blog tonight on my high-end Mac laptop (the Ferrari) while I also have the really fast computer with multiple large-screen monitors in my home office (the Jeep). Now I just wish I could afford both cars.
What does this have to do with computers? Well I recently had a conversation with one of my coworkers who is in the process of upgrading one of his computers. He is really into music and so he purchased some expensive sound equipment. No, he didn't just get a high-end sound card, he picked up top-of-the-line studio speakers, mixing equipment and stuff that most normal people would never use, let alone be able to afford. While we were talking, I realized that it would be fun to do the same thing to my computer, but I don't need it. That made me think about how I really use my computer.
To be completely honest, I hardly ever really use my desktop computer. Instead, I use it to connect to other computers that are much more powerful and do the real processing on them. That means I need a fast network connection, which I already have. I also have a lot of windows open into these other servers and so it is nice to have a lot of screen real-estate. That means I need a graphics card capable of displaying to multiple large monitors. That graphics card requires a lot of memory to run well. So while my coworker built his computer for audio, I should concentrate on video.
A Ferrari is a beautiful car that most people would love to own. There are a lot of computers out there that are similar. They are really fast and look amazing. However it is important to look at your needs before buying one. If you are doing a lot of number crunching and need to be "seen" with the latest and greatest, I encourage you to get one. Otherwise if you are like me or my coworker, you might be better suited with a Jeep-like computer that is specialized for specific tasks.
Now that I think about it, I actually have both . . . computers that is. I am typing this blog tonight on my high-end Mac laptop (the Ferrari) while I also have the really fast computer with multiple large-screen monitors in my home office (the Jeep). Now I just wish I could afford both cars.
Labels:
Cars,
Ferrari,
Jeep,
specialization,
speed
Thursday, December 10, 2009
Computers and the Cold
Last night I was watching the news and they mentioned that it is so cold that people are starting to have water pipes freeze in their homes. There's nothing like a news story about water damage to make you get up at 10pm to run around and check all your pipes.
I know it has been cold because my office is in my basement and it doesn't really have insulated walls. Instead I have covered the concrete with posters, flags, and other coverings to give it a warmer feel. I have a heating vent in my office but have decided it doesn't really do much. Normally my office is about 65 degrees. Lately it has been down at 61 and so I know it has been cold. This morning I came in and it was 59.
My office is great in the summer. As I mentioned before, the temperature is normally about 65 degrees and that includes during the summer. When it gets really hot outside, my office might get up to 70 degrees, but usually not much warmer. This morning it was just too cold and so I turned on an electric space heater I keep in my office for such occasions.
Those that have been to older computer installations know that they generally keep computer rooms at about 65 degrees. This is because those old computers really put out the heat and it is necessary to keep the ambient temperature relatively lower than usual or the computers would overheat.
This got me thinking about my days back in college when I was studying electrical engineering. One of the first things we learned was that electrons travel faster at colder temperatures. Following that logic, you would want to keep your computer as cold as possible so it can run faster. Unfortunately that is not the reason to keep those old computers cold. Transistors switch slower at colder temperatures. Seeing as your computer is just a bunch of electrical switches (billions of them, actually), you don't want to make your computer too cold or it starts to slow down.
Nope the real reason to keep those old computers cold is that transistors start to do funny things when they get to hot. Since computers think in terms of binary numbers or ones and zeros, zeros can become ones or visa versa if the computer gets too hot. The same thing happens when the computer gets too cold. That is why all computers come with a temperature operating range.
Realistically the chances of you using your computer outside the suggested temperature range is pretty minimal. For an Apple Mac, this is between 50 and 95 degrees Fahrenheit. Unfortunately the same thing cannot be said about the operator. I seem to think a lot better at 70 degrees than I do at 60. Perhaps my operating temperature range is a bit more narrow than my computers'.
I know it has been cold because my office is in my basement and it doesn't really have insulated walls. Instead I have covered the concrete with posters, flags, and other coverings to give it a warmer feel. I have a heating vent in my office but have decided it doesn't really do much. Normally my office is about 65 degrees. Lately it has been down at 61 and so I know it has been cold. This morning I came in and it was 59.
My office is great in the summer. As I mentioned before, the temperature is normally about 65 degrees and that includes during the summer. When it gets really hot outside, my office might get up to 70 degrees, but usually not much warmer. This morning it was just too cold and so I turned on an electric space heater I keep in my office for such occasions.
Those that have been to older computer installations know that they generally keep computer rooms at about 65 degrees. This is because those old computers really put out the heat and it is necessary to keep the ambient temperature relatively lower than usual or the computers would overheat.
This got me thinking about my days back in college when I was studying electrical engineering. One of the first things we learned was that electrons travel faster at colder temperatures. Following that logic, you would want to keep your computer as cold as possible so it can run faster. Unfortunately that is not the reason to keep those old computers cold. Transistors switch slower at colder temperatures. Seeing as your computer is just a bunch of electrical switches (billions of them, actually), you don't want to make your computer too cold or it starts to slow down.
Nope the real reason to keep those old computers cold is that transistors start to do funny things when they get to hot. Since computers think in terms of binary numbers or ones and zeros, zeros can become ones or visa versa if the computer gets too hot. The same thing happens when the computer gets too cold. That is why all computers come with a temperature operating range.
Realistically the chances of you using your computer outside the suggested temperature range is pretty minimal. For an Apple Mac, this is between 50 and 95 degrees Fahrenheit. Unfortunately the same thing cannot be said about the operator. I seem to think a lot better at 70 degrees than I do at 60. Perhaps my operating temperature range is a bit more narrow than my computers'.
Subscribe to:
Posts (Atom)