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.

Introduction

System administrators are very used to handle several different complex services that run interconnected and in parallel on high availability servers. In this scenario, it is hard to understand all the architecture and application connections in a single server, so you do not break it when trying to fix or update something. It is also common to bump into servers that are not even updated accordingly, because the system administrators are so afraid of architecture the server was build, that they usually prefer not to touch these servers. This is the kind of issue that we will try to solve in this article.

With the advent of virtualization and tools used to handle nested operating system, some engineers realized system administrators' apprehension and tried to decrease it by using containers isolation, pre-installed applications and control version concepts. They eventually came up with Docker, that is a layer over Linux containers, and could be seen as a lightweight virtualization.

On the Docker architecture, each application runs in a single container, and each container supports only one application, meaning that all files in a single container exist solely to support that application. In this scenario, a container is a minimal operating system plus the application it will run. One of the most common minimal operating system is Ubuntu Core, that is based on, as you might expect, Ubuntu.

Ubuntu Core and Docker on an IBM POWER8 server is a good combination for customers looking for an efficient and agile method to deploy complex workloads on the cloud.

What is Ubuntu Core?

Ubuntu Core is the minimal Ubuntu installation ideally for small environments. It contains just the basic OS layer that supports any other software to run over it.

It is basically a 200MB Linux rootfs that contains around 196 packages that can be extended to be a full distro. Since it contains the dpkg and apt tools, you can install whatever you want to tailor it to your needs.

Ubuntu core follows traditional Ubuntu release, and it started to ship for ppc64el architecture at 14.04, and the latest release is 14.10. You can also find daily build for Ubuntu core at Ubuntu Core daily builds website. In this article we are going to use Ubuntu Core version 14.04 on a standanrd 14.10 Ubuntu Docker host.

Ubuntu Core could be used on containers, Docker, chroot and virtualization environments.

What are Linux Containers?

Linux Containers is the basic technology behind Docker. A Linux container is the technology that would enable an operating system virtualization on Linux, providing all the infrastructure to isolate different containers.

Linux containers rely basically on two technologies that enable the existence of containers:

Cgroups: a Linux kernel technology that enables mainly process isolation using name spaces and resource limitation.

LXC tools: a userspace daemon and a client tools that enables container management.

In order to guarantee that Linux Containers work fine on your machine, you can run a script that guarantee that your environment is sane. To do so, as root run:

Install LXC package

# apt-get install lxc

Run the lxc-checkconfig

# lxc-checkconfig

Guarantee that everything is enabled, as:

Figure 1: Verify that your server supports containers.

What is Docker?

Docker is an infrastructure to deploy applications/software inside a Linux container, so, instead of having a full set of applications being used on the same machine, you can have an application per container, and deploy multiple containers.

For each container, you can have a version control for it, which means that you can 'commit' and 'revert' changes, so, you handle a complex set of applications breaking them in easier containers.

Using Docker hub, you can also upload, share and download already pre configured containers for your environment, so, instead of installing a complex application, you can download a container with an already installed application.

Installing Docker in Ubuntu on Power

In order to install docker on Ubuntu 14.10, you should do the following steps as root:

Using a preloaded Ubuntu Core image

If you want to use a default Ubuntu Core image for ppc64el, you don't need to do the step below, you can just install an already installed image. In order to do so, you need to be registered at Docker Hub website, which is similar to a github for docker images. Once you have registered there, just login using docker and then search for a ppc64el image.

# docker login

Figure 5: Authenticating in Docker hub

# docker pull image.

This is an example that I have been using on my personal registry.

Figure 6: Download Ubuntu Core 14.04 for POWER

This is going to create a Ubuntu core image in your system, which would enable you to play with Docker and Ubuntu Core on POWER. Once you have that, you can list the docker images and you are going to find the image leitao/ubuntucore as part of your images. As always, you can run any command on this image using:

# docker run image <command>

Commiting and reverting changes

Once you have your image running, you can change it as you want, and commit the changes. For example, let's install a package into the my ubuntucore image:

After git is installed you can check that there is a modification, using:

Later, you can see what files were modified after the change, using the container ID, as:

If you like your change, you can commit it using docker commit command and then upload the changed image using docker push command.

Automating container creation

It is possible to automate the image creation using the concept of Dockerfile, which describes how a Docker image is created starting from a base image.

A Dockerfile is generally used to create custom images, as you can execute command and copy files into an already existing image, giving it a personal content.

A Dockerfile is a plain text that uses a small set of commands to create a customized image. In the following example we are going to create an image with mongodb installed, and copy some customized etc files.

This is how the Dockerfile looks like:

from ubuntucore # use the initial image called ubuntu core
maintainer "Breno Leitao" # The author for this new image
run apt-get install -y mongodb # Run a command to install mongodb into the image
copy /srv/mongodb/etc /etc # Copy the directory /srv/mongodb/etc to inside the image /etc

In order to run this Dockerfile, you need to save it and run the following command on the directory that contains this file:

# docker build .

Once you run it, you are going to have a new image that is based on the ubuntucore image, with the package mongodb installed and the files from the 'host' /srv/mongodb/etc copied to the container /etc directory.

Now there’s an even easier way to get you started with your evaluation of the latest XL C/C++ (V13.1.1) and XL Fortran (V15.1.1) for Linux compilers for the little endian Linux distributions on Power Systems (Ubuntu 14.04, Ubuntu 14.10, and SLES 12).

We are now hosting the latest evaluation versions on public apt-get and zypper repositories.

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.

Vector libraries. The vector MASS library libmassvp8.a contains vector functions that have been tuned for the POWER8 architecture. The functions can be used in either 32-bit mode or 64-bit mode.

SIMD libraries. The MASS SIMD library libmass_simdp8.a contains an accelerated set of frequently used math built-in functions that provide improved performance over the corresponding standard system library functions.

As tremendous progress continues across the Linux on Power offerings, Red Hat has announced the availability of the beta for the next release of their Red Hat Enterprise Linux 7.1 product.

Noteworthy in this release is the availability of Little Endian support coming with RHEL 7.1. Big Endian support continues.

"Additionally, for customers who are using the IBM Power Systems platform as part of their datacenter infrastructure, Red Hat Enterprise Linux 7.1 beta now includes support for POWER8 on IBM Power Systems (based on little endian). Running in little endian mode accelerates innovation on the Power platform by removing an application portability barrier and allowing customers utilizing IBM Power Systems to leverage the existing ecosystem of Linux applications as developed for the x86 architecture."

A great blog entry floated through my email inbox this week that raised a broader discussion topic for me: folks may have heard about the OpenPOWER Foundation, but may not know where to read the latest information. So, I thought I'd provide a few pointers.

Under the site "News/Events" link at the top of the page, you will find a "Blogs" subtopic along with other things such as Press releases, Videos, etc.

You will also find main topics on this page such as "Get Involved" and "Technical". Keep your eye on these in the coming months, especially the "Technical" topic as we're in the process of putting in place new tools to facilitate the web presence many of the foundation public working groups need to effectively help grow ecosystem.

Now, let's get to the REALLY exciting information: technical information on using GPUs on POWER8 systems. The most recently blog entry on the OpenPOWER Foundation website, Porting GPU-Accelerated Applications to POWER8 Systems, serves as a great place to understand the recent announcements around GPUs on POWER, what they mean, and where to get more information if you want to start exploiting GPUs for your Linux on Power application.

What excites me most about this article is that it was written by Mark Harris from Nvidia (Chief Technologist for GPU Computing) not by IBM. His blog embodies the growing ecosystem around Linux and Power. In this particular case, the blog is a direct result of the OpenPOWER Foundation original partners' -- Nvidia, Google, Mellanox, Tyan, and IBM -- commitment to taking the I/T industry forward with a new generation of innovation around POWER.

This is what's different about Linux on Power this time. This is how we succeed. This is why I'm excited about our future.

On December 12, 2014, IBM will be releasing new XL C/C++ and Fortran compilers to support application development targeting the little endian Linux distributions running on IBM Power Systems with POWER8 processor and architecture. A key strength of the IBM XL compilers on Linux is its ability to generate highly optimized code for execution on IBM Power Systems. With these new compilers, you can create and port applications for execution on the next generation of IBM systems built on POWER8 technology, designed to handle big data and to drive modern workloads for cloud, mobile, and social.

For the C/C++ compiler, this new offering will provide a higher level of source compatibility with gcc while providing binary coexistence. It will also include partial support for the latest C11 and C++11 language standards. In addition, the XL C/C++ Linux compiler for the little endian architecture leverages the Clang infrastructure from the open source community for a portion of its compiler front end. The new compiler combines the Clang front-end infrastructure with the advanced optimization technology from IBM in the compiler back-end.

For more information on these two new offerings take a look at the following announcements from IBM

In a world where there are multiple package formats, managers and Linux distributions, it can be a pain for an open source project maintainer, application provider or ISV to package software for multiple architectures and multiple distributions. The following may make your life as a packager much more easier and provide access to more users!

Usually building a package for community distributions like Ubuntu, Fedora or openSUSE requires having that distribution installed locally with build dependencies available, so your application will find them. To increase reproducibility, more diligence is often required to isolate the package build environment, and each distribution has its own methodology for that process. Fortunately, there is a software solution available which targets this overall problem space. It is called Open Build Service [OBS] (http://openbuildservice.org) providing a ready to use appliance infrastructure, complete with a web interface, published application programming interfaces and a command-line client (already packaged for multiple distributions, as you might guess). There is even a public instance available for anybody (http://build.opensuse.org) to use which may even offer hardware architectures that you may not have readily available.

To get you started, I'm going to describe how to use this service by interacting with the public instance, building for multiple Linux distributions and targeting other hardware architectures, like PowerPC.

First you will need to create a free account (no worries, as there are not any restrictions imposed on the account) at https://build.opensuse.org , click "Sign Up" and fill out the simple form. Once completed you're ready to start packaging.

As background, here are a few basic OBS terms you should understand:

project - A workspace you're in. Every registered user has their own, so called, home project. Each project may have many sub-projects

With these steps completed, an empty package structure has been created on the server that forms the basis for your package.

As noted before, OBS can build against multiple distributions but also for different architectures, so let's focus on the PowerPC architecture. With following we will add the distribution versions for openSUSE Factory, RHEL 6.5, SLES11SP3, and Ubuntu 14.04 and build for their respective available ppc64 and ppc64le architectures.

Next, add your application sources under the home:<your_username>/<packagename> project directory You should also add an appropriate “.spec” file for rpm-based builds and a “.dsc” file for either Debian or Ubuntu based builds (there is no need to start with a source RPM or source DEB package). Don't forget to manage all these new files in your project within the version tracking, via:

> osc ar # add/remove

If you would like to test the actual package build locally, which is a good practice assuming you have a compatible hardware architecture (you can list the configured build targets with `osc repos` command):> osc build buildtarget architecture
> osc localbuildlog # to show the build log of a local buildchroot
> osc chroot # if errors/issues are encountered, you can debug in the build environment chroot

Notes:

By default `osc` builds from source in a chroot, ensuring that the build environment is sane, containing only a minimal set of core packages plus any specified build dependencies and is self-contained to avoid issues with the host system

Further, `osc` is also capable of doing KVM-based builds. If you have KVM-capable ppc64 machine you could build ppc64le packages with:>osc build buildtarget ppc64le --vm-type kvm

Reminder, as the final step, commit all of your changes needed to successfully build your package, via:> osc commit

Notes:

If you don't have an access to PowerPC hardware, the packages can be built on the server side, by queuing for the next available worker node for your specified build target.

And you can track such a remote build with:>osc remotebuildlog home:<your_username>/<packagename>/buildtarget/architecture

When your server-side packages have been successfully built, you can find your package published at:

The IBM Software Development Kit for Linux on Power (SDK) is a free, Eclipse-based Integrated Development Environment (IDE). The SDK integrates C/C++ source development with the Advance Toolchain, Post-Link Optimization, and classic Linux performance analysis tools, including Oprofile, Perf and Valgrind. The latest version of SDK (1.6) integrates Qemu and IBM Advance Toolchain providing a environment for cross compiled development.

This tutorial explains how to leverage from the integrated environment provided by the IBM SDK for developing cross-compiled applications.

The IBM Advance Toolchain for PowerLinux 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.

The MiniCloud provides free access to Power® virtual machines. It allows easy access to an environment that can be configured for development, testing or migration of applications to Power. The virtual machines of MiniCloud run on PowerKVM™, which supports running a large number of virtual machines on a single scale-out Linux server. MiniCloud is hosted at State University of Campinas - Unicamp, Brazil.

To request access to a VM your first need to access the MiniCloud website, read the terms and conditions of usage and fill out the form with the following information:

Name, which identifies the requester;

Email, which allows contact with the requester;

The desired operation system which will be installed on the VM;

A message, which must contains a brief explanation about why you are requesting access;

This article presents a custom script in Python to upload objects to a Swift service. This script has been used by the IBM PowerKVM CI in Openstack as an alternative to the Swift script provided in Zuul, and can also be used by 3rd party CI systems to upload logs from test results. The article also covers how to configure the script to run on devstack-gate jobs.

This articlediscusses some basic XML tuning tips for PowerKVM guests. It helps new users get started with editing guest XML definitions, and walks through some simple tuning examples.

The article covers various options to tune the guest disk, network, cpu, and memory. It also includes some example guest resource pinning configurations for different scenarios. Applying these tips may help improve application performance by ensuring your guest is configured properly and optimized for the KVM environment.

This release adds support to SUSE Linux Enterprise Server 12, along with updates to other supported Linux distributions:

Red Hat Enterprise Linux 7

Red Hat Enterprise Linux 6

Red Hat Enterprise Linux 5

SUSE Linux Enterprise Server 12 (new)

SUSE Linux Enterprise Server 11

The Yum repository is easily configured by downloading and installing the Configuration RPM from IBM Service and Productivity Tools website. The website includes installation instructions for the recommended tools.

SLES 12 customers can also get access to Linux on Power repositories through new YasT software add-ons IBM DLPAR Utils for SLE 12 ppc64le and IBM DLPAR sdk for SLE 12 ppc64le (which also includes Advance Toolchain repository).

For more information on Service and Productivity Tools available in the repositories, check the documentation.

The IBM Advance Toolchain for PowerLinux 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.