Page 33 - EE|Times Europe Magazine - December 2020
P. 33

EE|Times EUROPE   33

                                                            Cloud-Native Processors for a Cloud-Native World


                                                                                another end user, often in a negative manner.
                                                                                  If a CPU core has two SMT threads, for
                                                                                example, applications running on those
                                                                                threads must share execution resources
                                                                                (Figure 1). If the workloads are balanced, this
                                                                                may result in certain amount of predictable
                                                                                degradation. However, if one of the workloads
                                                                                is resource-intensive — a noisy neighbor —
                                                                                then workloads on the other SMT thread will
                                                                                starve for execution resources and slow down
                                                                                (Figure 2). This can be a major problem in
                                                                                multi-tenant cloud environments.
                                                                                   Noisy neighbors present another major
                                                                                issue in the cloud environment: shared-
                                                                                resource attacks. SMT threads provide very
                                                                                poor isolation between customers, with phys-
        Figure 1: In enterprise-class processors with SMT, applications share CPU execution   ically shared execution resources and caches.
        resources. As a result, one workload can dominate consumption while the other becomes   The security level of a core is only as good as
        resource-starved.                                                       the least secure thread. By monitoring access
                                                                                to a shared cache by one workload, hackers
        the rated operating frequencies if the CPU is operating below the rated   can potentially identify the location of sensitive data in use by the
        thermal design power (TDP). This feature relies on cores’ being under-  other thread. These side-channel attacks put all tenants in a multi-
        subscribed, and the fewer the cores that are being used, the higher the   tenant environment at risk, especially those sharing cores with SMT.
        Turbo Boost frequencies. Like SMT, this is another technology that can
        make life complicated for CSPs.                       MITIGATING NOISY NEIGHBORS
                                                              CSPs that use SMT on enterprise-class processors have multiple
        Cloud-native processors                               options for addressing the noisy neighbor issue, but none of them are
        Software development in the cloud is evolving rapidly to better utilize   ideal. Sophisticated software exists for rebalancing workloads during
        the on-demand and elastic resources on which developers rely today.   runtime but is computationally intensive and complex to manage. More
        These cloud-native applications are increasingly built from collections   to the point, it’s not fully effective. Alternatively, the CSP can offer
        of distributed components, such as micro-services that perform specific   tiered services. Customers at the lower levels will pay a lower price, but
        tasks and collaborate to achieve higher-level business objectives. These   the tradeoff is placement in a shared core with its reduced quality of
        lightweight applications are faster to develop, test, and integrate,   service (QoS).
        leading to practices like continuous integration/continuous delivery   Most frequently, the CSP resorts to simply renting both SMT threads
        (CI/CD), in which new versions of applications can be released multiple   in a core to the same enterprise customer. To retain customers, cloud
        times a day. They are typically containerized — packaged with    data center operators must meet contracted SLAs. Restricting a core
        specialized OS or data libraries — making them both portable and agile.   with two threads to a single customer might ensure QoS is met and
          Taking a clean-slate approach to CPU design, companies are starting   the attack surface is reduced, but it runs counter to the cloud business
        to develop a class of processors that cater to these newer software
        paradigms and that better support multi-tenant environments. These
        cloud-native processors sport features such as larger core counts for
        service scale-out and higher energy efficiencies — design principles
        that provide flexibility to developers while enabling CSPs to host more
        end users per server with dedicated physical cores.
          Such processors can run enterprise-class workloads, but they are
        particularly well-suited to running cloud-native applications.
        Enterprise-class processors, on the other hand, can create problems in
        cloud deployments that can negatively affect SLAs. Some of these prob-
        lems are discussed below.
          The fundamental assumption of the cloud computing model is that
        the computing resources will be able to support the needs of all end
        users when required. Unfortunately, that assumption does not always
        hold true. Companies that decide to “lift and shift” their enterprise
        applications to the cloud recognize that they are moving to a shared
        infrastructure, but they may not fully grasp the tradeoffs involved in
        the multi-tenant environment. The same premise that makes the cloud
        attractive to developers (seemingly infinite elastic resources) and to
        CSPs (high utilization through multi-tenancy) can also make it difficult
        to share those resources in a fair manner.            Figure 2: The timeline for execution instructions (l.–r.) for two
                                                              single-threaded cores versus a core with SMT show the execution
        NOISY NEIGHBORS                                       delays introduced by the second application. The single-threaded
        When applications with different resource requirements share   cores have dedicated resources to satisfy both applications. In the
        resources in multi-tenant cloud environments, there is always a pos-  core with SMT, both applications share common resources, thus
        sibility that one end user’s application can unknowingly affect that of   lowering overall performance.

                                                                                   www.eetimes.eu | DECEMBER 2020
   28   29   30   31   32   33   34   35   36   37   38