Given by Geoffrey C. Fox at HPDC8 IEEE Symposium on High Performance Distributed Computing Redondo Beach Ca on August 3-6,1999. Foils prepared August 21 1999
Outside Index
Summary of Material
See Conference Home Page |
Goals architecture and design of (Middle Tier) of gateway system |
Outside Index Summary of Material
Tomasz Haupt Northeast Parallel Architectures Center Syracuse University haupt@npac.syr.edu |
E. Akarsu, G. Fox, A. Kalinichenko, K. Kim, P. Sheethaalnath, C. Youn; B. Asbury (ASC), K. Flurchick (OSC) |
To provide a problem-oriented interface (a Web portal) to more effectively utilize HPC resources from the desktop via the Web browser. |
This "point & click" view hides the underlying complexities and details of the HPC resources and creates a seamless interface between the user's problem description on his/her desktop system and the heterogeneous computing resources |
These HPC resources include supercomputers, mass storage systems, databases, workstation clusters, collaborative tools, and visualization servers. |
Support for a seamless access (security) |
Support for distributed, heterogeneous Back-End services (HPCC, DBMS, Internet, ...) managed independently from Gateway |
Variable pool of resources: support for discovery and dynamical incorporation into the system |
Scalable, extensible, low-maintenance Middle Tier |
Web-based, extensible, customizable, self-adjusting to varying capacities and capabilities of clients (humans, software and hardware) front end |
CTA specific knowledge databases |
Visual |
Authoring |
Tools |
User and |
Group |
Profiles |
Resource Identification and Access |
Visualizations |
Collaboration User Services |
Back-End Resources |
Problem Solving Environment |
Problem Description |
Framework |
Middleware |
Core Grid Services |
Resources |
CAT |
Gateway |
Networks, Computers, Databases, Instruments, etc. |
Security, scheduling, communication, allocation |
Distributed Object Model |
Component Framework |
Problem Solving Environments, Visual Authoring Tools, Profiles, Visualizations, User Services |
WebFlow |
CORBA |
Globus, JDBC |
several different |
c.f.: Juan Villacis, et.al., "CAT, High Performance, Distributed Component Architecture Toolkit..." |
Front End |
Middle Tier |
Back End |
host 1 |
host 3 |
CORBA object implemented in Java |
CORBA client |
client |
Front End |
Middle Tier |
Back End |
run() |
fireEvent("done") |
GASS |
GRAM |
input |
output |
exec |
GASS |
GRAM |
input |
output |
exec |
Resource descriptor: |
resource type: cluster, machine, network, database, mass storage, instrument, compiler, debugger, application, license, file, ... |
Defined in XML |
At this time we need: |
machine (computational resource) |
file |
application |
Resource descriptor: |
resource type: cluster, machine, network, database, mass storage, instrument, compiler, debugger, application, license, file, ... |
Defined in XML (or UML/XMI?) |
At this time we need: |
machine (computational resource) |
file |
application |
Resource descriptor: |
resource type: cluster, machine, network, database, mass storage, instrument, compiler, debugger, application, license, file, ... |
Defined in XML (or UML/XMI?) |
At this time we need: |
machine (computational resource) |
file |
application |
Resource descriptor: |
resource type: cluster, machine, network, database, mass storage, instrument, compiler, debugger, application, license, file, ... |
Defined in XML (or UML/XMI?) |
At this time we need: |
machine (computational resource) |
file |
application |
Resource descriptor: |
resource type: cluster, machine, network, database, mass storage, instrument, compiler, debugger, application, license, file, ... |
Defined in XML (or UML/XMI?) |
At this time we need: |
machine (computational resource) |
file |
application |
<abstract resource id="ahostid"> |
<application id="aapplication id"> |
<task id="taskid"> |
Textual task description |
</task> |
<abstract task descriptor id="atdid"> |
</abstract task descriptor> |
<task taskid="taskid">...</task> |
<connection>...</connection> |
Object Oriented |
<task descriptor id="tdid"> |
<resource id="resource id"> |
<application id="application id"> |
<task id="taskid"> |
Textual task description |
</task> |
</task descriptor> |
<task taskid="taskid">...</task> |
<connection>...</connection> |
Abstract |
Task |
Descriptor |
Task |
Descriptor |
Resource |
Broker |
<abstract task id="atdid"> |
Navigate and choose an existing application to solve the problem at hand. Import all necessary data. |
Retrieve data |
Pre/post-processing |
Run simulations |
Select host |
Select model |
Set parameters |
Run |
Launching coupled simulations on different Back-End computational resources |
Gatekeeper |
PSE: |
- Define problem - Select code(s) |
- Set parameters |
- Generate input files |
- Identify hosts capable to run it |
Select resources (e.g., hosts) |
Allocate resources (submit jobs) |
Postprocess results |
Navigator |
Control |
Applet |
Resource |
Descriptor |
Invokes methods of the control applet |
Middle Tier |
SECIOP secure (kerberized) connection |
Select tools |
Select PSE |
Navigate through PSE |
Access to Middle Tier Services |
Web Browser |
WebFlow server is given |
by a hierarchy of containers |
and components |
WebFlow server hosts users and services |
Each user maintains a number of applications composed of custom modules and common services |
Components are software objects that provide implementations of a set of standard behaviors. These behaviors are defined by the component framework to ensure that components can be composed and interoperate efficiently and without conflict. Juan Villacis et al., "CAT: High Performance, Distributed Component Architecture..." GATEWAY: BeanContextChild + custom (CORBA3-like) event model |
Front End |
User Context WebFlow Slave Server |
Backend Resource |
Gatekeeper: |
WebFlow Master Server Web Server Proxies |
Backend Resource |
Backend Resource |
Backend Resource |
Backend Resource |
Distributed |
Middle-Tier |
File service
|
Job services
|
Object Services
|
Database services
|
Visualization (under design) |
Collaboratory (under design) |
Mass storage services (planned) |
User Services (planned) |
We are building a Web Portal for high performance computations. |
Secure and seamless access to resources is provided through the Grid services (Globus). For DoD users, the security is based on Kerberos. |
We complement the grid environment with the user and application specific services through a customizable, high-level, browser-based front-end that allows the user to specify the computational task and provides access remote data. |
The system is based on commodity software components: XML, HTML, SSL/Kerberos, Java, CORBA, Globus |