You are here

Research Themes


Fault-Tolerance

  • Raphael Yokoingawa de Camargo (Doctoral student at U. of São Paulo)

Implementation of a portable checkpointing-based rollback recovery mechanism for sequential and parallel applications. Data is stored on a distributed storage system composed of non-dedicated repositories. [more...]
  • Stanley Araújo de Sousa (Masters student at U. F. do Maranhão)

Definition of an infrastructure to provide dependability to Grid applications and components.


Identification of User Access Patterns

  • Danilo Conde (Masters student at U. of São Paulo)

This work intends to develop a mechanism of usage pattern recognition based on unsupervised machine learning techniques. Our goal is to establish data clusters on the gathered resources usage information. These clusters will define categories of operation of each node of the grid. In a given time, the identification of the current operating category will make it possible to make a systematic decision about the possibility of use of a specific shared resource.

  • Germano Capistrano Bezerra (Masters student at U. of São Paulo)

In this work, cluster analysis will be applied to perform resource usage pattern recognition. Prototypic behaviors of resource usage will be identified. Based on the recurrence of these behaviors, a pattern recognition framework will estimate the sharing availability of a resource. Some cluster analysis concepts will be discussed and applied to the computer resources usage pattern recognition framework. A software component was developed in order to perform the proposed techniques validation through simulations. [more...]

Inter-Cluster Resource Management

  • Vladimir Emiliano Moreira Rocha (Masters student at U. of São Paulo)

The current version of InteGrade sees all Grid nodes as being in the same pool of machines. Our goal is to develop protocols and algorithms to allow InteGrade to organize its nodes in a structured collection of clusters, each one composed of several individual nodes. Initially, we will focus on protocols for linking
the different clusters one to another, for disseminating resource availability information across clusters, and for executing applications across clusters.


Distributed Execution of Parallel Algorithms

  • Ulisses Kendi Hayashida (Doctoral student at U. of São Paulo)

I'm studying techniques of loop transformations for extracting parallelism from nested loop structures. Nested loops can be scheduled to run in parallel so that execution time is minimized. The study of "dependence vectors" and "systolic arrays" are fundamental parts for the base of my work. Most commom literature known are for fine grained algorithms, because initially the objective was to implement them in high circuit density VLSI technology, designing special purpose VLSI chips. Nowadays, with the advent of Grid Computing, it's good to minimize the amount of communication to improve performance, improving the quantity of data in a message send, for example, and so, coarse grained algorithms are required. So, I intend to adapt known techniques of loop transformations to coarse grained algorithms, specially those related with nested loops. Fault tolerance techniques will be studied too. I also intend to
implement some examples of algorithms using MPI.


Mobile Agents

  • Vinicius Gama Pinheiro (Masters student at U. of São Paulo)

This work aims at investigating and implementing fault-tolerant agent-based mechanisms to meet the requirements of executing parametric and long running applications in opportunistic environments. To accomplish this in a dynamic environment several parameters like number of replicas, checkpointing frequency have to be tuned to meet different scenarios of resource availability.


Security

  • José de Ribamar Braga Pinheiro Junior (Doctoral student at U. of São Paulo)

Security is of critical importance to the sucess of Grid Computing. In these systems, the fundamental problem is to provide security policies that are expressive and flexible enough to satisfy the specific needs of a usual variety of aplications. In the InteGrade Project, it would be interesting to support multiple, dynamic security policies. In this work, we will investigate the development of a framework to provide security policies to Grid Computing in general and to InteGrade in particular.


Development Environment for Grid Applications

  • Eduardo Leal Guerra (Masters student at U. of SãoPaulo)

Currently, much of the work done by Integrade applications developers is done by hand. Moreover, on Integrade there is a lack of a unified environment to provide support for all phases of application development. Our goal is to help the development of Grid applications, being aware of the specificities of this kind of application. Initially, we will focus on Integrade, providing to the application developer an Eclipse-based tool that unify in a single environment tasks such as design, coding, test, deployment, and monitoring of Grid applications.
This tool will be an Eclipse plug-in that, among other things, would both generate code based on high-level specifications and check the consistency of user code. A list of current functional requirements is located at http://www.ime.usp.br/~eguerra/toolForInteGradeApplications.html.


Acessing Computers Behind NATs and Firewalls

  • Antonio Carlos Theophilo Costa Junior (Masters student at PUC-Rio)

Nowadays is very common to find computers that are connected in LANs (Local Area Networks) protected by firewalls. Similarly these machines are often in a environment where NAT (Network Address Translation) is used. These two aspects (firewalls and NAT) represent a problem for the the development of P2P (peer-to-peer) and Grid applications. The problem, also faced in project
Integrade, essentially is due to the fact that firewalls forbid certain kinds of conections and NAT works with IP address not uniquely identified in the Internet.

This work aims at investigating means for enabling communication between machines shield by firewalls and/or NAT and others machines that form the InteGrade network. With this work we intend to allow the admission of a very large number of machines in the production phase of the Project. Because
InteGrade Project uses CORBA as communication layer, our intended way to solve this problem is to modify the CORBA's transport layer to use JXTA (www.jxta.org). The last uses HTTP protocol and proxies to solve the problem of firewalls while the NAT question is addressed with a new way of identification broader than IP address.


Flexible and Easy to Use Middleware

  • Renato Maia (Post-Doctoral researcher at PUC-Rio)

This work focus on the development middleware for distributed applications using the specific features of the dynamic language Lua to provide an implementation that is both easy to use and adapt to different uses. One of the practical results of this work is the OiL middleware, a simple and efficient ORB implementation in Lua that provides interoperability with CORBA as well as support for other RMI technologies.


Constraining resource usage at user level

  • Valéria Quadros (PhD student at PUC-Rio)

General-purpose Operating Systems do not provide effective mechanisms for application resource reservation. To overcome this limitation, some initiatives aim at guaranteeing processing by instrumenting kernels or by isolating the performance through the creation of virtual machines. However, these practices may be infeasible if the kernel code is not available or high overheads should be avoided. Taking a different approach from modified kernels and virtualization, this work focus on developing tools to constrain the usage of application resources (CPU and disk, for instance) at user level. Using low-level primitives provided by ordinary operating systems, these tools are able to change processes' priorities and to intercept system calls in order to enforce a usage pattern. An example of this kind of tool is CPUReserve, a service-based mechanism for isolating performance in modern computational scenarios such as opportunistic grids, utility-computing environments, and multi-processed architectures.


Ricardo Couto Antunes da Rocha Ph.D. Thesis

  • A middleware architecture for ubiquitous provision of distributed and heterogeneous context information (January 2009)

This thesis proposes a new architecture for the management of distributed, dynamic and heterogeneous context. The approach underlying the architecture is based on the concepts of context domains and context interest of variable scope. Based on such a middleware, mobile applications that require context-awareness can keep continuous access to the context information, even when the client moves between different context domains, each with its specific context model and sources.


Gustavo Baptista M.Sc. Dissertation

  • MD-ECI: A Publish/Subscribe system supporting mobility and disconnection of terminals and NAT/firewalls traversal. (February 2009)

The MD-ECI is an extension of ECI - the original Pub/Sub interface of the MoCA middleware - which uses the Session Inititiation Protocol (SIP) for transparently handling dynamic changes of IP addresses of terminals. It also minimizes the loss of notifications during periods of Pub/Sub client disconnections. Through the optional use of a Media Proxy, the MD-ECI also allows Pub/Sub clients - both event producers or consumers - to execute behind firewalls with NAT.
URL: http://www.lac.inf.puc-rio.br/moca/mdeci/mdeci.htm