IBM Systems Magazine, Mainframe - November/December 2016 - L12
can immediately do some work,
allowing you to get more out
of the core.
On the z13*, our latest
machine, each of the cores can
split into two so-called hardware
threads. OS tasks can be loaded
on one of those threads. To the
OS, these hardware threads look
exactly like a logical CPU, so the
OS knows how to deal with it.
The two logical CPUs share the
hardware resources of the core. If
both of them are running at the
same time, they share to such an
extent that each of the hardware
threads will be slower than a single task running on the core. But
in combination, they are faster.
That's the goal of MT. A machine
can have multiple cores, and
each of the cores has two CPUs
defined and can run two things
on each core.
ISM: Do all workloads benefit
MS: We recommend that our
clients test their workloads with
and without MT. The best thing
to do is try MT on your system.
Throw the workload on the
machine with and without MT to
see what happens.
One general rule to help determine if a workload would benefit
from MT is underutilization of
the processor resources when
running a single task. A second
thread can then fill the gaps left
by the first thread.
Negative indicators also
exist. If some core resources
are sparse, MT won't benefit
the workload. For example,
if one thread needs all of the
translation lookaside buffers,
loading two threads on the core
will cause fights over resources.
Poor scaling of the application
is the biggest negative indicator,
as adding MT will only make the
ISM: What are extended Berkeley Packet Filter (eBPF)
and non-uniform memory access (NUMA) emulation for
kernel-based VM (KVM)? How do they benefit clients?
MS: The original BPF was a simple language
interpreted by the kernel that was limited to 32bit registers and a small set of instructions. The
concept is found on a lot of UNIX-like OSes and was
originally used to filter networking packets.
eBPF is the latest version of BPF. It has 64-bit
registers and a few more instructions to make it
more versatile. The eBPF program returns a yes or
no answer to a data query, and you can use it for all
kinds of filtering. The IT community has started to
find new use cases for the eBPF, such as trace-event
filtering, which uses trace points in the kernel to
find performance problems.
Even more interesting is system-call filtering
where a BPF program is used to filter the system
calls issued by a user program. This is interesting
for Docker. You can use system-call filtering based
on eBPF to limit what your Docker image can do.
NUMA emulation is a tool for system scaling for
very large systems-particularly if you're running
a KVM host. A large system can have up to 10 TB
of memory and 141 cores. With such a system,
a single memory node is used by all of the CPUs
working in memory management. As a result,
points of contention often exist.
A simple way to ease these problems is to artificially split the memory into multiple nodes. With
NUMA emulation, you can split the memory into
a number of fake nodes (e.g., eight units of 1.25
TB each). The advantage is that some of the data
structures are duplicated. Each of the memory
nodes now has its own set of locks, so the contention points are reduced. Each of the nodes has
a kswap daemon, which is a background process
used for housekeeping that makes sure enough
memory is free. NUMA emulation was invented for
KVM as a host because of the
issues with paging performance.
Our performance analysis shows
NUMA emulation results are
mixed. More work must be done
for the scalability of large systems.
ISM: What advantages do IBM z
clients receive by running Docker?
MS: Docker is a step-up approach
for software development and
rapid application deployment.
You manage images by using a
version control system. If done
right, you have resource sharing
among the Docker instances of
specific images. Overall, you
get a virtual container, which is
something less than a VM.
Docker provides container
management systems for images
and the capability to share these
images with the registry. Docker
looks and feels the same on
Linux on z Systems as it does on
x86, except x86 has more prebuilt images. The advantage of
running Docker on z Systems is
that you're running on the most
ISM: Could you talk about the
supported Linux distributions-
Red Hat, SUSE and Ubuntu? What
capabilities do they bring to
MS: Without these distributors,
Linux on z Systems wouldn't
exist because they build things
12 // NOVEMBER 2016 Linux on z Systems
9/29/16 1:14 PM