In late January, I wrote about the POWER8 port-and-test possibilities for ISV’s wanting to move their solutions over to Red Hat Enterprise Linux 7.1 little endian mode. More recently, my IBM colleague and Linux on Power Chief Engineer Jeff Scheel, wrote in general about developing little endian applicationsand detailed information on what little endian means in an x86 port, performance best practices, where to start, and why now is the time for Linux on Power.

With this post, I want to put more thought behind what an individual and/or open source developer might do to get started with little endian on POWER8, and specifically with Red Hat Enterprise Linux 7.1 (little endian mode), which was announced earlier this month by Red Hat.

There are a number of corporate developers and clients that have developed their own applications that are starting to see the compelling reasons for porting those apps to Linux, and specifically to Linux on Power. Open Source developers are expanding their portfolio to Power as well, and like the ISV’s I talked about a few weeks ago, these groups require system hardware to do those ports and testing on. While Jeff Scheel’s blog post talked about Power little endian porting in general, I’ll be sticking to the newest Power little endian distribution, Red Hat Enterprise 7.1 here.

Clearly the path-of-least-resistance is for developers who have access to POWER8 processor system(s), and have a Red Hat Enterprise Linux subscription. Those developers can download 7.1 and install it on their IBM POWER8 system, and start to port their application. However, what are the corporate and open source developers who do not have access to POWER8 supposed to do?

Well, there are a number of possibilities in the works, but one method developers can use today to access POWER8 systems is via the new Power Development Cloud (PDP) Open Source Developer signup. In the past, usage of the Power Cloud was reserved for those with PartnerWorld membership, and instant access was gated by eligibility checks. Wanting to quickly open up the virtues of Power to more developers, IBM has opened up the aperture, and signup and reservations can happen in less than a day.

To learn more about this free POWER8 system access, or to create a reservation, go here, click on “Try…today”, or “Let’s get started”, and begin your journey on the new IBM Power Systems!

If you missed my post last week on the IBM POWER8 Coherent Accelerator Processor Interface, or CAPI, you might want to read that first.

CAPI can also be leveraged as the basis for flash in-memory expansion. An innovative solution designed to reduce latency and speed up access to data, CAPI Flash creates a bigger memory store, which as we know, is the driving force behind fast access to data.

While CAPI is designed to speed up workloads, CAPI Flash serves to significantly lower operational and deployment costs by creating a faster path to a larger store of memory. As such, CAPI Flash manages to reduce the number of servers required to accomplish the same workloads.

The elimination of I/O overhead, which is inherent to the CAPI, also factors in as an essential benefit of CAPI Flash. With CAPI Flash, the number of instructions required to retrieve data is reduced from 20,000 to fewer than 500.

The IBM Data Engine for NoSQL uses CAPI Flash and software from Redis Labs to reduce operational costs by cutting through complexities and creating an entirely new level of efficiency for NoSQL in-memory databases running key value store (KVS) workloads: most in-memory databases consist of a vast network of costly compute nodes. Since there’s only so much data that can be stored on a node, more data requires nodes, fueling a steady rise in cost and complexity.

OpenPOWER partner Redis Labs and IBM have partnered on the Data Engine for NoSQL's implementation of CAPI Flash, which attaches flash arrays that put 40 TB of memory onto the POWER CPU – resulting in a level of acceleration that exceeds that of a fast hard drive. The impact on cost, speed, efficiency, and latency is significant. Key among the metrics:

A five-time increase in bandwidth on a per-thread basis,

A three-time reduction in deployment costs, and

A 24 to 1 reduction in nodes.

Concerning the reduction in nodes – which represents just one angle of the level complexity that CAPI Flash manages to eliminate – imagine the difference between juggling 24 balls versus one that has all of the same functionality. That’s CAPI Flash.

Moving forward, possibly the most significant benefit of CAPI Flash is a concept known as “eventual coherence.”

A key challenge in almost all NoSQL environments is that when data is written to a node that is networked within a database, the data is not instantly available. The new data will not appear on the system until coherency is achieved among all of the nodes. If a node fails before it is replicated throughout the system, the data will be lost.

With CAPI Flash, data appears and is accessible on the system as it is entered. Even if a node fails, the data will remain on the flash.

One final point worth mentioning: while most conversations about CAPI Flash to date have focused on NoSQL, the work that we are doing is applicable to any application that has a large memory footprint.

Learn more about CAPI, and other unique advantages offered by Power Systems scale-out servers, in this paper written by Robert Frances Group, "The IBM Power Scale-out Advantage."

For more information on the IBM Data Engine for NoSQL, read the solution brief.

Microprocessor performance simply has not kept pace with exponential increases in information, coupled with heightened demands for speed, analytics and cost effectiveness.

Until the introduction of the IBM POWER8 Coherent Accelerator Processor Interface, or CAPI, industry attempts to deploy hardware acceleration solutions that addressed the performance shortfall had not measured up to the challenge.

Two key hurdles prevented the broad deployment of hardware acceleration via hybrid computing platforms that attempted to integrate a typical processor with a customized hardware accelerator. The first is that the inefficiencies introduced by controlling an accelerator device through a traditional I/O subsystem overshadowed the benefits of acceleration for many workloads. The second is that the programming complexities of I/O-attached acceleration put it out of reach for many companies with time-to-market constraints and finite resources.

The POWER8 CAPI technology works around those issues with breakthrough innovations that have made hardware acceleration easily accessible and affordable for a broader base of clients than ever before. At the same time, CAPI has also laid the groundwork for an unprecedented level of partnership and wide range of new possibilities.

Available only on POWER8, and central to the concept of the Open Platform, CAPI serves as a “hollow core” that can be integrated with existing cores and is easily programmable to perform a specific function with amazing speed and efficiency. Drawing data directly from the processors and main system memory without any I/O overhead, CAPI runs as a peer to the POWER8 cores, accessing memory using the same programming methods and virtual address space.

By enabling a customer-defined FPGA (field programmable gate array) to function as a peer to the POWER8 cores in terms of memory access, developers are able to simplify the programming model of the accelerator and achieve huge efficiencies as a result.

Among the many metrics demonstrating greater efficiencies and cost savings:

CAPI reduces the typical seven-step I/O model flow to three steps.

Running NoSQL on POWER8 with CAPI reduces costs by three times.

In overcoming the fundamental inhibitors to hybrid computing, CAPI enables a higher-performing solution with a much smaller programming investment. As a result of lower costs and highly simplified programming, hardware acceleration is now accessible to a broader segment of the market than ever before.

The overall value proposition of CAPI is that it significantly reduces development time for new implementations and improves performance by connecting the processor to hardware accelerators and allowing them to communicate in the same language – eliminating I/O “middleman.”

Ultimately CAPI is opening up new levels of partnership by opening up the POWER8 architecture to innovation and customization. Tens of thousands of developers from around the world are now able to work on the platform and build solutions that we could never have imagined.

Learn more about CAPI, and other unique advantages offered by Power Systems scale-out servers, in this paper written by Robert Frances Group, "The IBM Power Scale-out Advantage."

Last week, availability of IBM DB2 with BLU Acceleration was extended to Linux environments on the Power Systems platform for the first time.

If you didn’t know, BLU acceleration technology offers dramatic reductions in query latency for databases through a variety of innovations. Chief among them are the storage of frequently accessed data in memory as opposed to disk, as well as the use of columnar tables to boost data reading efficiency. BLU also cuts storage requirements with actionable compression, which allows data to be processed in its compressed state. Furthermore, the POWER platform confers numerous additional benefits to DB2 BLU such as advanced multithreading capabilities (up to 8 threads per POWER8 processor core, 4 times what x86 processors offer), memory bandwidth (4 times what’s commonly available on x86) and processor cache (5 times more than x86), all of which enable DB2 BLU to move more data through the processor more quickly.

One of the nicer features of BLU is its ability to accelerate existing row based databases. You aren’t required to use DB2; to begin to realize its benefits, all you have to do is connect a BLU acceleration engine to your existing database (DB2, Oracle, MySQL, MariaDB … whatever) and point your applications to the BLU instance instead of your database. BLU will automatically begin caching and accelerating your relational DBMS.

BLU has been available on Power in AIX environments for some time now, but the availability of the technology in Linux on Power brings some new capabilities that customers have been asking for. This is because, unlike BLU for AIX, BLU for Linux on Power runs natively in little endian mode like many existing data warehouses running on commodity x86. This means that to realize the unique benefits of BLU on Power, you no longer have to migrate your legacy database to a big endian environment. In addition, little endian Linux support makes BLU on Power a great fit for heterogeneous cloud environments.

There are some serious benefits to running BLU on Power. Our internal testing has shown that when compared to traditional database queries running on x86, BLU on Power can deliver results 82 times faster across a variety of report complexities. In particular, complex analytics reports that take many hours to complete on commodity database technology execute in mere seconds with BLU on Power.

The utility of this should be obvious. Not only can you save significant time and resource when running the analytics reports that your business already depends on, but you can also ask deeper and more frequent questions of your business data, exploring possibilities in real time to find new opportunities to grow your business. If you have data trapped in commodity database technology, you really owe it to yourself to investigate what BLU for Linux on Power can deliver for your business.

The IBM Advance Toolchain for Linux on Power is a set of open source development tools (compiler, debugger and profiling tools) and runtime libraries that allow users to take leading edge advantage of IBM's latest POWER hardware features on Linux.
For more information about it, visit http://ibm.co/AdvanceToolchain.

This is the first release to support running RHEL 7.1 guest virtual machines. Additionally this release provides fixes for over 70 bugs and a host of CVE's.

About the IBM PowerKVM

IBM® PowerKVM™ provides an open virtualization choice for IBM scale-out Linux systems based on the POWER8™ technology. This solution includes the Linux open source technology of KVM virtualization and is designed to complement the performance, scalability and security qualities of Linux. This provides an open extendable solution for running virtual machines (VMs) on Linux scale-out servers that enables cloud deployments, scale-out processing and big data solutions reducing complexity and cost.

This paper describes the availability and use of the recently released Oracle 11gR2 Instant Clients. These are used to develop applications on Linux on Power that need a connection to the Oracle DB. Building an application with these Instant Clients allows the application to connect with an Oracle DB running on any platform Oracle delivers the database on.

The IBM Advance Toolchain for Linux on Power is a set of open source development tools (compiler, debugger and profiling tools) and runtime libraries that allow users to take leading edge advantage of IBM's latest POWER hardware features on Linux.
For more information about it, visit http://ibm.co/AdvanceToolchain.

Glance
The Stowize setup for Glance requires a storage pool and a volume mapped to the target host. In this case, the volume will be manually created and used to store images and snapshots from Glance.

Once the volume is created it needs to be mapped to a host using the port name (iqn) generated in the host. The iscsi commands shown in this example were issued in a Ubuntu controller but also work on Fedora, RHEL and SLES.

One thing that being a developer by training has taught me, is that “we” often need to be convinced that work is worth doing. Little endian Linux on Power is about reducing the cost of migrating an application AND providing additional value of the end application.

Being able to run Linux on Power in LE mode means that applications have one less thing – data endianness – to worry about in the port. While technical differences such as assembler language, page size, and cache size still exist, developers and architects tend to worry most about data endianness because the finding and fixing all the problems can be very time consuming. By enabling Power to run in the same endian mode as x86 (the defacto Linux platform of choice for developers), applications can simply be recompiled without having to worry about endianness. Further, if one is going to build a solution mixed with x86 and POWER systems, exchanging data on disk or across the network in the same endian mode greatly simplifies the application as well. Then, add in the ability to accelerate Power applications with (inherently little endian) GPUs and the benefits of little endian become “a no brainer”.

So, hopefully, we're past the “why should I do this?” phase and now we address the list of technical resources for migrating to Linux on Power. My favorite list of resources include:

If you are migrating your application from x86 Linux and like bundles or toolkits, the Software Development Toolkit for Linux on Power provides an Eclipse-based environment for C/C++ applications with a porting wizard (The Migration Advisor) and a tuning wizard (Souce Code Analyzer) for development efficiently. This bundle further provides the latest free software (GNU) tools, oprofile, gdb and several Power-unique tools such as FDPR for post link optimization, pthread-mon to analyze highly threaded applications, and CPI (cycles per instruction) tooling to visually show inefficiencies.

If you are a “in house” owner of an application in your enterprise, finding a system on which to port your application could be challenging. Of course, your IBM Sales contact or your business partner can provide alternatives such as try-and-buy or proof-of-concept systems. Do not hesitate to start with them. If you do not know them, or if this does not work out, go to the cloud! Site Ox offers a two week free trial for development purposes. Visit their website for details. As we move forward, I remain hopeful that other vendors will provide public offerings of Linux on Power images. Further, if you do not at first see the particular release for which you are looking, reach out to the service provider and request it. They might just surprise you and have a plan to provide it. If not, it helps them to hear your needs.

For open source developers, the access to free cloud images increases. The Open Source Labs at Oregon State University hosts Power development images (VMs). University of Campinas (UNICAMP) also hosts a minicloud in Brazil. In China, the SuperVessel Cloud
provides a similar service to developers. In addition to these three locations, we are hoping to extend our offerings in both Europe and India in the near future. Again, the particular releases hosted at these sites may vary, but will generally include the little endian versions of Fedora, openSUSE, and Debian. If none of these sites or offerings work for you, feel free to reach out to me on Google+ (loaner post) to explore a dedicated loaner system.

With a complete set of little endian Linux on Power distributions, a robust list of technical resources, and plenty of resources for porting applications, the future is here. Take the first step. Seize the moment. Let's see what you can do with Linux on Power!

Nova Scheduler provides the RAM Weigher to weigh hosts by their RAM usage. The default behavior is to spread instances across all hosts.

However, if you have nodes with different memory sizes, the scheduler will run all VMs on the large memory systems first (until the VMs per node limit exceeds), and then start choosing the other hosts. There is nothing wrong with this, but you may want to spread your VMs among all the hosts regardless of their memory sizes. To accomplish this, you can disable RAM weigher and Nova scheduler will start choosing hosts randomly (after applying filters).

Excitement continues to build around Linux on IBM Power Systems from the first Scale-out POWER8 processor-based systems shipped in mid-2014 to the Enterprise POWER8 processor-based systems which began shipping in 4Q2014 and includes the Integrated Facility for Linux support. A big part of that excitement is around the new little endian distributions (Ubuntu and SLES), and their ties to the OpenPOWER Foundation (and the requirements it generates). Now, Red Hat has joined the party with aRed Hat Enterprise Linux 7.1 Beta for Power Systems based on little endian. IBM is making it easy for ISV’s to test their Red Hat Enterprise Linux applications, even before the Red Hat 7.1 general availability! More choice, more flexibility, more POWER8!

To be clear, Red Hat is continuing support for their Power Systems big endian distro – that is also included in the Red Hat Enterprise Linux 7.1 Beta. But for many ISV’s coming from x86, moving straight to little endian may be the right direction to go from the beginning. This means the Linux applications can migrate freely between POWER-based and x86-based systems. To learn more about big and little endian, refer to endian FAQs on developerWorks .

IBM is keeping the party going with the Power Development Platform (Power Cloud) which is offering a Promo Code for ISV’s to port/test their applications even before Red Hat declares general availability of the 7.1 distro. If you are an ISV, you can use Promo Code 8217658 for the Power Development Platform (PDP) (click on the Program Tab). Additionally, IBM will be offering Red Hat Enterprise Linux 7.1 porting and testing at the IBM Innovation Centers (IIC’s). For developers of corporate apps, ask your IBM account rep to help you get access.

For more background on porting from x86 Linux to the Power platform, you can get started here with the Guide to porting Linux on x86 to Linux on Power.Take advantage today, and you’ll be ready for tomorrow…POWER8, Red Hat, and little endian -do I hear Linux for the Enterprise?

Paul Mackerras walks the viewer through how Linux has been extended to open-source firmware, KVM enabling, and the latest Linux-only POWER8 systems.

This is a 45-minute video - Paul's presentation in its entirety.

Interesting discussions points are the KVM handling of the SMT 8 threads per core, and the POWER8 "micro-threading" - which splits the POWER8 core into sub-cores, and the system characteristics when leveraging these modes. Scheduler ramifications are covered, giving the viewer a better sense of the KVM implementation.

The presentation is a fairly deep technical discussion of Power8, Linux kernel, and the implementations. Check it out.

I've just published an article discussing some basic ideas for building a 3rd party Continuous Integration system. It covers important aspects to plan, install and configure a 3rd party CI environment to test OpenStack upstream patches.

The article also explains how the CI services interact each other and what kind of customization you need to test your platform or driver on OpenStack patches.