BookmarkSubscribeRSS Feed

SAS Grid and SAS Viya: together to provide advanced workload management

Started ‎11-10-2021 by
Modified ‎11-10-2021 by
Views 8,728

In the SAS Global Forum 2020 paper "SAS® Grid Manager and SAS® Viya®: A Strong Relationship" you can read how SAS Viya 3.x and SAS Grid Manager on SAS 9 complement each other in providing a highly available and scalable environment to process large volumes of data and produce rapid results.

 

The paper addresses questions raised by customers who are trying to understand how to leverage the two separate technologies to get the most value from using them together.  

 

Since then, two major shifts happened that partly change some of the perspectives offered in the paper:

 

  • a general industry move from on-prem data centers to cloud environments
  • the availability, at the end of 2020, and subsequent increasing customer adoption, of a new SAS Viya release, capable of leveraging cloud environments thanks to its integration with Kubernetes.

 

A third change is coming in November 2021, with the first official release of SAS Workload Management on SAS Viya.

 

So it’s natural now to ask the question that stems from these changes: why would I want to leverage this new offering?

 

The immediate answer is easy: our customers see tremendous value in managing their SAS 9 workloads with SAS Grid Manager, so they’re excited to realize many of those same capabilities with SAS Workload Management in SAS Viya.  

 

With its first release, SAS Workload Management on SAS Viya will be able to manage jobs submitted using the SAS launcher service, such as SAS Compute servers, SAS batch, and SAS/CONNECT workloads. Initially, there will be no advanced workload management for other engines, such as SAS Cloud Analytic Services (CAS) or SAS Micro Analytic Service (MAS).

 

At a first glance, Kubernetes already provides workload management, so why would a customer with SAS Grid Manager want to keep the license when moving to the new SAS Viya platform?

 

To provide a useful explanation, let's focus on actual customer needs. What are the benefits that drive customer adoption of SAS Grid Manager?

 

SAS Grid Manager Benefits

If you are familiar with SAS Grid Manager on SAS 9, you may recognize the features that it provides:

 

  • Multi-user workload balancing
  • Parallelized workload balancing
  • Centralized workload management and monitoring
  • Distributed enterprise scheduling
  • High availability
  • Scalability

 

These capabilities enable benefits for business users, such as better response times, thanks to better usage of available resources and ability to parallelize processing on different machines, as well as control over priorities, uninterrupted business, and self-managed control of personal jobs (monitoring, suspending, terminating).

 

IT departments may benefit from more efficient use of available resources, thanks to better sharing of computing resources across users and business units, as well as increased governance and incremental scalability of the hardware environments.

 

If all you need is basic distribution of jobsauto-restart of failed services, and batch scheduling, then SAS Viya on Kubernetes can already do all of that. But if you want advanced features you’re already familiar with, which are offered by SAS Grid Manager, such as queues, priorities, pre-emption, then SAS Workload Orchestrator – the main component of SAS Workload Management on SAS Viya – is for you.

 

Multi-User and Parallelized Workload Balancing

Kubernetes provides capabilities to match workloads to compute nodes so that jobs can be scheduled and executed. It determines which nodes can be used to start pods for work, based on available resources. SAS Workload Orchestrator extends the workload management capabilities of Kubernetes by adding priority-based queues, which provide the ability to control where and when jobs are processed based on prioritization and resource allocation.

 

Workload capabilities satisfied by SAS Viya on Kubernetes:

 

  • SAS Compute jobs submitted by multiple users are spread out among the available cluster nodes
  • Kubernetes ensures no machine becomes overloaded (CPU, memory, disk monitoring)
  • If a SAS processing task is made up of many independent sub-tasks, it is possible to manually rework it in such a way that each of the sub-tasks is run in parallel on the cluster, on different pods.

 

Additional workload management capabilities provided by SAS Workload Orchestrator on SAS Viya:

 

  • SAS Compute jobs can be placed in a waiting queue if necessary
  • SAS Workload Orchestrator can assign priority to some users or applications over others
  • SAS Workload Orchestrator can take actions on jobs – such as suspending, resuming, or terminating – based on business rules defined in advance
  • SAS Workload Orchestrator can manage hosts (open and close) so that SAS Compute jobs are allowed or prevented from running there.

 

Centralized workload management and monitoring

Kubernetes administrators can easily manage and monitor any workload running inside a cluster, but this capability is usually not available to end-users, and maybe not even to SAS administrators.

 

If you have a SAS Workload Management license, the Workload Management page in SAS Environment Manager makes the following tasks available:

 

  • monitor and manage jobs (pods that are launched on Kubernetes by SAS Workload Orchestrator)
  • monitor and manage queues, which control where and when jobs are processed based on prioritization and resource allocation
  • monitor and manage hosts, which are compute nodes (machines) that process the jobs from the queues
  • view the SAS Workload Orchestrator logs and specify logging levels for the SAS Workload Orchestrator loggers
  • configure SAS Workload Orchestrator, including defining queues and host types, specifying how workloads are managed, and specifying user access to queues

 

End-users can perform these tasks only on their own jobs, or on queues on which they have administrative rights. SAS administrators have full access to all these capabilities.

 

Distributed Enterprise Scheduling

SAS Viya includes by default scheduling capabilities so that SAS jobs can be scheduled to run at a specific time. Triggered SAS jobs are started by Kubernetes on the best available node according to its own default policies.

 

SAS Workload Orchestrator applies the additional workload management capabilities previously highlighted to scheduled jobs, too. Remember that, on Kubernetes, scheduling a job to run at 3:00 AM does not mean that the job will run at 3:00 AM. It means the job will be submitted to Kubernetes at 3:00 AM, but, if at that time the cluster is too busy and has already reached its scalability limits, scheduling may timeout and fail. With SAS Workload Orchestrator jobs are held in priority queues: if the cluster is full, scheduled jobs may have to wait until their priority allows them to run, but they should eventually be launched on a node and run.

 

SAS Workload Orchestrator can also be configured to enforce preemption of running low priority jobs to allow time-sensitive scheduled jobs to run first – the low-priority jobs will be terminated and then restarted when possible.

 

High Availability – Scalability

As you can read in the post SAS Viya High Availability: Fault Tolerance with the 2020.1 and Later Releases, fault tolerance can be provided by availability capabilities that exist at multiple levels

 

  • Infrastructure (Cloud Provider):​ cloud environments provide availability to the infrastructure (i.e. storage, load balancers, Kubernetes control plane, all have a guaranteed uptime).
  • Kubernetes: it ​provides a basic level of availability by automatically distributing services on multiple nodes, monitoring and restarting failed pods, and routing communication only to healthy instances.
  • SAS Viya: ​application servers and services can be clustered to increase their availability.

 

Clustering at the infrastructure, Kubernetes, or SAS Viya levels also provides scalability capabilities. Although SAS Viya servers and services – including CAS – are usually configured to run with a fixed number of pod replicas, SAS Compute sessions are dynamically launched with multiple pods, scaling up as long as there are enough hardware resources – or a limit set by an administrator is reached.

 

For these reasons, availability and scalability are areas where the capabilities provided by SAS Grid Manager to SAS 9 environments are already included in any default SAS Viya deployment on Kubernetes. A big win for SAS customers!

 

Bonus

SAS Viya on Kubernetes includes by default a batch server, which can run batch jobs submitted using the batch plug-in for the SAS Viya command-line interface.

 

This batch client CLI can submit SAS programs or commands from a command line to a SAS Viya environment running in a Kubernetes cluster for batch processing. It can even start an interactive SAS session in a Kubernetes pod. If you are an experienced SAS Grid Manager on SAS 9 user, you may already see where I am going.... does this sound familiar? Compare it with the capabilities provided by the SAS Grid Manager Client Utility (SASGSUB). They are really similar: in fact, the new batch CLI is SASGSUB, ported to SAS Viya.

 

Another capability included by default in every SAS Viya deployment on Kubernetes!  

 

Conclusion

SAS Workload Orchestrator is a welcomed addition to the SAS offerings available on the newest SAS Viya platform. Customers will be able to benefit from advanced workload management capabilities, priority-based queues for SAS jobs, and more granular control on workload placement.

 

Find more articles from SAS Global Enablement and Learning here.

Version history
Last update:
‎11-10-2021 09:55 AM
Updated by:
Contributors

sas-innovate-2024.png

📢

ANNOUNCEMENT

The early bird rate has been extended! Register by March 18 for just $695 - $100 off the standard rate.

 

Check out the agenda and get ready for a jam-packed event featuring workshops, super demos, breakout sessions, roundtables, inspiring keynotes and incredible networking events. 

 

Register now!

Free course: Data Literacy Essentials

Data Literacy is for all, even absolute beginners. Jump on board with this free e-learning  and boost your career prospects.

Get Started

Article Tags