!Welcome to the VMS (old version of Proto-Runtime) home page [[PRT.HomePage | proto-runtime]] Updated home page * [[VMS.Languages | Languages]] built using the VMS version of proto-runtime * [[VMS.Papers | papers]] related to proto-runtime * [[VMS.SampleCode | code]] * [[VMS.Contributors | contributors]] * [[VMS.Develop | for developers]] !!Introduction and Overview VMS is an abstraction for building runtime systems for parallel languages. It's target use is being the "middleware" for a portability eco-system, and as an accelerator for exploring new parallel language constructs. The main feature of VMS is the fast time to implement a runtime system for a parallel language, specifically synchronization constructs and scheduler. It also cleanly decomposes the software stack, isolating layers into application, language runtime, and hardware abstraction. As middleware, the project has several simultaneous goals: * to speedup creation of runtimes * to reduce runtime overhead to a minimum * to support portability patterns * to encourage languages to share schedulers among them * to make domain specific languages more practical * to organize portability-related interactions among hardware suppliers, language creators, and application developers * and to make language exploration easier and faster. Papers can be downloaded from the [[VMS.Papers | papers]] page, and how to get code is explained on the [[VMS.SampleCode | code]] page. Enjoy.