Return to Home --> Advanced --> Ideas


Developing and Deploying SimSANs Service Provision Platform


It is possible that SimSANs can be deployed as a software service platform dedicated to the provisions of designing, modeling, simulation, analysis and evaluation of the storage networking systems. This is fairly a rough idea. Its architecture and some suggestions to the implementation are given below. Interested people are feel free to comment on it.


General Picture
The SimSANs software platform is based on a client-service model whose architecture is shown in the following figure.


SimSANs Software Platform Architecture

Click here to see its VML version (requiring IE)


The general picture of the software platform is: once receiving the user requirements from the client side, the service side will generate correspondent network schemes as well as simulation programs, then process simulation modeling, running, and analysis, and finally issue the evaluation reports back to the users.


The software platform is composed of seven modules:
1. Front-End User Interface: This module is used to (1) accept user requirements regarding network topologies, I/O traffic, and system configurations, etc., and (2) visually display relevant information such as the graphs of network topologies and evaluation reports.
2. Network Schemes Generator: This is an intelligent module for automatically translating user requirements to correspondent network schemes, each of which is related to a given parameter set: network topologies, system layouts, system configurations, and traffic patterns, etc.
3. Simulation Control Centre: This module is used to (1) select appropriate models from the modeling libraries to construct simulation programs for correspondent network schemes, (2) calculate timing elements for processor-relevant components, (3) distribute the simulation programs to simulation running systems, and (4) control and optimize the simulation programs run.
4. SANs Modeling Libraries: This module contains the models dedicated to constructing storage network simulation programs.
5. Processor Instructions Base: This module generates timing elements for processor-relevant components such as protocol stack processor, host bus controller, switch ASIC, cache controller, array processor, and disk controller, etc. The generated timing elements will be embedded into the simulation programs or (optionally) be supplied on the fly during the running of simulation programs.
6. Simulation Running Systems: This module is a high performance computer system or a server cluster, running simulation programs with controlled by simulation control center. Simulation kernel and engine including those used for networked parallel processing will be running in this module.
7. Simulation Analyzer: This is an intelligent analysis module that is used to (1) analyze simulation results based on the data collected during a simulation run, (2) generate user-friendly performance evaluation reports including graphs, and (3) issue the evaluation reports back to the users.


To realize the client-service architecture mentioned before three kinds of server systems should be deployed at the service side. The diagram is shown in the figure below.


SimSANs Software Platform Implementation

Click here to see its VML version (requiring IE)


1. User Interface Server: This server is running the Front-End User Interface module. In fact, it is a web server, which (1) distributes the user interface client software to the userís workstation, and (2) runs user interface server software to collect user requirements and forward them to the controller server. User interface client software is a well-designed GUI (graphic user interface) that can be, for example, a Java applet or ActiveX control running from userís Internet browser. User interface server software can be, for example, a Java Serverlet or ASP (Active Server Pages) program running on top of the web server. A typical system of the user interface server can be a Windows 2000 server with IIS (Internet Information Service).
2. Controller Server: This server is running five modules:  Network Schemes Generator, Simulation Control Centre, SANs Modeling Libraries, Processor Instructions Base, and Simulation Analyzer. A typical system of the controller server can be a Windows 2000 server or Linux server.
3. Simulation Running Cluster: The cluster is the Simulation Running Systems. Complex simulation programs require very high performance computer systems such as the parallel processing system with 16 to 64 CPUs. However, such a parallel processing system usually costs several hundred thousand dollars or even several million dollars. Recently, with the emergence of low-price high-performance server processors (e.g., Intel Xeon processor) and high-speed I/O connectivity technologies (e.g., Dolphin I/O adapter card), networked parallel system or server cluster is becoming a cost-effective replacement for traditional multiple CPU parallel systems. A typical configuration of the simulation running cluster can be several dual Xeon based Linux systems inter-connected with Dolphin high-speed I/O adaptors.



This page was last updated 2003.10.15