Welcome to closedsrc.org, a blog containing random postings and ramblings.

Mini-review: D-Link DAP-2553

Posted: March 15th, 2011 | Author: | 2 Comments »

Both my primary laptop and my new redacted support dual-band 802.11n wireless and I have not been thrilled with the performance of 802.11g in general. Another issue with being stranded in the 2.4GHz band is that there are a lot of access points in my area and trying to get a decent, clear channel is nigh impossible.

So, I started shopping for a dual-band 802.11n (draft or not) access point and really wanted to pick up a Cisco Aironet 1140 802.11a/b/g/n access point. I deal with Cisco Aironet 1231G and 1242G access points on a daily basis at work, so rooting around in IOS would not be an issue for me. The problem? It would cost a blistering $650-670 and that is without a maintenance subscription. Way too much and would not work too well, as it is meant to be hung on a wall or clipped to the support bars of a false ceiling.

I also considered Cisco’s entry SMB wireless access point, the AP 541N, but did not hear a lot of good things about it nor would I want to pay the Cisco premium on a device that I could not jump into an IOS, PIX/ASA or NX-OS shell. I also looked at a Cisco WAP4410N and, while promising in terms of features, but it does not support the 5GHz band that I so wanted.

So I finally settled on the D-Link DAP-2553 dual-band access point and it was about the right price. I got the access point last night and started setting it up so that the first SSID would run on the 5GHz band, then ran into a lovely limitation: the access point can only use one of the two bands, but not both at once. Lame. For now, I have to leave my older 802.11g access point up and running for devices that do not support the 5Ghz band, and that includes: iPhone 3G, Evo 4G, the-iPhone 3G-replacement Evo Shift 4G, Sony PSP, Squeezebox, Nintendo Wii and Nintendo DS/DSi XL.

While not optimal, it does allow me to at least somewhat segregate non-802.11n devices from destroying the bandwidth for the 802.11n devices. Also, I do not really care about squeezing out the last 1Mbps on those devices either.

With the latest firmware available for the DAP-2553, I was able to finish setting up the access point so that it would use my home NTP server (had to be entered as an IP address rather than hostname). I haven’t spent too much time to see if the device supports sending logs out to a Syslog server, something that my 802.11g access point can do.

In terms of performance, I need to test copying a large ISO from my file server and two my two laptops. I did notice a drop in overall latency when on wireless, versus wired, when working over SSH connections to my servers at home. Both devices see a full signal from the access point (whether the access point sees a full signal from the devices is true, I don’t know yet) and negotiate at the full 300Mbps speed. Even with the run from the new access point to the switch and the long haul to the main switch are all Gigabit (I only have one 100Mbps switch, and that’s the one integrated into my Cisco PIX 501 firewall), my DSL connection is still like a stupidly small straw.

At the end of the day, I am disappointed that, unlike a proper Cisco Aironet, the D-Link device cannot use both the 2.4GHz and 5GHz bands so that I can collapse all of my wireless devices on to one access point. One of these days, I’ll pick up a proper Cisco Aironet or equivalent device that can run both bands and proper roaming.

Filed under: Blog Post | Tags: , , , , , , ,

ARM servers do not have to face software issues

Posted: March 11th, 2011 | Author: | No Comments »

In a recent report posted on PC World, one of Dell’s VPs states that porting software from x86 to ARM can be the biggest hurdles for ARM servers. I will have to agree with his statement, if and only if, some, most or all of the software that needs to be ported are provided in closed-source, pre-compiled form.

The problem does not really exist in the world of Open Source software; and, even if popular operating systems, distributions and software packages are not currently available pre-compiled for ARM, it would not take long for the community and its sponsors to turn around and provided tested binary packages. For those that want to squeeze out as much efficiency and already roll their own compiled packages to servers, it isn’t too difficult to do the same for ARM servers.

For me, the biggest hurdle I see for Open Source software and ARM servers is the availability of developer and production hardware, along with the cost to acquire the needed hardware for testing. In terms of operating systems and distributions, the three main BSD projects (FreeBSD, OpenBSD and NetBSD) have one or more ARM ports available with the Ports and Packages repositories providing many of the required software packages used in scale-out hosting and compute environments.

On the Linux side of the world, Debian has had a small variety of ARM ports and Ubuntu has dabbled in the ARM space for a little while now. Fedora, CentOS and Gentoo are also viable foundations for building up Linux for ARM servers. There have been several Open Source and commercial Linux distributions that target ARM devices for real-time and embedded applications and can also be used to build up lean and mean distributions for the two server workloads that would excel on ARM. I do not know where Red Hat or SUSE stand in terms of ARM preparedness, but SUSE (by way of Novell and the partnership with Microsoft) may not want to stir the waters.

If the applications were written on top of various Open Source software foundations, such as Apache Tomcat, the various Python, PHP, Perl or Ruby frameworks, or other forms of interpreted languages and bytecode available from the Open Source community… porting and testing should not be difficult. Granted, the level of difficulty depends on the complexity and size of the application.

This leaves the two other major stalwarts in the operating systems market: Oracle and Microsoft. While Oracle Linux is Oracle’s own spin of Red Hat Enterprise Linux (or CentOS) and could benefit from either organization’s development for the ARM platform, the bigger concern would be the Solaris clan. ARM servers would compete against Oracle’s UltraSPARC T family of processors, not in terms of cores per server, but rather watts per core/thread.

On Microsoft’s side of the world, they have announced a form of Windows that can run on ARM netbooks, notebooks, tablets and desktops and would be part of the Windows 8 family. Unfortunately, there the lack of further details on whether that will trickle over to the next release of Windows Server and how serious Microsoft is on ARM development in general (outside of their current struggles with Windows Phone 7 on ARM). A half-arsed effort from Microsoft will hurt the prospects of ARM and could be seen as yet another form of “embrace, extend, extinguish”.

At this point, I don’t see the other major player in the ARM market taking the ARM server movement seriously… Apple. The ARM processor has been at the backbone of Apple’s transformation from being a computer and software company, to being a player in consumer electronics. Apple’s first venture in the world of ARM processors didn’t end up being a commercial success (at least compared to their later products with ARM processors), which was the Apple Newton. It wasn’t until the release of the Apple iPod did the combination of Apple and ARM make any kind of splash. This continued until Apple really broke ground with the iPhone, and later, the iPad.

Even with Apple’s success with the ARM architecture and processors, Apple’s recent exit from the server hardware market and integration of key server features into the base release of OS X Lion may not bode well for the hopes for a new Apple Mac server with ARM processors. I could be wrong on this, but all signs seem to point elsewhere.

So, at the end of the day, do ARM servers actually have software issues that need to be addressed? Yes and no. If your infrastructure is already based on Open Source software as a foundation, the source code and compilers are there and waiting to be used, particularly if you already roll your own code. If you are stuck on a closed-source and commercial platform with no access to foundation source code, well… that’s kind of what you get for depending on such platforms and foundations. Sorry for the bluntness, but that’s the core issue of non-Open Source software.

Filed under: Blog Post | Tags: , , , , , , , ,

Exited Laptop Purgatory

Posted: February 16th, 2011 | Author: | No Comments »

It has been about three weeks since I got laptop repaired and it has not thrown any fits or blue screens since. I have since continued to re-install applications and return back to a pretty normal state.

One application that I had installed on the laptop was OpenOffice.org, but it felt dirty having two applications that bear the Oracle logo. Well, I am glad to say that I have removed all traces of OpenOffice.org from the laptop and from my file server; in its place, I have downloaded and installed OpenOffice.org’s fork, LibreOffice. Functionally, it is nearly identical and I can live and breathe easier knowing that I am closer to not being haunted by the Oracle logo. Now if only I could find a way to be completely independent from needing the Java Runtime Environment.

Filed under: Blog Post | Tags: , , , ,

Sixteen-Core Intel Atom for Server Workloads?

Posted: February 4th, 2011 | Author: | No Comments »

Recently, Microsoft made a some news by asking for a special, multi-core (sixteen cores to be exact) version of Intel’s efficient Atom processors to be used in servers. After thinking about it for a couple of days, the idea made a lot of sense. I know, it’s rare that I agree with Microsoft :)

Why so many cores? If you consider the kinds of workloads that application servers must deal with, the server must deal with a large number connections and requests and tend to idle while waiting for data to be crunched by other application or database servers. The actual data crunching that the application servers, particularly web app and content servers, need to do before sending back the results is not all that difficult. The large number of cores would facilitate a large number of threads required to handle many thousands of requests per minute.

Why use the somewhat lackluster Atom processor? The Atom processor may be a bit anemic for desktop or laptop duties, where you have numerous workloads going on at once, including rendering graphics, playing music or videos, web browsing and photo editing. On a web server, the in-order execution of the Atom processor does not have as much impact on an individual request level. Another benefit of using an Atom processor core over a Xeon core is power consumption. A desktop or server-optimized dual-core Atom processor has a TDP of less than 15W, versus a dual or quad-core Xeon’s TDP of 60-80W (even more when you look at the X models).

By taking advantage of the low power requirements of each Atom core, some of the latest fabrication processes and the proliferation of serial interconnects (PCI Express, SATA/SAS, 10GbE), building sixteen Atom cores plus memory controllers and I/O controllers on to one processor package is not too difficult to do. In fact, I put together a basic diagram of what such a processor might look like:

The processor package would include five or seven dies, four of which would each contain four 64-bit capable Atom cores with HyperThreading and an intermediate memory and I/O crossbar. The other three dies could be combined into one, with a central component providing buffered memory interfaces (or SMI in Intel terminology), IPMI for management, and high-speed links to two I/O hubs. Each I/O hub would provide external I/O interfaces, such as PCI Express, 6Gbps SAS/SATA and four 2.5Gbps 8b/10b links. The four 2.5Gbps 8b/10b links can be joined together to provide one 10Gb Ethernet port or four 1Gb Ethernet ports. The only other components a server manufacturer would need to include could include a SoC for remote management (see: ILO, DRAC and ILOM) and possibly a USB controller to provide local media or serial console access by way of a converter.

To some, this discussion may trigger a sense of deja vu. This has in fact been discussed and done before, except with UltraSPARC processor cores rather than Atom processor cores. The product would be called the UltraSPARC T series processors. The first generation was the UltraSPARC T1, which had eight cores sharing an I/O crossbar, memory controller and floating point unit. Each in-order processing core had the facilities to handle four threads concurrently, for a total of 32 threads. Kind of a coincidence that a sixteen-core Atom processor would also be able to handle 32 threads with the help of HyperThreading.

The UltraSPARC T1 debuted to mixed reviews, in which it performed beautifully in naturally multi-threaded environments but suffered under heavy, single-threaded application workloads. The Atom processor ran into some of the same criticism, which was exacerbated by the fact that the first Atom processors only had one core and HyperThreading partially helped when an additional thread was introduced to the workload.

Sun later improved on the design with the UltraSPARC T2, which so happened to integrate not only a PCI Express controller, but also a dual-port 10Gb Ethernet controller and would use fully buffered memory (a bit less efficient than DDR3 via SMI buffers, but helped reduce pin counts). The four concurrent threads per core was lifted to eight, and the shared floating point unit was replaced with one unit per core (which is then shared across the eight threads per core). A second version of the UltraSPARC T2 would later come out to support multiple sockets, at the expense of the 10Gb Ethernet controller, which migrated from being on-package to being located on the system board.

With the re-designed processor, the UltraSPARC T2 continued to beat up other processors in thread-heavy workloads and even conquered several key Oracle benchmarks. The processor still had a slight weakness to single-threaded applications, but that was mostly hidden by an increase in clock speed. The processor was improved once more, now in the form of the UltraSPARC T3.

In short, the idea of creating a many, many in-order processing core processor that can handle two or more concurrent threads per core is not a new idea, nor is it one doomed to fail. In fact, such a processor might be a significant boom for those looking to consolidate and/or virtualize web front-end or web application servers.

Intel, please heed Microsoft’s call and built this processor. If not Intel, will you do it AMD?

P.S.: I know this is a departure from my recent advocacy of building ARM processors explicitly for server workloads, but the two are not mutually exclusive. In fact, many of the ARM processor designs are based on an in-order execution design and require very little power to run. Having both an Atom-based design (or a Bobcat-based design if AMD were to join in) and an ARM-based design would ignite much needed innovation and competition in the server market. Also, an Atom-based design would allow Microsoft Windows-based to be deployed.

Filed under: Blog Post | Tags: , , , , , ,

Tentatively Out of Laptop Purgatory

Posted: January 26th, 2011 | Author: | No Comments »

After sending in my laptop for service for the third time due to intermittent blue screens and hard drive initialization errors upon reboot, I got it back Tuesday morning. According to the notes included in the box, two compoenents were replaced (palm rest and an intermeddiate piece that connects the hard drive to the system board and power) and the data on the hard drive was left as-is.

Having made a backup of my data on to an external hard drive, I restored the data and ran the hard drive through a small battery of tests. So far, knocking on particle board, the laptop is not blue screened yet. I do hope that the problem has been resolved, but I am still a bit leary. Over the next couple of days, I will be looking at buying one or more external hard drives with USB 3.0 to backup data at a faster clip in the case the problem rears its ugly head again.

Filed under: Blog Post | Tags: , , ,

Laptop Purgatory

Posted: January 17th, 2011 | Author: | No Comments »

It has been several weeks since I’ve posted something on this site. Part of that has been due to trying to decompress more when I get home and the other part has been an exercise of frustration.

In a previous post, I had mentioned that I had been experiencing several blue screens on my new laptop. Unfortunately, they have been occurring more frequently and I am no longer blaming a beta version of Firefox 4.0. The blue screens now happen even after a re-image of the hard drive, both before and after applying the latest set of updates.

When the laptop blue screens, the last message mentions that it could not write out a dump file and reboots. When the laptop hits the BIOS splash screen, it will sit there for about 30-45 seconds before returning the following, lovely message:

Error
2100: hdd0 (hard disk drive) initialization error (3)

That’s not a good error message. It takes a complete power cycle for the laptop to boot up cleanly. Running the pre-boot diagnostics did not report any errors or problems. A little over two weeks ago, I called Lenovo tech support with the symptoms and the error message. The tech stated that it could be caused by two things, either the hard drive is bad or the system board is flaking out. So, he asked me to send in the laptop using the box that they would send out via next day. Once the box arrived, I shipped it back with a filled-out form summarizing the problem.

Lenovo received the laptop on Friday (7 Jan), completed the work on Saturday (8 Jan) and I got it the next Tuesday (11 Jan). Within the box was a note of what was done; the only thing listed was that they re-imaged the hard drive and ran diagnostic tests that did not include any hard drive tests. I started the laptop up and started to set up the laptop again and Windows wanted a reboot. So, I rebooted the laptop and logged in. Within 30 seconds, wham, blue screen. Same blue screen error and same hard drive initialization error.

I was ticked and called Lenovo tech support and tried to restrain my frustration, but I wasn’t entirely successful. The tech dispatched yet another box, which arrived the next afternoon and I shipped the laptop back to them the next morning.

The repaired laptop arrived this afternoon and saw that they at least replaced the hard drive. Progress!… or so I thought. When I got home, I went through the process of setting up the laptop again, applied the latest Windows updates and drivers, rebooted and logged back in. I left the laptop on the desk for about 2 minutes, and what do you know… blue screen. Same blue screen message and same hard drive initialization error upon reboot. FSCK!!!

I guess I will be calling Lenovo tech support, again. Too bad lemon laws in Oregon do not cover electronics over a certain price point. If so, I will be exercising it right now. At this point, I’m back to using my ThinkPad T60 (thank goodness I didn’t wipe it out).

This experience has soured me on Lenovo and I now have reservations about recommending them. Granted, this might just be my bad luck striking again and is just an isolated incident. Every manufacturer has their good and bad batches, but it is how they handle the problems is what makes us choose to buy from them again.

Filed under: Blog Post | Tags: , , , , , ,