Posted on

ARM Server Solutions: Using Microservers for Your IT Workload

 

The challenges faced by IT departments are unique. IT is typically viewed as a cost center, has low visibility and few tangible products, and yet plays a critical role in today’s business environment. As IT departments routinely have to operate on minimal budgets and with scarce resources, maximizing the return on investment and making the most of every computing dollar (and CPU cycle) is critical.

 

Customization

One way that IT departments can cut costs on their cloud and hosted server spending is by switching to microservers. Microservers are an emerging technology, based on the premise that today’s IT workloads are different from those of the past. More transactional computing is taking place, and an emphasis is placed on horizontal scalability and data replication instead of single node performance. Additionally, segmentation of workloads by specific use cases can make better use of resources in a customized microserver environment, as opposed to generic one-size-fits-all general purpose servers.

ARM servers and micro server platforms can be optimized for delivering IT services such as:

Networking – Routing and transport, packet shaping / forwarding, firewalls.
Databases – MySQL, PostgreSQL, and NoSQL databases such as mongoDB and Cassandra
Web ServersApache, nginx
Caching – CDN servers and caching dynamic content in flat format at the edge to alleviate workload on backend servers.
Load Balancers – Dedicated nodes to prioritize and intelligently allocate requests to servers.
Reporting – Logging, analysis, business intelligence, and reporting services.
Big Data – Transactional and batch processing of data for machine learning or Hadoop.
Communications and APIs – Standard services like email and IM, emerging communication technologies like RabbitMQ, and API feeds back to other services and devices.

In the past, all of these services would have to be delivered by a single type of commodity server, which generally could not be effectively optimized for each different workload. This resulted in overspending and wasted resources. ARM servers and their software stack can easily be tailored to each independent workload, ensuring the most efficient delivery of these common IT services.

 

Efficiency

Let’s look closer at the efficiency and advantages offered by ARM microservers:

Flexibility – As already mentioned, ARM servers are flexible in their hardware platform design, varying from single-core units with 256mb of RAM and 100mb ethernet all the way to 48-core designs with 40gbE uplinks.

Size – As the name implies, micro servers are small. Some are the size of a credit card, others range up the size of a phonebook. Either way, they are much smaller than the traditional 1U, 2U, and 4U rackmount chassis.

Power Consumption – Here again, the numbers can vary, but they range from 2 to 3 watts up to about 40 watts in the more powerful configurations. However, this is on the order of 20x more efficient than a traditional server which incorporates a 500 to 1000 watt power supply.

Cost – Prices can vary of course, but micro servers can cost anywhere from $50, to a few hundred dollars, up to $3,000 depending again on the configuration and capability. A standard server can cost anywhere from $500 to $10,000, so an ARM server could be 10x to 20x more cost effective as well.

Scalability – This is another area where ARM servers excel. Traditionally, as more compute power was needed, a faster processor and more memory was the answer. As the upper end of the processing power spectrum is reached, costs grow exponentially. Small, marginal gains in processor speed incur a steep increase in cost. To demonstrate this concept, here is a current price list for Intel Core i7 processors, illustrating this phenomenon.

Core i7-4790S – $303
3.2GHz / 4 cores

Core i7-4930K – $583
3.4GHz / 6 cores

Core i7-4960X – $999
3.6GHz / 6 cores

Source: http://www.cpu-world.com/Price_Compare/Desktop_CPU_prices_(latest).html

In the example above, a marginal improvement from 3.4ghz to 3.6ghz nearly doubles the cost of the processor, but does not effectively double the performance or compute capacity. The same effect is observed in the price of memory, where cost vs. capacity follows a similar exponential curve. A superior method of addressing capacity issues is thus to scale horizontally and add additional nodes to handle increased workload, and balance the computational requests across the newly formed cluster of servers. This is the premise that Hadoop and mongoDB are founded upon, as well as many other emerging technologies like Cassandra, Varnish caching, and Docker.

 

Developing a New Ecosystem

While there are clearly significant advantages, microserver and ARM servers have a bit more maturing to do in the marketplace and ecosystem before they can capture sizable market share. The ecosystem can be defined as follows, per the supply chain:

Chip vendors, such as AMD, Allwinner, Freescale, Qualcomm, Samsung, MediaTek, Rockchip, etc. who produce CPU’s based on ARM cores and IP. Currently, the bulk of chips produced are 32-bit processors, whereas business and micro servers will need 64-bit support. ARM has A53 and A57 64-bit cores sampling and in early adopter products, but volume production of these cores and processors needs to ramp up.

Hardware integrators like HardKernel, Wandboard, Olimex, pcDuino, CubieTech, Radxa, Advantech, and others need to integrate those 64-bit cores into custom PCB designs.

Software and Operating Systems needs to mature and fully support 64-bit ARMv8 processors. Ubuntu and Fedora are already there, but RedHat, CentOS, and CoreOS have work to do still.

Datacenters that host next generation microserver and hosted ARM servers need to come online and provide capacity for mass deployment of nodes to build both public and private clouds.

These ecosystem components will take time to build out and scale. These initiatives need to be well planned, repeatable, and cost effective to ensure that ARM servers can gain a foothold in the marketplace, and then build momentum from there based on competitive advantages and disruptive forces. These components won’t appear overnight, but it won’t be long until the microserver takes significant market share aware from traditional, generic servers.

Posted on

What is a Micro Server?

Microservers like the ARM Servers offered by miniNodes.com are a new product in the hosting industry, directly resulting from the dramatic performance gains in low-power cellphone processor technology made over the past few years.  Essentially, micro servers are a mash-up of a smartphone’s CPU and flash memory, combined with a computer’s ethernet, video, and USB ports.  The micro servers used  by miniNodes.com are roughly the size of a smartphone, or a wallet.  In comparison, the smallest standard server, a 1U rack-mount unit, is roughly the size of a few laptops laid out next to each other.

Microservers can be based on Intel Atom or AMD low-power x86 CPUs, but typically are based on ARM processors due to their origins in cell phones (and thus, battery power).  ARM CPU’s were designed to operate at low wattage, conserve battery power, and focus on efficiency.  These traits allow micro servers to also operate at extremely low wattage, typically in the 5 to 10 watt range.  A traditional 1U server operates at about 400 to 500 watts on average.

Along with the reduced size and reduced power requirements, come reduced costs.  ARM servers are only a fraction of the price of a normal server, allowing IT departments to cut their cloud and hosted server spending while still performing their same tasks.  ARM servers can run Fedora, Ubuntu, or arkOS Linux operating systems, with support for CentOS Linux coming soon.

Posted on

Running Linux on the Allwinner A80 Optimusboard ARM Server (Part 2)

Previously, we discussed how to build Linux for the new Allwinner A80 Optimusboard ARM Microserver using the SDK.  Now, let’s go through the process of installing it to the board and getting Linux actually up and running.

We’ll pick up where we left off previously, with the build process having just completed.

Next, we are going to create an image that can be flashed via LiveSuit.  LiveSuit is going to need a rootfs.ext4 file as input for the process, and it will be looking in the A80/lichee/out/sun9iw1p1/dragonboard/common directory.  This file should have been created automatically during the build process.  After verifying it exists, we can run our ‘pack’ command.

./build.sh pack

If successful, you will get an output file of sun9iw1p1_dragonboard_optimus.img in the A80/lichee/tools/pack directory.  This is the file we will use in LiveSuit to push Linux to the Optimusboard.  Load LiveSuit from its directory via:

$./LiveSuit.sh

We need to choose the file to flash, so we navigate to the proper location and select our sun9iw1p1_dragonboard_optimus.img file.

The A80 Optimusboard does not have a dedicated FEL button on it like some other devices, so, to get the board ready for the flash we have to attach a Serial cable and manually intervene with it’s boot process.  We hook up the cable to the UART port, use the ‘screen’ command to capture the input and output, and plug it in to a USB port.  While the board initializes, we press any key on the keyboard to interrupt the autoboot and are presented with a command prompt.  The ‘efex’ command will launch FEL mode for us.

efex

The board will switch to FEL mode, and LiveSuit will automatically recognize that it is now ready to flash the image to the NAND.  It will take a couple of minutes to complete, and once done, we should now have Linux installed.  Leaving the console cable attached, we reboot the board, and we can now see that it boots up and has a Linux filesystem installed and running.  Keep in mind, its pretty minimal at this point, as we have not built a robust, feature rich environment like Ubuntu, Fedora, or other Linux distributions.  But this is a good base to build upon as we continue further development and leverage ARM processors for use as microservers.

linux-optimusboard

 

linux-optimusboard-1

 

linux-optimusboard-2