Instruction-level Multithreading to improve processor utilization

No one wants the hardware in their computer sitting idle – we all want to get as much useful work out of our hardware as possible. Mechanisms such as cache and branch prediction have been incorporated into processors to minimize the amount of processor idle time caused by memory accesses and changes in program flow; however, these mechanism are not perfect.

There are still times that the processor could be idle waiting for data or computational results to become available – these delays are relatively short, generally less than a few hundred clock cycles, typically around ten.   The operating system software context switch to another runnable task takes on the order of hundreds of cycles.  Thus, the overheads are too large for the operating system to switch to another runnable tasks to hide these short times of idleness.

One approach to get better utilization is to have the physical processor support multiple logical processors. If one logical processor has to wait for some result, the physical processor can switch to processing instructions from other logical processors to keep the hardware busy doing useful work and get better utilization of the  hardware.

Continue reading “Instruction-level Multithreading to improve processor utilization”

Gettitng Started with Release Validation Testing in Fedora QA

Release validation testing is a process which takes place before the official Fedora release. (Fedora is the upstream, community project from which RHEL is built.) Before the Final (GA) release, we have Alpha and Beta pre-releases and at each of these milestones, nightly builds (nightlies) and composes are released and tested to ensure that the release meets quality standards. Release validation testing is one way you can help Fedora get better, and this post will talk about how you can start off from scratch.

Continue reading “Gettitng Started with Release Validation Testing in Fedora QA”

Developer interest survey – May 2016

At Red Hat Developers, we’re working to create a new breed of developer community – one where its participants Learn, Code, and Share together. As part of the process, we’re publishing information that you find helpful, interesting, and things that generally make you awesome, feel awesome, and inspire you to do awesome things. (That’s the goal, anyway.)

One thing you might not know, is that most of the articles that get published here are actually contributed by our community members (you can contribute too!), but our contributors want to know what you care about, so they can share things that matter.

That’s why were going to be running monthly surveys to learn what you care about, and learn what you want to hear about. So if you’ll give us one minute of your time, it would help us deliver just that – information worth reading and sharing. Please take that minute to fill out the survey below!

Lincoln Baxter, III

About the author:

Lincoln Baxter, III is the Chief Editor of Red Hat Developers, and has worked extensively on JBoss open-source projects – most notably as creator & project lead of JBoss Forge, author of Errai UI, and Project Lead of JBoss Windup.

He is a founder of OCPsoft, the author of PrettyFaces and Rewrite, the leading URL-rewriting extensions for Servlet, Java EE, and Java web frameworks; he is also the author of PrettyTime, social-style date and timestamp formatting for Java. When he is not swimming, running, or playing competitive Magic: The Gathering, Lincoln is focused on promoting open-source software and making technology more accessible for everyone.

Introducing atomic scan – Container vulnerability detection

In the world of containers, there is a desperate need to be able to scan container images for known vulnerabilities and configuration problems, and as we proliferate containers and bundled applications into the enterprise, many groups and companies have started to build container scanning tools. Even Red Hat has been building a scanning tool based on the tried and true OpenSCAP project, but there were several problems we saw time and again.

The problems with existing container scanning tools included:

  • Either these tools were required to be installed on the host, or if they were installed via a container they would have to be very privileged; therefore, the containers themselves could use that authority on the host machine.
  • They were being hard coded to only support a single container framework – docker.
  • We saw some very slow implementations, where the container scanning tools were actually copying all of the content out of the container image, then scanning the content, and finally removing the content.  You can image how inefficient this could be for hundreds or thousands of images or containers.

We decided we wanted to build a tool, atomic scan, that understood the underlying architecture and could download and run containers with scanning tools in them. But, we also didn’t want the scanning tools to be privileged; the atomic tool would be able to mount up read only rootfs from the host’s file system. These mounted file systems could then be passed onto the scanning container, along with a writeable directory for the scanner to place its output.

Continue reading “Introducing atomic scan – Container vulnerability detection”

Red Hat Identity Manager: Part 1 – Overview and Getting started

Red Hat Identity Manager (IdM), is designed to provide an integrated identity management service for a wide range of clients, including Linux, Mac, and even Windows. At its core, IdM combines LDAP, Kerberos, DNS, and PKI with a rich management framework.  Frequently, IdM is described as “Active Directory for Linux”. Although, to be fair, Active Directory is really just a management framework around LDAP, Kerberos, DNS and PKI — all of which were well established in the unix community long before Active Directory ever existed.  In any case, the primary use for IdM is to provide these identity services to linux clients using these well established and open protocols.

This article will provide an overview of Red Hat Identity Manager, and demonstrate how to get started with IdM quickly.

Continue reading “Red Hat Identity Manager: Part 1 – Overview and Getting started”

Video: Extending Codeless Apps with Rich Integrations using Red Hat Mobile

In this video, we talk through two exciting new features to the Red Hat Mobile Application Platform (RHMAP):

  • Data Sources for Forms – (New in RHMAP 3.9)
    Bring field values for dropdown, radio and checkbox fields in your forms from external APIs using Data Sources.
  • Mobile API Mapper – (New in RHMAP 3.7)
    Modify and transform the response from an API using the API mapper. Discard, rename or transform fields using the UI tool, or in code.

First, we’ll use the API Mapper to build an integration with the GitHub Contributors API for an open source repository. You’ll see how to:

  • Integrate with an API using the API Mapper
  • Add headers to the saved request
  • Rename fields in an API response
  • Remove unnecessary fields in an API response
  • Mount the API on a new path

Continue reading “Video: Extending Codeless Apps with Rich Integrations using Red Hat Mobile”