HPC-Middleware

Project Name : HPC Middleware

Code Name : VL-1

VL-1 stands for "Veto The Limits" and the current version is 1.
VL-1 is High Performance Computing Middleware designed for the domain experts/researchers/Teachers who want to focus more on their problem then finding out ways of how to implement their problem. VL-1 is an extension to C/C++ for the end-user to implement their HPC problems as easily as a "Hello, World" for a new bie. VL-1 abstracts all the details of problem scheduling, execution, management and provides a scalable, reliable, robust and easy-to-use application development platform. Single System Image (SSI) is the novelty of the VL-1 making it extremely simple for the end-user to obtain High Performance without using a dedicated cluster environment.
VL-1 uses a DSM-like Data Distribution Manager (DDM) to distribute data between various nodes, ignoring cache cohrerency and data replication issues in DSM.
VL-1 also includes an API which can transfer objects between nodes(Serialization) making it extremely flexible to be used with C++ Objects.
PSE(Problem Solving Environment) of the VL-1 is as simple as 1 2 3. You just have to be aware of C/C++ language and write your problem in form of functions which u want to distribute. The Problem comprises of a Master and a Slave piece of code. In Master user explicitly writes the job length parameters for different instances of problem slave code executing on VL-1 Network, and in Slave code user writes the problem logic which he wants to be computed parallely on the VL-1 Network.
The Problem Execution Management and VL-1 Network Management is done by supporting servers. These servers are reliable and truely multithreaded and are the backbone of the VL-1 System.
Current Enhancements in VL-1 design are in its supporting servers which are currently written in STL(Standard Template Library) and need some optimization. The Idea is to built over own map-like library to be used instead of STL.
Another Improvement is to enable streaming data support in DDM so that VL-1 can be able to compute real-time problems with massive computable data.
Scheduler needs some fixtures as the current multithreaded scheduler is efficient but not very effective in linear load balancing and scheduling across VL-1 Network.