Context
Parallel computing is an active field of research in France and in foreign countries. More precisely, intensive numerical applications requires lots of resources and needs to solve ever bigger problems. Such is the case for weather forecasting, fluid mechanics or search on the Internet. All these problems necessitate a bulk of computing on an evergrowing load of data.
Many of these problems are hard to solve on only one high performance computer and even more so on a standard computer. Parallelism is one of the compulsory components of intensive numerical computing. At the moment, the favoured architectures for these fields are the high performance parallel computers or the clusters of dedicated computers. Such architectures offer many advantages, specially to those in charge of developing applications because of their homogeneity. Nevertheless, the cost of such computers is very high and they are soon very loaded. Moreover, these architectures have their limits too. It is always possible to come across a problem too big for the most powerful computers.
So, it is necessary to come up with new computing mechanisms, which do not aim at replacing high performance computing on dedicated architectures. Computing grids and peer to peer systems are developing fast. An ever more substantial part of the people involved in numerical simulation shows an interest in these technologies. They come up against various problems such as the portability of their applications, the use of distributed resources and, of course, the choice of the middleware they will use. That choice is usually crucial for it defines which tools will be available for the the application programmer, but also for the users.
As those middlewares are very recent, there are no standards for the time being administration, exploitation or monitoring of execution tools. This diversity is very useful but it remains a constraint for the users of these architectures.
Last updated on : January 29 2009 11:22:17.
Goals
The aim of YML is to give the user tools for the running of those middlewares and which do not depend on the grid middleware used. YML specially focuses on two specific tasks, namely the development of applications and the execution of applications on a grid or peer to peer middleware. YML offers tools which hide the differences between the middlewares and which may be used as bridges between the last-mentionned.
Last updated on : January 29 2009 11:22:17.
Overview
YML is a software package which allows to make use of the large scale platforms such as computing grids and peer to peer systems. It offers a bunch of integrated tools enabling to describe and execute applications for that type of architectures.
YML is based on a language specially created for this project and which clearly separates computing from communications. This language is defined so as to make it possible to program the applications independently of the middlewares used. Each grid or peer to peer middleware actually rests on its own communication, interraction and remote execution mechanisms.
YML defines a model of components in order to reach the goal of independence of the underlying middleware or middlewares. Those components are organized in two levels of catalogues. The first catalogue lists the pieces of information which are independent of the middlewares and the second family of catalogues contains information specific to a given middleware. The two catalogues are respectively known as development and execution catalogues.
YML is mainly based on two programmes. One of them is a compiler for the dedicated programming language and the other one is a real time scheduler. The former deals with the development step and does not depend on the underlying middleware whereas the latter exclusively handles the execution step. These two programmes are managed by a programme in charge of dealing with the client connections named the manager.
Last updated on : January 29 2009 11:22:17.