SimSANs Design and Features
SimSANs software tool includes three components:
- Backend Simulation Engine: the simulation core, designed in C++ and based on top of OMNeT++ discrete event simulation framework.
- Backend Management Agent: the management core, designed in C# and used to directly control and operate the simulation engines by accepting control requests from management console.
- Frontend Management Console: the GUI, designed in C# and used as a unified management interface for users to remotely control and operate multiple backend simulation engines.
Each simulation engine is an independent SimSANs simulation instance, which is located in a dedicated directory in the backend engine host and can be managed individually by the frontend console GUI. The management agent is launched, one for each backend host, to communicate with all simulation engines running in the same host. A unified management console can be launched in just one frontend management host to communicate with all agents, hence be able to manage simulation engines from all backend hosts it can reach. The following picture shows the communication framework among the three components:
SimSANs v4 provides the following features:
- Capable of simulating real-world FC and FCoE SAN environment and SCSI IO applications.
- Protocol level implementations of FC (FC-FS, FC-LS, FC-GS, FC-SW), FC-BB-5 (FIP and FCoE), and SCSI (SAM, SPC, SBC, FCP).
- Simulations of daily SAN administration tasks including: VSAN configuration, Zoning, Name Server query, switch port configuration, NPIV configuration, cable connectivity, storage LUN creation, client host setup, LUN assignment, SCSI device scan, and IO generation.
- Real-time monitoring of SCSI IO performance data such as IOPS, throughput, and IO response time.
- Simulations of protocol analyzer functionalities, e.g. Finisar (now JDSU) Xgig, to real-time tracing FC, FCoE, and FIP frame level activities, hence giving a clear picture of how SCSI command get transported via FC/FCoE networks. After all, SCSI storage is all about how SCSI initiator-client discovers and accesses logical-units assigned from SCSI target-server.
- Significant improvement of simulation speed from previous versions yet still maintain the accuracy of major CPU timing simulations including FC/FCoE protocol handling cost at driver level, SCSI protocol handling cost at IO application level, and disk access cost at backend storage level.
- Unified management console to configure, run, and monitor multiple engines simultaneously from just one GUI window.
- As a platform for storage network architecture design and research in the CEE (Converged Enhanced Ethernet) environment, e.g., simulating deployment cases of transitioning from FC-only SAN, through mixed FC/FCoE SAN, and eventually to FCoE-only SAN.
The following collection of pictures can give you an idea of what the SimSANs is capable of doing: