IBM Spectrum Symphony
Introduction
IBM Technology Services
Kevin D. Johnson, MBA, MAcc
MS Global Technology and Development
© Copyright IBM Corporation 2022 9.0
Overview
• IBM Spectrum Symphony
• Build and run business applications on the grid
• Scale and share your compute capacity
• Predictable, high-utilization sharing among 100+ applications
• Scale up to 20,000 CPU in enterprise grid and up to 5,000 cores per
application
• Linear scale-up to fully utilize multi-core environments
• Runs up to 17,000 tasks per second
• Runs with less than 1 ms latency
• Cloud-based architecture for Citi running Symphony on IBM Spectrum
Scale
Basic Symphony Architecture
How Symphony Functions
Symphony Cloud Architecture
IBM Cloud
On-Prem
Encryption/SKLM
IBM Spectrum Scale Cluster IBM Spectrum Symphony
Symphony Application Workflow
Symphony SOAM includes these major components,
what manages the workload:
• SDK/API
• Session director (SD) – One SD for the whole SOAM
• Session manager (SSM) – One SSM for each
application
• Service instance manager (SIM) – One SIM for each
service instance
• Service instance (SI) – Running instance of an
application’s service executable
Symphony Workflow
Symphony Grid
Grid
• Has all sorts of inter-connected computing resources (nodes, CPUs, GPUs,
storage)
• Has users and applications using the computing resources in a managed way
Grid
Symphony Consumers
Consumers
• Applications use the resources from a grid.
• Use and consumption of resources is organized in a structured way, through
consumers.
• A consumer is the unit through which an application can get and consume
resources from the grid.
• Consumers can be organized hierarchically to model the nature of an organization
Grid Consumer
Grid Name
Risk applications
OvernightCal2
OvernightCal3
RealtimeRisk1
Analytics
Analytics2.1
Analytics2.3
PretradeAnalytics1
Symphony Applications
Applications
• Applications use resources from the grid through consumers.
• Applications need to be deployed to leaf consumers first.
• Under each leaf consumer only one application can run
• Applications can be of different types: SOA, batch, and so on.
• An SOA application consists of two programs:
• SOA = Client (client logic) + Service (business logic)
• Each application has an application profile which defines everything about the
application.
Grid Consumer Application
Symphony SOA Design
Applications are Service-Oriented
Client:
• Built with IBM Spectrum Symphony client APIs
• Interact with the grid through sessions
• Send requests to and receive results from services
Service:
• A self-contained business function that accepts requests and returns
responses from/to the client
• Need to be deployed onto a consumer
• Can run in multiple concurrent instances
• Use computing resources
Application Service
Grid Consumer
(SOA)
Client
Symphony Application Sessions
Session
• A client interacts with the grid through sessions.
• Each session has one session ID generated by the system.
• A session consist of a group of tasks that are submitted to the grid.
• Tasks of a session can share common data.
Grid Consumer Application
Symphony Session Tasks
Task = autonomic computation unit (within a session)
• Basic unit of work/computation in parallel
• Can have input/output message
• Identified by a unique task ID within a session, generated by the system
Service
Grid Application
Consumer Session(s) Task(s) … … …
(SOA)
Client
SOA
SOA: Service-oriented architecture
A SOA application consists of two logic parts
SOA = Client (client logic) + Service (business logic)
Client sends requests to service, service responds with results
One service can have multiple running instances
Client logic Business logic
Business logic
Business logic
Symphony Application Sessions
All SOA application objects together:
application, application profile, client, service, sessions, tasks
SOA: Service-oriented architecture
An SOA application consists of two logic parts:
SOA = Client (client logic) + Service (business logic)
• Client sends requests to Service, Service responds with results, during the
whole computation
• Multiple running instances which expand and shrink as resources/CPUs
change
POA: Process oriented architecture, also known as batch
Input fixed at the beginning; results obtained at the end of computation
Think Symphony → SOA application POA application (batch) Think LSF
Business Client Business and Client
Logic Logic Logic
IBM Spectrum Solutions
Symphony Application Sessions
Symphony includes three key product components: EGO, SOAM, and
PMC:
EGO: Enterprise grid orchestrator
Manage computing resources for all types of workload (SOA, batch, …)
Deliver virtualization, automation, and sharing of resources
SOAM: SOA middleware (also referred to as IBM Spectrum Symphony)
The middleware for SOA applications
Manage SOA applications and workload
Use resources allocated by EGO or EGO equivalent
Symphony Components
Symphony Layered Architecture
SOAM
Application
Development Application Workload Workload
library management execution
•Build and Test
Client Service
•Grid-ready
applications API Service session instance
•Can Web GUI on
run directly Service manager (SSM) manager
the system OS API (SIM)
IT Managers
•Run and manage EGO
•Grid-enable
Host Roles
Management host
• Hosts that are designated to run management components of the grid. By
default, these hosts do not run user’s workload.
• Master host
• This is the first host installed. The main scheduler of the grid resides
here. The master host controls the rest of the hosts of the grid and is
the interface to the clients of the grid. There is only one master host
at a time.
• Master candidate
• A candidate host can act as the master if the master fails. There can
be more than one master candidates.
• Non master and non-master candidate management host.
Compute host
Hosts that are designated to execute work.
Client host
Hosts that are used for submitting work to the grid. Normally, client hosts are not
members of the grid.
Host Roles
Grid Master Candidates/Management Hosts
server01 (Current Master) server02 server03
Ethernet network
Grid Compute Nodes
server04 server05 server07 server09
cluster01 cluster02
EGO Components
Four major system components:
LIM – Load information manager
VEMKD – VEM kernel daemon
PEM – Process execution manager
EGOSC – EGO service controller
Clients
APIs
Master LIM VEMKD PEM EGOSC
LIM LIM LIM
PEM PEM PEM
Other ...
hosts
EGO Services
An EGO service: a self-contained, continuously running process managed by EGO
EGO ensures the failover of EGO services
Many of Symphony’s management components are implemented as EGO services:
Examples:
• WebGUI
• SD (Session director)
• RS (Repository service)
SOAM Major Components
SOAM includes these major components
• SDK/API
• Session director (SD) – One SD for the whole SOAM
• Session manager (SSM) – One SSM for each application
• Service instance manager (SIM) – One SIM for each service instance
• Service instance (SI) – Running instance of an application’s service
executable
Symphony Components on Hosts
Symphony Reporting Components
Data purger
JDBC driver
Out of the (purger)
box reports PERF
database
Data loader
(plc)
Data
Custom loaders
reports
Data sources
The End
Thank You
© Copyright IBM Corporation 2022 9.0