Connecting multiple processors is a very old way to speed up the calculation. While in the 1980s attention was focused primarily on parallel computers, since the second half of the 1990s, interest has shifted unequivocally to distributed systems using the features of an increasingly powerful Internet. At that time, the performance of commonly available computers (workstations) reached values previously reserved for supercomputers. The combination of such systems resulted in clusters where the nodes are connected by a common high-throughput network (typically Ethernet). As internet bandwidth exceeded the parameters of local networks, it has become effective to connect the remote cluster to more and more powerful units. Grids were created, distributed distributed systems linking tens of thousands of nodes around the world.
Further interest in the combined environment of parallel and distributed systems occurs in connection with the practical cessation of further performance growth of individual processors. Moor's law no longer concerns a specific processor, but their groups - multi-core processors are created, and common workstations are more than one processor. The individual nodes of the clusters are no longer a single processor, but today 8-16 kernels and this number is still increasing. An increasingly complex distributed environment is emerging which, on the one hand, offers unprecedented computing power, but on the other hand, its efficient use is a problem that IT has not yet satisfactorily solved.
A relatively simple situation exists in the case of so-called "embarrassingly parallel jobs", where the solved task can be divided into a huge number of completely independent calculations. An example is SETI @ Home , a program of searching for extraterrestrial civilizations by analyzing the signals received by radio telescopes. Signals are huge, but can be processed completely independently. More than one million stations can be included in the calculations, together providing huge computing power.
In the case of "common" algorithms, however, parallelization is much more difficult, and calculations need to create the appropriate environment that distributed computing allows. In this context, we have been focusing in the long term on the issue of building a universally applicable distributed environment as well as on concrete ways of its use.
The practical aspects of building a distributed environment and related mainly to development issues are solved in cooperation with CESNET. At FI and ÚVT we mainly deal with the following areas:
Security in a distributed environment, with a special focus on authentication methods, collaboration of various authentication mechanisms suitable for large distributed environments, federative approaches to authentication, authorization bases,
Distributed storage as a necessary condition for a usable distributed environment.
Virtualization of distributed computing environment.
Distributed calculations , support for specific applications, especially
Haptic interactions represent the computationally challenging task of quickly calculating deformations of complex objects. The touch (haptic) interaction requires the order of thousands of coordinate calculations of the deformed object per second, which is manageable either by large off-line calculations, on-line distributed calculations of a particular subspace using accelerators - for this purpose, we use especially fast graphics processors (nVidia, CUDA architectures and TESLA).
Distributed multimedia processing for fast transcoding and long video footage (eg lectures) using decomposition, parallel distributed processing, and subsequent composition of the recoded record. Resolved within the Distributed Encoding Environment (DEE) project. Due to the distribution of the calculation, it takes about 8 minutes to process a two-hour lecture, with one machine taking approximately an hour.
In particular, we focus on authentication methods using different identifiers and mechanisms such as Kerberos, digital certificates, common and one-time passwords, and possible transformations between mechanisms. We will also focus on the use of Shibboleth and SAML technology federations and their integration into distributed applications. An example of these applications is a pathological atlas that allows access from several academic federations across Europe or an on-line certification authority whose certificates containing additional user attributes are the basis of our solution for secure video conferencing systems.
Since many existing systems use digital certificates, we focus on PKI deployment issues in a widely distributed environment and on PKI issues that are not visible on a small scale. We tackle the possibilities of getting digital certificates easier and, for example, connecting to institutional user management systems. E.g. the developed connection to the authentication mechanism in the University University will allow transparent access to MU secure pages. Some of the aspects we have recently addressed include the reliable distribution of a revocated certificate list or the support of smart cards in distributed systems.
Distributed storage space
Sufficient disk capacity is increasingly becoming one of the major rating factors when making a new computer. The ability to count, from which computers have their own name, has become increasingly subordinate with processor performance, and data and processing capabilities are the first point of attention. An analogous trend is also observed in the area of large distributed systems, where new possibilities of disk capacity utilization of computer-networked systems have been explored in recent years.
Distributed data storage brings a number of interesting theoretical problems. Currently, there are many distributed storage systems, which shows that distributed storage is a great concern and that it is not easy to create a sufficiently versatile distributed storage. Our current research focuses on the following areas:
Distributed storage that can be used as the home directory of many users
In this area, traditional systems such as AFS or NFS appear to be severely inadequate.
Distributed storage as a fast storage space
New and new solutions are emerging in this area, but not all of our requirements (robustness, safety, speed).
Robust hierarchical high-capacity distributed storage
Grid storage such as D-cache is moving in this area, but it does not cover all areas of distributed data storage research.
One of our first projects dealing with distributed data storage was the DiDaS ( Distributed Data Warehouse ) project in 2003, in which we built a network of data repositories in large cities in the Czech Republic. The pilot application using the results of the DiDaS project is a distributed lecture processing (within the DEE project, which illustrates the link between distributed repositories and distributed computing). This application is used today, processed hundreds of hours of lecture notes at the Faculty of Informatics, and protected several hundred terabytes of data.
The follow-up project on distributed storage was in 2006 the PADS project ( Protocols and application of distributed warehouses ). As part of this project, we have dealt with a previously neglected topic - data security in distributed repositories. The design and implementation of the authentication and authorization system was created in a distributed environment, which we consider to be a rather unique solution.
We are currently deploying NFSv4 for home computing cluster users. We also support IPv6 support and NFSv4 keyring support. We are researching systems such as Luster FS, PVFS2 or Glusterfs for fast network storage. Directly at the university, we explore and develop the capabilities of providing IT storage capabilities for the entire University.
Providing virtual machines to users instead of traditional task launching and physical nodes brings a new quality of service, particularly in supporting interactive tasks, preemption, and user management options for such infrastructure.
In traditional computing systems, the administrator installs and manages the operating system and applications. Users enter their computational tasks into the task scheduler and have only minimal control over the task execution. Virtualization of computers in a cluster will introduce another "level of inversion", separating the installation of the operating system from the physical machine.
Users can thus get significantly more rights in resource management. They can use their own operating system installations (and have administrative rights running on them), install their own applications, use a custom task scheduler in a virtual cluster.
This leads to a significant change in the management of such infrastructure. We address, in particular, but not exclusively, the following issues.
- Resource Planning for Virtual Machines. Planning granularity has changed from the very task of running computers.
- Safety. Users can not allow direct access to a network with the identity of their infrastructure provider if they have administrative rights to computers on that network.
- Network support. Virtual clusters may require encapsulation in virtual networks despite large physical networks, access to encapsulated networks, access to external data sources and services.
- Control of virtual machines. Virtual machines can coexist on shared physical infrastructure, their lifecycle and access to resources must be controlled.
An interesting area of research within virtual reality is haptic interaction with deformable objects. The user equipped with a haptic device with a feedback force by means of a probe (the test object) interacts with a virtual object that changes its shape according to the position of the probe.
One of the applications of these models is so-called surgical simulators that allow you to perform virtual operations that can be used to train future surgeons, scheduling complicated procedures on a particular patient model, or training operations in non-standard conditions (eg, outside the gravitational field).
The basic requirement placed on these simulators is primarily realistic behavior of simulated objects, which requires the physical formulation of the problem. However, the simulation is computationally challenging in this case because it usually leads to solving large systems of non-linear equations. On the other hand, realistic haptic interaction requires a high refresh rate (more than 1kHz), so the calculation is not real-time. In the framework of research at the Faculty of Informatics, we are dealing with algorithms designed to combine haptic interaction with computationally demanding nonlinear models. Algorithms are based on pre-counting state space, which is then interpolated during the interaction itself. The pre-calculation is implemented in a distributed environment, which leads to a significant shortening of the waiting for the calculated data.
We are also currently addressing a modification of this approach when the state space required for interpolation is generated directly during the interaction, thus avoiding pre-counting phases, but with higher demands on solution speed. To achieve these goals, we are currently testing the latest technologies such as Infiniband and accelerated GPU calculations. In the future, we are planning to design more complex models, such as cutting and tearing.
Information for students
The issue of distributed computing and distributed data storage offers a number of very interesting research topics, and a whole range of bachelor and diploma theses have been developed here. However, we are still looking for candidates who would like to contribute with their new ideas and ideas. We can engage in the activities of our group either in the form of a bachelor's or diploma thesis, in the form of a doctoral study or by simple external cooperation on a project we solve. In the IS MU it is possible to find references to a number of free bachelor's and master's theses led by individual members of the research team, on the basis of personal agreement it is also possible to propose new assignments from the research areas of the group.
International and national cooperation
Our group works closely with a number of international institutions, among the most important of which are:
- University of Tennessee, Knoxville , USA
- Louisiana State University, Center for Computational Technologies USA
- BLACK , Switzerland
- INFN , Italy
Our group is involved in a number of international projects, among the most important being:
Current grant projects
- Highly parallel and distributed computing systems , 2005-2011, research plan No. 0021622419, Ministry of Education, Youth and Sports of the Czech Republic
Research team from MU
doc. RNDr. Luděk Matyska, CSc.