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 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?
If you are familiar with SAS Grid Manager on SAS 9, you may recognize the features that it provides:
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 jobs, auto-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.
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:
Additional workload management capabilities provided by SAS Workload Orchestrator on SAS Viya:
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:
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.
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.
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
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!
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!
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.
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.
Data Literacy is for all, even absolute beginners. Jump on board with this free e-learning and boost your career prospects.