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.