GSD Projects
A list of on-going and past projects
RESEARCH NETWORKS
Euro-TM
Transactional Memories: Foundations, Algorithms, Tools, and Applications
- Funding: COST European Cooperation in Science and Technology ACTION, ICT Action IC1001
- Coordinator: Paolo Romano
- Web page: http://www.cost.esf.org/domains_actions/ict/Actions/eurotm
INTERNATIONAL PROJECTS
Cloud-TM
A novel programming paradigm for the Cloud
- Funding: Framework of the Specific Targeted Research Project (STReP), co-financed by the European Commission through the contract no. 257784.
- Coordinator: Paolo Romano
- Web page: http://www.cloudtm.eu
FastFIX
- Funding: Framework of the Specific Targeted Research Project (STReP), co-financed by the European Commission through the contract no. 258109.
- Coordinator: João Garcia
- Web page: https://services.txt.it/fastfix-project/
NATIONAL PROJECTS
specSTM: Software Transactional Memory with Thread-Level Speculation Support
- Funding: FCT (PTDC/EIA-EIA/122785/2010), Jan 2012 - Dec 2014
- Coordinator: João Barreto
- Web page: click here
- Summary: . As the number of available cores grows each year, the challenge of coding programs that exploit that much parallelism becomes more and more amplified. Although new emerging paradigms such as Transactional Memory or Thread-Level Speculation promise to simplify concurrent programming, they still exhibit key limitations when the goal is to expose high levels of parallelism. specSTM project will depart from stand-alone STM algorithms combine them with TLS support. Hence, specSTM will leverage STM with the ability to automatically parallelize each thread forked by the programmer
(in the multi-threaded TM program).
LSDMOG: large scale distributed consistency of replicated data for MMOGS
- Funding: PTDC/EIA-EIA/113993/2009, Jan 2011 - Dez 2013
- Coordinator: Paulo Ferreira
- Web page: (tbd)
- Summary: We aim at designing, develop and evaluate a distributed, scalable, efficient and highly available middleware infrastructure to support MMOGs. The middleware does not rely on the static partitioning schemes (used in current solutions) to achieve scalability. Instead, we intend to design an architecture in which the game is presented to its players as a single large virtual world, regardless of the underlying organization of the system. Thus, players will move freely around the game map and interact with each other, without further limitations than those imposed by game’s logic. Moreover, we intend to design an architecture based on the cooperation of multiple distributed nodes working together to provide the bandwidth and computational resources required to attain the desired performance and scalability, instead of doing so through the use of high performance expensive server clusters. This increases the opportunities for those that do not have the economic capacity to acquire high performance hardware (e.g. small companies) to build their own multiplayer game.
Synergy-VM: An Infrastructure for Next Generation Execution Environments (Uma Infra-estrutura para os Futuros Ambientes de Execução)
- Funding: FCT (PTDC/EIA-EIA/113613/2009), Jan 2011 - Dez 2013
- Coordinator: João Lourenço (UNL)
- Local Coordinator @ INESC-ID: Luís Veiga
- Web page: (tbd)
- Summary: This project aims at developing the run-time and programming language support targeting applications developed in the Java programming language and executing in a clusters of many-core computers. The prevalent programming model, Transactional Memory. will rely in a PGAS to identify coarse-grain tasks that may be executed in different nodes of the cluster and use a SGAS to coordinate among tasks within the same node and also inter-node coordination such as the SGAS the frontier regions of the partitions defined for PGAS. Interactions between threads in the same tasks will be supported by a Transactional Memory framework that provides the programming language with Atomic and Isolated code regions. Interactions between tasks will also use the Transactional Memory model, but now resorting to a Distributed Shared Memory abstraction.
Assuring Dependability in Architecture-based Adaptive Systems
- Funding: FCT (CMU-PT/ELE/0030/2009), Oct 2010 - Sep 2013
- Coordinator: Rogério de Lemos (U. Coimbra)
- Local Coordinator @ INESC-ID: Luís Rodrigues
- Web page: (tbd)
- Summary: This project will focus on the provision of self-adaptability as a means for achieving dependability in the context of the other requirements. In particular, focusing on the use of architectural models at run-time, it will develop new languages, techniques and tools for creating dynamic adaptation strategies that allow a system to automatically respond to change and improve its behaviour as it executes.
High-Performance Computing over the Large-Scale Internet
- Funding: FCT (PTDC/EIA-EIA/102212/2008), May 2010 - Apr 2013
- Coordinator: Luís Silva (U. Coimbra)
- Local Coordinator @ INESC-ID: Luís Rodrigues
- Web page: (tbd)
- Summary: This project advances the current state of the art in platforms for Internet-wide computation, by designing, implementing and evaluating new mechanisms that move beyond the traditional client-server architecture of these platforms to support, for the first time, scalable decentralized cooperation among clients.
PROSOPON: Cycle-Sharing for Face Identification and Index in Multimedia
- Funding: FCT (PTDC/EIA-EIA/102250/2008), Mar 2010 - Feb 2013
- Coordinator: Luís Veiga
- Web page: (tbd)
- Summary: Cycle-Sharing for Face Identification and Index in Multimedia. We aim to develop a distributed, scalable, efficient and mostly free infra-structure for facial identification and indexing called PROSOPON (from the Greek for faces).We will design a peer-to-peer cycle sharing infra-structure to support video analysis and indexing. Video processing, extraction, face detection and identification will all scheduled as embarrassingly parallel Bag-of-Tasks (i.e., no coordination needed among concurrent activities) by reducing the footage resolution, splitting video into smaller sequences, and scattering them among the nodes of the peer-to-peer overlay for processing. Intermediate and final results are stored and indexed leveraging layers and dimensions of the overlay.PROSOPON will also support users' contributions to guide the process of face classification. We will present users are willing to contribute with samples of ambiguous/marginally classified faces in order to leverage human operator intervention where it is of greater value. User contribution may even be scheduled as a computing resource in a social network within the organisation.\nThe peer-to-peer infra-structure will be used with an additional overlay for distributed fault-tolerant storage of the video library and the index that results from the face indexing process. This additional overlay index will have a multidimensional structure according to the parameters used in the face identification phase (e.g. eigenfaces/eigenfeatures) and will be used to efficiently execute queries on the indexed library. As a case study, we will use the video libraries of socially relevant institutions who are the keepers of historical film and news footage. We believe the results of PROSOPON will be a semantic enrichment for those institutions and the public at large
RepComp - Component Replication for Improved Reliability and Performance in Multicore Systems (Replicação de Componentes para Melhoria de Desempenho ou Fiabilidade em Sistemas Multicore)
-
Funding: FCT (PTDC/EIA-EIA/108963/2008), Mar 2010 - Feb 2013
- Coordinator: Nuno Preguiça (UNL)
- Local Coordinator @ INESC-ID Luís Veiga
- Web page: (tbd)
- Summary: Until recently, CPUs evolution was a mix of improved functionality, such as more complex operations
and increased cache size, and a steadily increase of clock speed. This last characteristic alone was
a guarantee that it would be possible to run applications increasingly faster or increasingly more
complex applications. However, unless some technological breakthrough is achieved in the area, this
path of evolution seems to have achieved its end, with an increasing difficulty on further increasing
clock speed. The main reason for this lies in the energy necessary for running at an increased clock
speed and the heat produced by such execution. Although this trend of evolution makes CPUs more powerful, it also makes it harder for applications to exploit this increasing processing power. Unlike before, that any application would automatically benefit from the increase of clock speed, with multicore CPUs, programs must include multiple concurrent threads of activity to take benefit from the multiple cores available. Thus, we propose to locally replicate each component and use different implementations for each replica. This will allow obtaining the best performance for every operation, by returning the result returned by the fastest replica. For operation with no results, we can even immediately return the control to the program and execute the operation in background.
As programs usually rely heavily on these standard components, by using this approach, we can transparently improve the performance of the overall program even when programmers structure them as a single thread application.
Aristos: Autonomic ReplicatIon of Software TransactiOnal memorieS
- Funding: FCT (PTDC/EIA-EIA/102496/2008), Feb 2010 - Jan 2013
- Coordinator: Paolo Romano
- Web page: http://aristos.gsd.inesc-id.pt
- Summary: This project addresses several aspects of autonomic replication of STMs, including: architecting scalable and fault-tolerant replication mechanisms explicitly tailored to meet the unique requirements of STM systems; developing effective workload characterization strategies and performance forecast models for automatically identifying the optimal choice of contention management strategies to be adopted; designing and implementing flexible and efficient mechanisms allowing to dynamically alter both the local and the global contention management schemes while preserving the system’s consistency.

