DRAM, or commonly called RAM, is something we have on all computers and most mini electronic devices such as our mobile phones and portable players. Without them, computers won’t work. They hold vital data while they are in use, such as when you are editing your Excel spreadsheet, or when browsing a web page. Computer’s don’t work on data directly on the disk; once data is read off a disk, they are stored and worked on in memory. Yet Google did an extensive research and found that the error rates are much higher than we thought.
A two-and-a-half year study of DRAM on 10s of thousands Google servers found DIMM error rates are hundreds to thousands of times higher than thought — a mean of 3,751 correctable errors per DIMM per year.
This is the world’s first large-scale study of RAM errors in the field. It looked at multiple vendors, DRAM densities and DRAM types including DDR1, DDR2 and FB-DIMM.
Every system architect and motherboard designer should read it carefully.
I’ve finally decommissioned a server that has served me well for over 5 years. WhyMobile, IABPI and Naturext were the last sites hosted on the server.
The old hefty 2U server is now sitting in my mum’s office waiting to be upgraded with a new motherboard, power supply and hard drives. It should serve well as a disk storage if configured right.
I have just racked an old Sun Netra T1 AC200 in the empty 2U space. It’s 7 years old and had a dead motherboard. I’ve just gotten a motherboard replacement off eBay to get it working again. Now with a refurbished board, 2 x 146GB SCSI LVD drives (was originally 2 x 9.1GB SCSI LVDs – pathetic storage) running Solaris 10 and ZFS, it’s ready to go again. Unleash the power of an ancient 500MHz UltraSparc III with ZFS!
Servers in Rack
The Sun Netra T1 AC200 is at the bottom of the rack. The first two silver/grey servers are production Sun X2100s running VMware. The third server in white is an OEM Asus server for development and testing. It was donated courtesy of Kelvin, and also runs VMware. The cardboard boxes contain spare disks and some other stuff… for disaster recovery.
Network and Power Cables
You can see an old 24-port Cisco 2950 switch here. It’s a workhorse. I’m thinking if I should get a spare. It’s not just a plain old switch, the servers are running tagged (or what Cisco calls “trunk”) VLANs.
Every server has dual NICs. All the servers that run VMware are configured to run the dual ports on active-standby mode for port-level HA. I haven’t figured out how to do NIC bonding in Solaris, so that’s on my to-do list, albeit low priority at the moment.
Watch this video. Although this video was made for entertainment, it does goes to show what people think 100 Mbps can give them.
I think I need to start my rant. People have the wrong impression of subscribed broadband speeds. If everybody had 100 Mbps to their homes, we’ll be in for big trouble.
As of 2007, Singapore’s broadband subscriber count is 796,500 – approximately 22% of our population. The population has grown from 3.7 million in 2007 to almost 5 million in 2009. If the percentage of subscribers remain, we’ll have approximately 1 million broadband subscribers to date.
Multiply 1 million subscribers by 100 Mbps each, we need a whooping 100,000,000 Mbps total bandwidth to run broadband in Singapore. That’s 100 Tbit/s. Does such a bandwidth exist? No. The APCN 2 cable system has only 2.56 Tbit/s of capacity shared by the entire Asia Pacific.
Think of the Internet as a highway. Data travels across the Internet like a car on a highway. Each car is loaded with goodies in the boot – YouTube, Windows Update, Facebook, BitTorrent. What happens if everybody drives a Boeing 747 on the highway? Sure, you can put more YouTube, Facebook and BitTorrent in a plane, but that plane’s not going anywhere because there’s simply not enough space on the highway for so many planes!
Here’s another problem. Think of an auntie at NTUC with a years’ worth of groceries queuing up at the express cashier. Servers have limited capacity. Most network devices run either 100 Mbps or 1 Gbps. There’s some adoption of 10 Gbps in ISPs, but it’s expensive and not commonplace in enterprises. If one person hogs the server with their all-so-awesome 100 Mbps broadband, you’ll just have to wait for your turn.
1 Mbps (megabit per second) translates to approximately 125 KB/s (kilobyte per second). 1 byte contains 8 bits. I have a 8 Mbps StarHub broadband at home. Do I see 1000 KB/s downloads often? Nope. More like 60 KB/s; that’s barely 512 Kbps. So what makes people think 100 Mbps will make a difference?
I’ve heard people ask complain why we aren’t enjoying 100 Mbps like Japan and Korea. They say Singapore’s broadband providers suck. Well, look guys. Japan and Korea rely highly on local content due to their language.
On the other hand, Facebook and YouTube are the top two visited sites in Singapore. These sites aren’t local. In fact, blame it on the content providers here. They are the ones that suck.
Humans are born selfish. Everybody wants a piece of the Internet. We need to start giving (uploading) instead of taking (downloading). Broadband has to be symmetric. Up-selling 100 Mbps asymmetric broadband will only make things worse. Just like Globalization, we are consuming more than we can produce. Mark my words.
Slow Internet access tonight? ISPs say, blame it on the P2P.
In an earlier blog entry, I wrote about how the Internet really works and why there’s really no such thing as dedicated Internet bandwidth. To tackle the increasing bandwidth usage, ISPs are now installing Deep Packet Inspection (DPI) devices to reduce bandwidth contention.
StarHub has been working with our technology partners to mitigate the heavy burden caused by the volume of P2P traffic on the network. To ensure latency-sensitive applications (such as web-surfing and video-streaming) are not severely affected, especially during peak periods, we have implemented traffic shaping to optimize the overall efficiency of the network.
SingNet also has a clause in fine prings, urm… prints, hidden deep beneath their website just like any other SingTel legal agreements:
SingNet employs a fair use policy that ensures no single traffic protocol monopolizes all available bandwidth at the expense of other traffic protocols. Network management activities are carried out only for the P2P traffic protocol by ensuring that P2P traffic does not consume more than 10% to 25% of the total available bandwidth during peak and off peak hours respectively.
So, what really is fair? Is it fair that I get less P2P bandwidth than my neighbor next door watching YouTube? Afterall, everybody uses the Internet differently.
Quoted from Macbeth: “Fair is foul, and foul is fair.”
In my previous blog entry, I found a tool MultiCom that proxies my serial to a TCP socket, but it was lacking the ability to set my telnet client into character mode and wasn’t working with Cisco devices.
I later found out this was because Telent sends CR + NULL everytime you hit ENTER, so this happens:
I couldn’t log in! I am curious why other devices ignored the NULL while Cisco choose to process it. Not as if NULL would be used as part of a password.
So, I got my script to work. Theoretically this script should work on any UNIX system and on any type of FIFO, but I’ve only had time to test it on the Mac and a serial cable.
Download the script here. Rename it to script.py and then chmod 755 script.py.
I’ve been searching high and low. ZTerm is extinct, screen kinda sucks with scrolling. So what do I have left?
I attempted to write a script in Python to turn the serial port into a local socket so I could use Telnet but I couldn’t seem to get past opening the serial port.
After some searching, I found MultiCom. It does exactly what I wanted – turns my serial port into a local socket. Works prefect!
Anyway, if you have time, help me with this script. It’s fairly simple and still incomplete, but I can’t get past fixing what blocks the open() calls to /dev/tty.PL2303-0000101D.
Update: I managed to figure out why my script didn’t work; I should have used /dev/cu.* instead of /dev/tty.*. I also found that MultiCom doesn’t work with Cisco devices due to an odd Cisco behavior. Read this blog entry for more info.