March 10, 2010
Welcome to ASCGENOA.com
The Leading Software Solution for Material and Structural Failure Analysis
Quick News & Press Release
NANO Capability Introduced
New PFA Unit Cell
New MCO Unit Cell
Issue #18 - 7/13/2009
Numerical Approach to Determine Crack Path and Delamination Growth in Composite Structures
Issue #17 - 5/4/2009
Certification-by-Analysis (CBA)
Issue #16 - 10/20/2008
Material Qualification and Certification Determine Allowables by Means of Virtual Simulation Combined With Limited Testing
Issue #15 - 6/10/2008
Predicting Post-Buckling Response and Ultimate Failure of Composite 2-Stringer Panels
Issue #14 - 4/28/2008
Composite Storage Module Joint Analysis and Test Verification
Issue #13 - 2/25/2008
GENOA 4.3 Release with A- and B-Basis Allowables
Home |  Products |  Materials |  Structures |  FactSheets |  FAQ |  Examples |  Newsletters |  Demo |  Download |  Contact
Job Spooler
 

GENOA Job Spooler for Maximum Processing Performance

View Job Spooler Factsheet (PDF)

Overview

A GENOA client may send remote analysis jobs to a central GENOA job server. Using a spooling architecture for job queues, this may provide efficient parallel job performances and management of resources. The jobs are processed as a whole and are not broken up into partial jobs like MPI and other parallel job methods. Therefore the job spooler works on a global macro level where it sends an executable job to be performed completely on a specific target workstation.

Advantages

The following significant advantages of using a job spooler are:

1.             Remote job runs without consuming client resources.

2.             Parallel jobs to maximize high performance workstations for users and for modules that need parallel jobs to run (A&B Allowables, Parametric Carpet Plots, Probabilistic runs, etc).

3.             Handle large number of jobs (1000+).

4.             Virtual Job Server capability allows job distribution to multiple servers.

5.             May use secured username & password logins.

6.             Ideal management of analysis resources.

Requirements

There are minimal requirements to allow the easiest setup and usage among users:

1.             No database, no web server, no other software needed (unlike CVT).

2.             Uses common network protocol SOCKET technology (not a web server).

3.             Server requires IP Address (129.199.0.37) and Port Number (5555) assignment for clients which allows intranet and internet remote possibilities.

Server/Client Operations

The operations between a client and server use a send/respond model for every stage of the analysis monitoring. The stages involve the client to:

1.             Connect to the Server.

2.             Request to Create a Job on Server.

3.             Upload the analysis files to Server.

4.             Regularly check with the Server on status of analysis job (if it is completed, queued, or running).

5.             After job completion, the client requests to download the output files from the analysis and closes the job.


The client is responsible to maintain communication with the server and to monitor the analysis job. The server does not initiate a call to a client to inform or communicate any information, the server simply responds to a client request. The server responds to each of the client stages:

1.             Sending an OK to a client connection request.

2.             Creating a job and dedicated private directory for a client's job request along with a Job ID and password for the client to use in future requests with the job.

3.             Retrieving and storing the client's upload files in the private job directory.

4.             Retrieving the analysis job command from client and putting it in a queue to be executed.

5.             Responding to a client's monitoring request of the execution with a completion, running, or queued status state.

6.             Sending the files back to the client's download request and deleting the analysis job directory after client has closed the job.

Figure 1 - Transactions between Client and Server for an Analysis Job

Figure 2 - Client monitoring a PFA job's output from the remote server. The current job here is Job #5 where two previous jobs (2 & 4) have already been completed with a "Job Done." status. The bottom window shows the execution output of Job 5 from the server.

Figure 3 - Multiple jobs can be queued and monitored efficiently from the client side. Each job is monitored in parallel with each other showing a "Job Running", "Queued", or "Uploading Files" status.  Depending on the server's capabilities and performance, the job may be queued until the server is ready to execute. In the above example, there were a maximum of 2 jobs allowed to run simultaneously on the server where higher performance servers can allow 10+ jobs. 

Figure 4 - A higher performance workstation may execute more than 10 jobs simultaneously which the above example shows. The client GUI above submitted 10 jobs which all of them were able to execute in parallel with each other therefore reducing performance time significantly for all jobs. This maximum job setting can easily be configured on the server GUI.


Figure 5 - The Server GUI shows all of the incoming job requests from clients. The clients never see these collective jobs from the server point of view and the top window shows the job's start date and completion date involving uploading, executing, and downloading files while the bottom window shows the actual execution of the analysis.

Another benefit of the GENOA Job Spooler is that it may not be limited to GENOA executables alone but may be used for any executables, such as NASTRAN, custom executables, third-party software, etc. In addition, the administrator has complete control over which executables may be used on the server to prevent malicious commands being executed on the server.

Virtual Job Server

One of the exciting features of GENOA Job Spooler is the use of a Virtual Job Server to act as a gateway server between a client and other multiple analysis servers. This may be helpful in load balancing jobs across several servers instead of one primary server. The client and virtual server communicate in the exact same method as a client-to-server model where the client does not know the difference between the virtual server and a real server. This may be useful for sending jobs anonymously to other servers that may be more sensitive to direct connection from a client therefore allowing better security in the overall client-to-server relationship.

Better server framework that submits job to multiple analysis servers or "analysis farm."

Used by circular (round-robin) job submitting to avoid job stack-up on first server, etc.

Figure 6 - In an external or unsecured network, the client connection to a server might not be desirable due to the security risks of exposing the IP and Port address of the server.

Figure 7 - The Virtual Job Server acts as gateway allowing the external client to connect to another IP and Port address while mediating all communications between the client and target server.  The client and server do not know the difference and act normally.

Figure 8 - In addition to security, the Virtual Job Server is ideal for load balancing and managing jobs across multiple servers. The client only deals with one server (Virtual Job Server) and does not know that the jobs are being sent to other servers. This is far more effective than configuring the client to independently connect to multiple servers.

Figure 9 - There is no limit to the usage of the Virtual Job Server. A virtual server may connect to a real server or another virtual server. The client may send a job to a virtual server where the job may end up at the end of a network of servers and virtual servers, depending on the current load balance of jobs. This creates a powerful web of analysis servers or an analysis farm. The virtual server enforces a circular (round-robin) job submitting nature to avoid over loading a particular server.

Figure 10 - The Virtual Job Server looks similar to the standard server but with the addition of a list of target servers as shown on the bottom. There are two servers that will alternate receiving jobs from any client requests. The virtual server also checks regularly for the maximum number of jobs that each server may run. Therefore it considers which server is the best available server to receive jobs.

DOS Capability and Easy API

GENOA Job Server may be called as a GUI from an icon or from a shell command:

jobspooler -client

jobspooler -server
jobspooler -submit 129.199.0.37 50 /home/renly/input /home/renly/output "pfa -id pfa"

The command line allows arguments to specify what directory to use and what command to run for a client job request. Therefore users may submit their own jobs.

 

 


Products | Materials | Structures | Factsheets | FAQ | Examples | References | Demo | Download | Newsletters | Contact
Alpha Consulting Services