publications.bib

@article{dSKGFCFC:JPDC10,
  author = {da Silva e Silva, Francisco Jos\'{e} and Kon, Fabio and Goldman, Alfredo and Finger, 
	    Marcelo and de Camargo, Raphael Y. and Filho, Fernando Castor and Costa, F\'{a}bio M.},
  title = {Application execution management on the InteGrade opportunistic grid middleware},
  journal = {Journal of Parallel and Distributed Computing},
  volume = {70},
  number = {5},
  pages = {573--583},
  year = {2010},
  http = {http://dx.doi.org/10.1016/j.jpdc.2010.01.010},
  pdf = {pdf/dSKGFCFC10.pdf},
  keywords = {Grid computing, Opportunistic grid, Resource management, Fault tolerance},
  abstract = {The InteGrade project is a multi-university effort to build a novel 
grid computing middleware based on the opportunistic use of resources belonging 
to user workstations. The InteGrade middleware currently enables the execution 
of sequential, bag-of-tasks, and parallel applications that follow the BSP or the 
MPI programming models.
This article presents the lessons learned over the last five years of the InteGrade 
development and describes the solutions achieved concerning the support for robust 
application execution. The contributions cover the related fields of application 
scheduling, execution management, and fault tolerance. We present our solutions, 
describing their implementation principles and evaluation through the analysis of 
several experimental results.}
}
@article{FGM:WN10,
  author = {Ferreira, Afonso and Goldman, Alfredo and Monteiro, Julian},
  title = {Performance evaluation of routing protocols for MANETs with known connectivity patterns using evolving graphs},
  journal = {Wireless Networks},
  volume = {16},
  number = {},
  pages = {627--640},
  year = {2010},
  http = {http://dx.doi.org/10.1007/s11276-008-0158-6},
  pdf = {http://www.springerlink.com/content/c82014477847t646/fulltext.pdf},
  keywords = {Ad hoc wireless networks, Sensor networks, Evolving graphs, Routing protocols, 
	    Delay tolerant networks, Performance analysis},
  abstract = {The assessment of routing protocols for mobile wireless networks is 
a difficult task, because of the networks' dynamic behavior and the absence of 
benchmarks. However, some of these networks, such as intermittent wireless 
sensors networks, periodic or cyclic networks, and some delay tolerant networks 
(DTNs), have more predictable dynamics, as the temporal variations in the network 
topology can be considered as deterministic, which may make them easier to study. 
Recently, a graph theoretic model - the \em{evolving graphs} - was proposed to 
help capture the dynamic behavior of such networks, in view of the construction 
of least cost routing and other algorithms. The algorithms and insights obtained 
through this model are theoretically very efficient and intriguing. However, there 
is no study about the use of such theoretical results into practical situations. 
Therefore, the objective of our work is to analyze the applicability of the 
evolving graph theory in the construction of efficient routing protocols in 
realistic scenarios. In this paper, we use the NS2 network simulator to first 
implement an evolving graph based routing protocol, and then to use it as a 
benchmark when comparing the four major ad hoc routing protocols (AODV, DSR, OLSR 
and DSDV). Interestingly, our experiments show that evolving graphs have the 
potential to be an effective and powerful tool in the development and analysis of 
algorithms for dynamic networks, with predictable dynamics at least. In order to 
make this model widely applicable, however, some practical issues still have to be 
addressed and incorporated into the model, like adaptive algorithms. We also 
discuss such issues in this paper, as a result of our experience.}
}
@article{dSKGFCF:CCPEC06,
  author = {de Camargo, R. Y. and Goldchleger, A. and Kon, F. and Goldman, A.},
  title = {Checkpointing BSP parallel applications on the InteGrade Grid middleware},
  journal = {Concurrency and Computation: Practice and Experience},
  volume = {18},
  number = {},
  pages = {567--579},
  year = {2006},
  http = {http://dx.doi.org/10.1002/cpe.966},
  pdf = {},
  keywords = {fault tolerance, checkpointing, BSP, Grid computing},
  abstract = {InteGrade is a Grid middleware infrastructure that enables the use 
of idle computing power from user workstations. One of its goals is to support 
the execution of long-running parallel applications that present a considerable 
amount of communication among application nodes. However, in an environment 
composed of shared user workstations spread across many different LANs, machines 
may fail, become inaccessible, or may switch from idle to busy very rapidly, 
compromising the execution of the parallel application in some of its nodes. Thus, 
to provide some mechanism for fault tolerance becomes a major requirement for such 
a system. In this paper, we describe the support for checkpoint-based rollback 
recovery of Bulk Synchronous Parallel applications running over the InteGrade 
middleware. This mechanism consists of periodically saving application state to 
permit the application to restart its execution from an intermediate execution 
point in case of failure. A precompiler automatically instruments the source code 
of a C/C++ application, adding code for saving and recovering application state. A 
failure detector monitors the application execution. In case of failure, the 
application is restarted from the last saved global checkpoint.}
}
@article{SBBGK:JBS06,
  author = {Sato, Danilo and Bassi, Dairton and Bravo, Mariana and Goldman, Alfredo and Kon, Fabio},
  title = {Experiences tracking agile projects: an empirical study},
  journal = {Journal of the Brazilian Computer Society},
  volume = {12},
  number = {3},
  pages = {45--64},
  year = {2006},
  http = {http://www.scielo.br/scielo.php?script=sci_arttext&pid=S0104-65002006000400005&nrm=iso},
  pdf = {},
  keywords = {Agile Methods, Extreme Programming, Software Engineering, Tracking},
  abstract = {In this article, we gather results from several projects we conducted 
recently that use some kind of agile method. We analyze both academic and 
governmental software development projects, some of them using agile methods 
since the beginning and others in which agile methods were introduced afterwards. 
Our main goals are to classify the different projects, and to analyze the collected 
data and discover which metrics are best suited to support tracking an agile project. 
We use both quantitative and qualitative methods, obtaining data from the source 
code, from the code repository, and from the feedback received from surveys and 
interviews held with the team members. We use various kinds of metrics such as lines 
of code, number of tests, cyclomatic complexity, number of commits, as well as 
combinations of these. In this article, we describe in detail the projects, the metrics, 
the obtained results, and their analysis from our main goals standpoint, providing 
guidelines for the use of metrics to track an agile software development project.}
}
@article{GGT:JPDC06,
  author = {Goldman, Alfredo and G. Peters, Joseph and Trystram, Denis},
  title = {Exchanging messages of different sizes},
  journal = {Journal of Parallel and Distributed Computing},
  volume = {66},
  number = {1},
  pages = {1--18},
  year = {2006},
  http = {http://dx.doi.org/10.1016/j.jpdc.2005.06.003},
  pdf = {},
  keywords = {Personalized communications, BSP model, Communication primitives},
  abstract = {This paper deals with the study of the exchange of messages among a 
set of processors linked through an interconnection network. We focus on general, 
non-uniform versions of message exchange problems in asynchronous systems with a 
linear cost model and messages of arbitrary sizes. We extend previous complexity 
results to show that the general asynchronous problems are NP-complete. We present 
several heuristics and determine which algorithms are best suited to several 
parallel systems. We propose new algorithms that combine the advantages of some 
of the heuristics. We conclude with experiments and simulations of the algorithms 
and analyses of their performances.}
}
@article{GC:CCPE04,
  author = {Goldman, Alfredo and Queiroz, Carlos},
  title = {A model for parallel job scheduling on dynamical computer Grids},
  journal = {Concurrency and Computation: Practice and Experience},
  volume = {16},
  number = {},
  pages = {461--468},
  year = {2004},
  http = {http://dx.doi.org/10.1002/cpe.825},
  pdf = {http://onlinelibrary.wiley.com/doi/10.1002/cpe.825/pdf},
  keywords = {Grid computing, multi-site execution, scheduling of parallel applications},
  abstract = {This work presents a model that allows the execution of parallel 
applications in a Grid environment. Our main focus is on how to share the idle 
cycles of clusters and computers to execute real parallel applications. We 
present a new model which introduces the notions of locality and adaptability. 
The locality is used for job allocation, and for job migration. The adaptability 
provides a simple mechanism to allow clusters to join or leave a Grid. We also 
propose the middleware architecture to implement the model, and provide some 
simulation results to show the main characteristics of the model.}
}
@article{GKGFB:CCPE04,
  author = {Goldchleger, Andrei and Kon, Fabio and Goldman, Alfredo and Finger, Marcelo and Bezerra, G. C.},
  title = {InteGrade: object-oriented Grid middleware leveraging the idle computing power of desktop machines},
  journal = {Concurrency and Computation: Practice and Experience},
  volume = {16},
  number = {},
  pages = {449--459},
  year = {2004},
  http = {http://dx.doi.org/10.1002/cpe.824},
  pdf = {http://onlinelibrary.wiley.com/doi/10.1002/cpe.824/pdf},
  keywords = {Grid computing, multi-site execution, scheduling of parallel applications},
  abstract = {Grid computing technology improves the computing experiences at 
organizations by effectively integrating distributed computing resources. 
However, just a small fraction of currently available Grid infrastructures 
focuses on reutilization of existing commodity computing resources. This paper 
introduces InteGrade, a novel object-oriented middleware Grid infrastructure 
that focuses on leveraging the idle computing power of shared desktop machines. 
Its features include support for a wide range of parallel applications and 
mechanisms to assure that the owners of shared resources do not perceive any loss 
in the quality of service. A prototype implementation is under construction and 
the current version is available for download.}
}
@article{GKSY:JBCS04,
  author = {Goldman, Alfredo and Kon, Fabio and Silva, Paulo J. S. and Yoder, Joseph W.},
  title = {Being Extreme in the Classroom: experiences Teaching XP},
  journal = {Journal of the Brazilian Computer Society},
  volume = {10},
  number = {},
  pages = {5--21},
  year = {2004},
  http = {http://www.scielo.br/scielo.php?script=sci_arttext&pid=S0104-65002004000300002&nrm=iso},
  pdf = {},
  keywords = {},
  abstract = {Agile Methods propose a new way of looking at software development 
that questions many of the beliefs of conventional Software Engineering. Agile 
methods such as Extreme Programming (XP) have been very effective in producing 
highquality software in realworld projects with strict time constraints. 
Nevertheless, most university courses and industrial training programs are still 
based on oldstyle heavy-weight methods. This article, based on our experiences 
teaching XP in academic and industrial environments, presents effective ways of 
teaching students and professionals on how to develop high-quality software 
following the principles of agile software development. We also discuss related 
work in the area, describe realworld cases, and discuss open problems not yet 
resolved.}
}
@article{GMT:TCS03,
  author = {Goldman, Alfredo and Mounie, Gregory and Trystram, Denis},
  title = {1-optimality of static BSP computations: scheduling independent chains as a case study},
  journal = {Theoretical Computer Science},
  volume = {290},
  number = {3},
  pages = {1331--1359},
  year = {2003},
  http = {http://dx.doi.org/10.1016/S0304-3975(02)00039-7},
  pdf = {},
  keywords = {Scheduling, Synchronization, Chains, BSP},
  abstract = {The aim of this work is to study a specific scheduling problem 
under the machine-independent model BSP. The problem of scheduling a set of 
independent chains in this context is shown to be a difficult optimization 
problem, but it can be easily approximated in practice. Efficient heuristics 
taking into account communications are proposed and analyzed in this paper. We 
particularly focus on the influence of synchronization between consecutive 
supersteps. A family of algorithms is proposed with the best possible 
load-balancing. Then, a strategy for determining a good compromise between the 
two opposite criteria of minimizing the number of supersteps and a good balance 
of the load is derived. Finally, a heuristic which considers the influence of 
the latency is presented. Simulations of a large number of instances have been 
carried out to complement the theoretical worst case analysis. They confirm the 
very good behavior of the algorithms on the average cases.}
}
@article{GT:JPDC02,
  author = {Goldman, Alfredo and Trystram, Denis},
  title = {An efficient parallel algorithm for solving the Knapsack problem on hypercubes},
  journal = {Journal of Parallel and Distributed Computing},
  volume = {64},
  number = {11},
  pages = {1213--1222},
  year = {2002},
  http = {http://dx.doi.org/10.1016/j.jpdc.2002.10.001},
  pdf = {},
  keywords = {Hypercube, Knapsack problem, Irregular mesh, Scheduling},
  abstract = {We present in this paper an efficient algorithm for solving the 
integral Knapsack problem on hypercube. The main idea is to represent the 
computations of the dynamic programming formulation as a precedence graph 
(which has the structure of an irregular mesh). Then, we propose a time optimal 
scheduling algorithm for computing the irregular meshes on hypercube.}
}
@article{GFS:JIN00,
  author = {Goldman, Alfredo and Ferreira, A. and Song, S.W.},
  title = {Broadcasting in bus interconnection networks},
  journal = {Journal of Interconnection Networks},
  volume = {1},
  number = {2},
  pages = {73--94},
  year = {2000},
  http = {http://dx.doi.org/10.1142/S0219265900000068},
  pdf = {http://www.worldscinet.com/join/01/preserved-docs/0102/S0219265900000068.pdf},
  keywords = {Massively parallel architectures, multiple bus systems, global communication, 
	    communication models, hypergraphs and applications, broadcast},
  abstract = {In most distributed memory MIMD multiprocessors, processors are 
connected by a point-to-point interconnection network, usually modeled by a graph 
where processors are nodes and communication links are edges. Since interprocessor 
communication frequently constitutes serious bottlenecks, several architectures 
were proposed that enhance point-to-point topologies with the help of multiple 
bus systems so as to improve the communication efficiency. In this paper we study 
parallel architectures where the communication means are constituted {\em solely} by buses. 
These architectures can use the power of bus technologies, providing a way to 
interconnect much more processors in a simple and efficient manner.
We present the {\em hyperpath, hypergrid, hyperring}, and {\em hypertorus} architectures, 
which are the bus-based versions of the well used point-to-point interconnection 
networks. Using (hyper) graph theoretic concepts to model inter-processor 
communication in such networks, we give optimal algorithms for broadcasting a 
message from one processor to all the others. For deriving high performance 
communication patterns we developed a new tool called simplification. The idea 
is to construct a graph, to be called representative graph, from the original 
hyper-topology, in such a way that it will become easy to describe and perform 
communication schemes to the former that will fit to the latter, because the 
simplification concept also allows us to partially use some already known 
communication algorithms for usual networks.}
}
@article{GFS:JPAA96,
  author = {Goldman, Alfredo and Ferreira, A. and Song, S.W.},
  title = {Gossiping in Bus Interconnection Networks},
  journal = {Parallel Algorithms and Applications},
  volume = {854},
  number = {},
  pages = {309--331},
  year = {1996},
  http = {http://dx.doi.org/10.1080/10637199608915559},
  pdf = {},
  keywords = {Massively parallel architectures, multiple bus systems, global communication, communication 
	    models, hypergraphs and applications, gossiping, total exchange},
  abstract = {Several architectures have been proposed to enhance point-to-point 
architectures with the addition of multiple bus systems. In particular, we 
consider an architecture for a massively parallel system where processors arc 
connected solely by buses. These architectures can use the power of bus 
technologies, providing a way to interconnect much more processors in a simple 
and efficient manner. In this paper we model the so-called bus interconnection 
networks (BINs) by a hypergraph. We consider the gossip operation in the various 
proposed architectures. We focus on the hyperpath, the d-dimensional hypergrid, 
the hyperring, and the d -dimensional hypertorus architectures and we give 
corresponding algorithms for the gossiping operation. Some lower bounds are 
also derived.}
}
@book{GKS06,
  author = {Goldman, Alfredo and Kon, Fabio and Silva, Paulo J. S.},
  title = {{I}ntrodu\c{c}\~{a}o \`{a} {C}i\^{e}ncia da {C}omputa\c{c}\~{a}o com {J}ava e {O}rienta\c{c}\~{a}o a {O}bjetos},
  edition = {1st},
  publisher = {IME/USP},
  address = {S\~{a}o Paulo, SP, Brazil},
  year = {2006},
  isbn = {85-88697-10-6},
  pdf = {http://ccsl.ime.usp.br/introCCJavaOO}
}
@inbook{KG08,
  author = {Fabio Kon and Alfredo Goldman},
  title = {{T}omasz {K}owaltowski e {K}arin {B}reitman (Org.) {A}tualiza\c{c}\~oes em {I}nform\'atica 2008},
  chapter = {{G}rades {C}omputacionais: {C}onceitos Fundamentais e Casos Concretos},
  publisher = {PUC-Rio},
  address = {Rio de Janeiro},
  year = {2008},
  series = {SBC},
  pages = {55--104}
}
@inbook{G03,
  author = {Alfredo Goldman},
  title = {SBC, Unisinos, UFSM e Unilasalle. (Org.) ERAD 2003 - 3 Escola Regional de Alto Desempenho},
  chapter = {{M}odelos para {C}omputa\c{c}\~{a}o {P}aralela},
  publisher = {SBC},
  address = {Porto Alegre},
  year = {2003},
  series = {SBC},
  pages = {35--66}
}
@inproceedings{GFMF:SBRC10,
  author = {Goldman, Alfredo and Ferreira, C\'assia G. and Machado, Cesar G. and Floriano, Paulo},
  title = {Jornadas mais r\'apidas e compromissos em DTNs},
  booktitle = {Anais do 28 Simposio Brasileiro de Redes de Computadores},
  pages = {},
  year = {2010},
  address = {Gramado, Brazil},
  editor = {},
  publisher = {},
  note = {},
  pdf = {pdf/DTN10.pdf},
  abstract = {This article describes two algorithms to compute Fastest Journeys in
Delay and Disruption Tolerant Networks in which all connections can be predicted. 
The first one corresponds to an algorithm already proposed, but never before 
implemented. The second one uses a new idea, which can be extended to compute 
other types of optimal journeys. Based on this new algorithm, we studied the 
relationship between the arrival time, the hopcount and the transit time
of a journey, searching for optimal intermediate journeys that minimize two or
more parameters at the same time. We present in the paper several experiments
that show the importance of the proposed approach.}
}
@inproceedings{Goldman:ExtremeCom10,
  author = {Goldman, Alfredo and Machado, Cesar G. and Floriano, Paulo},
  title = {Optimal Journeys and Trade-offs on DTNs},
  booktitle = {2nd Extreme Workshop on Communication},
  pages = {},
  year = {2010},
  address = {Dharamsalam, India},
  editor = {},
  publisher = {},
  note = {},
  pdf = {pdf/GoldmanExtremeCom10.pdf},
  abstract = {This article describes algorithms to compute optimal journeys in 
predictable DTNs. We combine the algorithms to compute the shortest, fastest 
and foremost journeys in order to provide intermediate optimal journeys which 
can be used according to the environment characteristics. We also propose a 
preliminary empirical study on the number of data mules needed to provide 
connectivity in sparse scenarios on several environments. We present in the 
article several experiments that show the importance of the proposed approach.}
}
@inproceedings{SG:ESELAW10,
  author = {Santos, Viviane and Goldman, Alfredo},
  title = {Aplicando T\'ecnicas de Grounded Theory e Retrospectiva \'Agil para Avaliar o Curso Laborat\'orio XP},
  booktitle = {Proceedings of VII Experimental Software Engineering Latin American Workshop},
  pages = {},
  year = {2010},
  address = {Goi\^ania, Goi\'as, Brazil},
  editor = {},
  publisher = {},
  note = {},
  pdf = {pdf/SGESELAW10.pdf},
  abstract = {This paper presents an empirical study about learning eXtreme 
Programming in an academic environment. The study employs two distinct 
approaches to provide triangulation of the data: qualitative analysis with
grounded theory in a questionnaire and agile retrospective to investigate what
to improve in the course in the students point of view. From the results, specific
improvement actions were established for the next editions of the course.}
}
@inproceedings{AGS:COLIBRI09,
  author = {Arantes, Luciana and Goldman, Alfredo and Sens, Pierre},
  title = {Towards a distributed computing model that characterizes dynamics of mobile networks},
  booktitle = {Anais do Col\'oquio em Inform\'atica: Brasil/INRIA, Coopera\c{c}\~oes, Avan\c{c}os e Desafios},
  pages = {151--155},
  year = {2009},
  address = {Bento Gol\c{c}alves - RS, Brazil},
  editor = {},
  publisher = {},
  pdf = {pdf/colibri09.pdf},
  abstract = {Our main goal in this proposal is to present the research 
possibilities opened by two previous cooperations among groups from France and 
Brazil in dynamic systems.
Basically, we intend to add up the expertise of the French group on distributed
systems with the skills of the Brazilian group on the practical use of theoretical
tools in order to create a new distributed model for mobile networks (MANET).
Despite the fact that both groups have conducted their researches independently,
we believe that to join efforts to define such a model would be very promising
and would open an interesting field of research.}
}
@inproceedings{DGH:VIIWGCA09,
  author = {Dias, Rodrigo A. and Goldman, Alfredo and Hirata, Roberto},
  title = {Middle-R - A User Level Middleware for Statistical Computing},
  booktitle = {Anais do VII Workshop on Grid Computing and Applications},
  pages = {},
  year = {2009},
  address = {Pernambuco, Brazil},
  editor = {},
  publisher = {},
  note = {},
  pdf = {http://www.integrade.org.br/files/middleR.pdf},
  abstract = {In this work we present middle-R, a user-level middleware for 
statistical computing. It has been developed to distribute R (a language and 
environment for statistics) in commodity computers running Microsoft Windows. 
The solution is simple because it uses Alchemi, a grid middleware developed using 
Microsoft .NET technology in the University of Melbourne. The implemented solution 
uses Alchemi as a low-level middleware and makes it possible to execute R scripts 
in a grid environment. The solution has been successfully implemented and tested 
in two different environments: the didactic laboratories of a college and of a 
high school. The main application reported in this paper is a combinatorial task 
for finding molecular markers of a few genes to classify correctly samples of acute 
lymphoblastic leukemia against acute myeloid leukemia.}
}
@inproceedings{PKG:MGSACM09,
  author = {Pinheiro, Vinicius and Kon, Fabio and Goldman, Alfredo},
  title = {Towards an adaptive middleware for opportunistic environment: A Mobile Agent Approach},
  booktitle = {MGC '09: Proceedings of the 7th International Workshop on Middleware for Grids, Clouds and e-Science},
  pages = {1--6},
  year = {2009},
  address = {Urbana Champaign, Illinois},
  editor = {},
  publisher = {ACM},
  note = {},
  http = {http://doi.acm.org/10.1145/1657120.1657126},
  abstract = {The mobile agent paradigm has emerged as a promising alternative to 
overcome the construction challenges of opportunistic grid environments. This 
model can be used to implement mechanisms that enable application execution 
progress even in the presence of failures, such as those presented by the MAG 
middleware (Mobile Agents for Grids). MAG includes retrying, replication, and 
checkpointing as fault-tolerance techniques; they operate independently from 
each other and are not capable of detecting changes on resource availability. 
In this paper, we describe a MAG extension that is capable of migrating agents 
when nodes fail, that optimizes application progress by keeping only the most 
advanced checkpoint, and that migrates slow replicas.}
}
@inproceedings{BFG:SACACM08,
  author = {Broinizi, Marcos E. B. and Ferreira, Jo\~{a}o Eduardo and Goldman, Alfredo},
  title = {Using annotations in the naked objects framework to explore data requirements},
  booktitle = {SAC '08: Proceedings of the 2008 ACM symposium on Applied computing},
  pages = {630--637},
  year = {2008},
  address = {Fortaleza, Ceara, Brazil},
  editor = {},
  publisher = {ACM},
  note = {},
  http = {http://doi.acm.org/10.1145/1363686.1363838},
  keywords = {Agile methods of software development, conceptual data design, data abstractions, 
	    requirements engineering, requirements specification},
  abstract = {The creation of conceptual data design that appropriately represents 
specific application domain is one of the main challenges in requirements 
engineering. An initiative to help designers is the Naked Objects framework, 
where it is possible to interact with conceptual model in a limited way. The 
interactions are restricted to entity creations and single object-relations. We 
created an extension of the Naked Objects framework using annotations to allow 
manipulation of higher level abstractions as specialization and object-relationship. 
These abstractions allow better interactions between the domain specialist and 
designers. The use of our approach to explore and validate data requirements has 
several benefits: 1) It reduces conceptual specification problems (like poorly 
data requirements identification); 2) It narrows the distance among domain and 
design specialists; 3) It allows the simultaneous exploration of the conceptual 
data design and the system requirements.}
}
@inproceedings{STTGM:WSL08,
  author = {Santos, M\'{a}rcio V. and Takinami, Alexandre and Thies, Thiago and Goldman, Alfredo and Manssur, Carlos Eduardo},
  title = {Tail - A Java Technical Analysis Library},
  booktitle = {Workshop de Software Livre},
  year = {2008},
  pages = {},
  editor = {},
  publisher = {},
  address = {Porto Alegre, Brazil},
  note = {},
  pdf = {pdf/wsl2008.pdf},
  abstract = {Technical Analysis studies forecasting future price trends with the 
objective to find out the best moment to buy and sell shares. The Tail's target is
to develop a Java Open-Source library that abstracts the basic components of
Technical Analysis, supplying tools for creation, manipulation and evaluation
of strategies to buy and sell. The objective of this paper is to present the Tail 
library, its architecture and results obtained. The library is validaded with 
several post-mortem experiments.}
}
@inproceedings{PGS:WGCA08,
  author = {Pinheiro, Vinicius and Goldman, Alfredo and da Silva e Silva, Francisco Jos\'{e}},
  title = {Agentes M\'oveis: Uma Abordagem para a Execu\c{c}\~ao de Aplica\c{c}\~oes Longas em Ambientes Oportunistas},
  booktitle = {VI Workshop on Grid Computing and Application},
  pages = {109--120},
  year = {2008},
  month = {May},
  address = {Rio de Janeiro, RJ, Brazil},
  editor = {},
  publisher = {},
  note = {},
  pdf = {http://www.integrade.org.br/files/vinicius-wcga-sbrc-2008.pdf},
  slides = {http://www.integrade.org.br/files/vinicius-wcga08-slides.pdf},
  abstract = {The mobile agent paradigm has emerged as a promising alternative to 
overcome the construction challenges of opportunistic Grid environments. MAG 
(Mobile Agents for Grid Computing Environment) explores this powerful paradigm 
by dynamically loading grid applications into mobile agents. These MAG agents 
can be dynamically reallocated to Grid nodes through a transparent migration 
mechanism as a way to provide load balancing and support for non-dedicated nodes.
 MAG also includes retrying, replication and checkpoint as fault-tolerance 
techniques. These mechanisms can be applied in a flexible manner, and be combined 
in order to meet different scenarios of resource availability. In this paper we 
describe the MAG architecture and what it can do in a volunteer computing 
environment. We also present a description of these mechanisms and a performance 
evaluation in a real world environment.}
}
@inproceedings{GYanik:ISPDC08,
  author = {Goldman, Alfredo and Ngoko, Yanik},
  title = {A MILP Approach to Schedule Parallel Independent Tasks},
  booktitle = {ISPDC '08: International Symposium on Parallel and Distributed Computing},
  pages = {115--122},
  year = {2008},
  address = {Crac\'ovia},
  editor = {},
  publisher = {IEEE Computer Society},
  note = {},
  html = {http://dx.doi.org/10.1109/ISPDC.2008.59},
  kwywords = {Scheduling, Independent Tasks, Mixed Integer Linear Programming, parallel independent task scheduling, 
	    integer programming, linear programming, minimisation, parallel algorithms, processor scheduling},
  abstract = {We propose a new Mixed Integer Linear Programmingapproach to solve 
the classical problem of scheduling independent parallel tasks without 
preemption. We proposea formulation where the goal is to minimize the makespan. 
Then we show the flexibility of this approach by extendingthe result to the 
contiguous case. We validate this approachwith some experiments on the execution 
times and comparingthe optimal results with the solutions provided by 
list algorithms.}
}
@inproceedings{STGF:CSEIEEE08,
  author = {Santos, M\'{a}rcio V. and Takinami, Alexandre and Goldman, Alfredo and Fernandes, Cecilia},
  title = {Tail - A Java Technical Analysis Library},
  booktitle = {CSE '08: Proceedings of the 2008 11th IEEE International Conference on Computational Science and Engineering},
  year = {2008},
  pages = {463--470},
  editor = {},
  publisher = {IEEE Computer Society},
  address = {Washington, DC, USA},
  note = {},
  http = {http://dx.doi.org/10.1109/CSE.2008.42},
  kwywords = {Java open-source library, Java technical analysis library, Tail library, chart analysis, 
	    Java, economics, public domain software, stock markets},
  abstract = {Technical Analysis explores forecasting of future price trends with 
the objective of identifying the best moment to buy and sell shares. Tail 
consists of a Java Open-Source library that abstracts the basic components of 
Technical Analysis, supplying tools for creation, manipulation and evaluation 
of techniques to buy and sell shares. We developed Tail's structure in a extensible 
and adaptable way, allowing its use as an environment for simulation and study 
of new techniques of chart analysis. This paper presents the Tail library, its 
architecture and results obtained with its use. We validate the library through 
an experimental section with several post-mortem experiments.}
}
@inproceedings{CG:ESELAW08,
  author = {Corbucci, Hugo and Goldman, Alfredo},
  title = {Open Source and Agile: Two worlds that should have a closer interaction},
  booktitle = {ESELAW - V Experimental Software Engineering Latin American Workshop},
  year = {2008},
  pages = {},
  address = {Salvador, Brazil},
  editor = {},
  publisher = {},
  note = {},
  http = {pdf/CorbucciGoldman08.pdf},
  abstract = {Agile methods and open source software communities share similar 
cultures with different approaches to overcome problems. Although several 
professionals are involved in both worlds, neither agile methodologies are as 
strong as they could be in open source communities nor those communities provide 
strong contributions to agile methods. This work identifies and exposes the 
obstacles that separate those communities in order to extract the best of them 
and improve both sides with suggestions of tools and development processes.}
}
@inproceedings{CGdSEuroPar07,
  author = {Cordeiro, Daniel and Goldman, Alfredo and da Silva, Dilma},
  title = {Load Balancing on an Interactive Multiplayer Game Server},
  booktitle = {Euro-Par 2007 Parallel Processing},
  year = {2007},
  pages = {184-194},
  volume = {4641},
  publisher = {Springer},
  editor = {Kermarrec, Anne-Marie and Boug\'e, Luc and Priol, Thierry},
  series = {Lecture Notes in Computer Science},
  http = {http://dx.doi.org/10.1007/978-3-540-74466-5_21},
  abstract = {In this work, we investigate the impact of issues related to 
performance, parallelization, and scalability of interactive, multiplayer 
games. Particularly, we study and extend the game QuakeWorld, made publicly 
available by id Software under GPL license. We have created a new 
parallelization model for Quake's distributed simulation and implemented 
this model in QuakeWorld server. We implemented the model adapting the 
QuakeWorld server in order to allow a better management of the generated 
workload. We present in this paper our experimental results on SMP 
computers.}
}
@inproceedings{SGK:ICEPAPSEXP07,
  author = {Sato, Danilo and Goldman, Alfredo and Kon, Fabio},
  title = {Tracking the Evolution of Object Oriented Quality Metrics},
  booktitle = {8th International Conference on Extreme Programming and Agile Processes in Sofware Engineering XP'2007},
  year = {2007},
  pages = {84-92},
  address = {Como, Italy},
  editor = {},
  publisher = {},
  note = {},
  pdf = {http://ccsl.ime.usp.br/agilcoop/files/Tracking%20the%20Evolution%20of%20Object%20Oriented%20Quality%20Metrics.pdf},
  abstract = {The automated collection of source code metrics can help agile teams 
to understand the software they are producing, allowing them to adapt their 
daily practices towards an environment of continuous improvement. This paper 
describes the evolution of some object-oriented metrics in several agile projects 
we conducted recently in both academic and governmental environments. We analyze 
seven different projects, some where agile methods were used since the beginning 
and others where some agile practices were introduced later. We analyze and 
compare the evolution of such metrics in these projects and evaluate how the 
different project context factors have impacted the source code.}
}
@inproceedings{MGF:SBRC07,
  author = {Monteiro, Julian and Goldman, Alfredo and Ferreira, Afonso},
  title = {Using Evolving Graphs Foremost Journeys to Evaluate Ad-Hoc Routing Protocols},
  booktitle = {25th Brazilian Symposium on Computer Networks (SBRC 07)},
  year = {2007},
  pages = {17--30},
  address = {Bel\'em, Brazil},
  editor = {},
  publisher = {},
  note = {},
  abstract = {The performance evaluation of routing protocols for ad hoc networks 
is a difficult task. However, a graph theoretic model - the evolving graphs - 
was recently proposed to help capture the behavior of dynamic networks with 
fixed-schedule behavior. Our recent experiments showed that evolving graphs 
have all the potentials to be an effective and powerful tool in the development 
of routing protocols for dynamic networks. In this paper, we design a new 
congestion avoidance mechanism and a modified end-to-end delay metric in order 
to improve the evolving graph based routing protocol proposed previously. We 
use the NS2 network simulator to compare this new version to the three protocols 
provided by NS2, namely AODV, DSR and DSDV, and to OLSR, which is included in 
the experiments for the first time.}
}
@inproceedings{MGF:SNCA07,
  author = {Ferreira, Afonso and Goldman, Alfredo and Monteiro, Julian},
  title = {On the Evaluation of Shortest Journeys in Dynamic Networks},
  booktitle = {Intl. Symposium on Networking Computing and Applications ({NCA}'07)},
  year = {2007},
  pages = {},
  address = {Cambridge},
  editor = {},
  publisher = {},
  note = {},
  abstract = {The assessment of routing protocols for wireless networks is a 
difficult task, because of the networks' highly dynamic behavior and the 
absence of benchmarks. However, some of these networks, such as intermittent 
wireless sensors networks, periodic or cyclic networks, and low earth orbit 
(LEO) satellites systems, have more predictable dynamics, as the temporal 
variations in the network topology are somehow deterministic, which may 
make them easier to study. The graph theoretic model - the evolving graphs - 
was proposed to help capture the dynamic behavior of these networks, in view 
of the construction of least cost routing and other algorithms.

Our recent experiments showed that evolving graphs have all the potentials 
to be an effective and powerful tool in the development of routing protocols 
for dynamic networks. In this paper, we evaluated the shortest journey 
evolving graph algorithm when used in a routing protocol for MANETs. We use 
the NS2 network simulator to compare this first implementation to the four 
well known protocols, namely AODV, DSR, DSDV, and OLSR. In this paper we 
present simulation results on the energy consumption of the nodes. We also 
included other EG protocol, namely EG$_{Foremost}$  , in the experiments.}
}
@inproceedings{SBG:WDRA07,
  author = {Sato, Danilo and Bassi, Dairton and Goldman, Alfredo},
  title = {Extending Extreme Programming With Practices From Other Agile Methodologies},
  booktitle = {1st Workshop on Rapid Application Development (WDRA'2007) in the Brazilian Symposium on Software Quality},
  year = {2007},
  pages = {},
  address = {Porto de Galinhas, Brazil},
  editor = {},
  publisher = {},
  note = {},
  slides = {http://ccsl.ime.usp.br/agilcoop/files/WDRA07ExtendingXP.pdf},
  pdf = {http://ccsl.ime.usp.br/agilcoop/files/Extending%20Extreme%20Programming%20with%20Practices%20from%20Other%20Methodologies.pdf},
  abstract = {In the second edition of Extreme Programming Explained, Kent Beck 
breaks the original twelve practices in thirteen primary practices and eleven 
corollary practices. He also clearly outlines the principles of the methodology 
that should serve as guidelines when translating values into practices. Based on 
these principles and on our experience, we present five practices that we created, 
adapted, or brought from different agile methodologies and that we have been 
using on several projects: Daily Stand-up Meetings, Retrospectives, Refactoring 
Threshold, Story/Task Board, and Personas. For each practice we explain its use 
and we present the associated principles and values.}
}
@inproceedings{FGK:WDRA07,
  author = {Freire, Alexandre and Goldman, Alfredo and Kon, F\'abio},
  title = {The ``Bootstrap'' and ``Split Personality'' Antipractices - eXPeriences Teaching eXtreme Programming},
  booktitle = {1st Workshop on Rapid Application Development (WDRA'2007) in the Brazilian Symposium on Software Quality},
  year = {2007},
  pages = {},
  address = {Porto de Galinhas, Brazil},
  editor = {},
  publisher = {},
  note = {},
  slides = {http://ccsl.ime.usp.br/agilcoop/files/antipraticasWrda.pdf},
  pdf = {http://www.ime.usp.br/~kon/papers/Freire-wrda07.pdf},
  abstract = {This article provides insight into two simple and common problems 
when teaching XP: the ``Bootstrap'' and ``Split Personality'' antipractices. 
Bootstrap describes how teams have difficulties starting a project with little or 
no code base. Split Personality describes difficulties experienced when one 
assumes both the Coach and Customer roles. We present these organizational 
antipatterns as antipractices we have identified while teaching XP in different 
contexts. We discuss simple solutions to the antipatterns based on reflections 
from these experiences and describe concrete situations where they were effective.}
}
@inproceedings{FGK:WCGA07,
  author = {Guerra, E. and Goldman, Alfredo},
  title = {InGriDE: um ambiente de desenvolvimento para computa\c{c}\~ao em grade baseado no GAT (Grid Application Toolkit)},
  booktitle = {V Workshop de Computa\c{c}\~ao em Grade e Aplica\c{c}\~oes em conjunto com o SBRC 2007},
  year = {2007},
  pages = {},
  address = {Bel\'em, Brazil},
  editor = {},
  publisher = {},
  note = {},
  slides = {http://wcga07.lncc.br/docs/29378.pdf},
  abstract = {The establishment of Grid Computing resulted in the deployment of 
several infrastructures which provide computational resources for solving 
complex problems. However, developing applications over this heterogeneous and 
distributed infrastructure is still a complex and error prone process. This paper 
introduces InGriDE, an integrated and extensible development environment for 
Grid Computing which aims to reduce this problem. InGriDE unifies tools and 
provide interaction with different middleware systems through the Grid 
Application Toolkit (GAT) programming interface. In this paper we present the main 
contributions of InGriDE for Grid Computing.}
}
@inproceedings{MGF:WiMobIEEE06,
  author = {Monteiro, J. and Goldman, A. and Ferreira, A.},
  title = {Performance Evaluation of Dynamic Networks using an Evolving Graph Combinatorial Model},
  booktitle = {2nd {IEEE} International Conference on Wireless and Mobile Computing, Networking and Communications WiMob'06},
  year = {2006},
  pages = {173--180},
  address = {Montreal},
  editor = {},
  publisher = {IEEE Computer Society},
  note = {},
  http = {http://dx.doi.org/10.1109/WIMOB.2006.1696378},
  keywords = {NS2 network simulator, combinatorial model, dynamic behavior, evolving graph theory, 
	  graph theoretic model, performance evaluation, routing protocol, stochastic prediction, 
	  wireless network, graph theory, performance evaluation, prediction theory, radio networks, 
	  routing protocols, stochastic processes},
  abstract = {The highly dynamic behavior of wireless networks make them very 
difficult to evaluate, e.g. as far as the performance of routing algorithms 
is concerned. However, some of these networks, such as intermittent wireless 
sensors networks, periodic or cyclic networks, and low Earth orbit (LEO) 
satellites systems have more predictable dynamics, as the temporal variations 
in the network topology are somehow deterministic. Recently, a graph theoretic 
model-the evolving graphs-was proposed to help capture the dynamic behavior of 
these networks, in view of the construction of least cost routing and other 
algorithms. The algorithms and insights obtained through this model are 
theoretically very efficient and intriguing. However, there is no study on the 
uses of these theoretical results into practical situations. Therefore, the 
objective of this work is to analyze the applicability of the evolving graph 
theory in the construction of efficient routing protocols in realistic scenarios. 
In this paper, we used the NS2 network simulator to first implement an evolving 
graph based routing protocol, and then to evaluate such protocol compared to 
three major ad-hoc protocols (DSDV, DSR, AODV). Interestingly, our experiments 
showed that evolving graphs have all the potentials to be an effective and 
powerful tool in the development of algorithms for dynamic networks, with 
predictable dynamics at least. In order to make this model widely applicable, 
however, some practical issues still have to be addressed and incorporated into 
the model, like stochastically predictable behavior. We also discuss such issues 
in this paper, as a result of our experience.}
}
@inproceedings{VG:WSCAD06,
  author = {Vinagreiro, Marcelo and Goldman, Alfredo},
  title = {Um sistema distribu\'ido para busca de caminhos em grafos din\^amicos},
  booktitle = {WSCAD VII Workshop em Sistemas Computacionais de Alto Desempenho},
  year = {2006},
  pages = {},
  address = {Ouro Preto},
  editor = {},
  publisher = {Anais do VII WSCAD},
  note = {},
  pdf = {pdf/wscad06.pdf},
  abstract = {Este trabalho descreve um novo modelo para c\'alculo
concorrente de caminhos em grafos din\^amicos os quais podem estar 
particionados em um conjunto de servidores interconectados. Aspectos 
din\^amicos em c\'alculos de caminhos t\^em sido bem explorados em 
trabalhos anteriores, neste trabalho, consideramos tamb\'em aspectos de
distribui\c{c}\~ao. O arcabouco proposto pode ser usado com algoritmos 
de c\'alculo de caminhos din\^amicos ou est\'aticos.
O modelo pode ser usado em sistemas simulando o estado
de uma rede ou o monitormento das condicoes de tr\^ansito
de uma cidade. O artigo tamb\'em apresenta alguns detalhes
de implementa\c{c}\~ao bem como resultados de testes.}
}
@inproceedings{dutot:WJSPS05,
  author = {Pierre-Fran{\c c}ois Dutot and Marco A. S. Netto and Alfredo Goldman and Fabio Kon},
  title = {Scheduling moldable BSP tasks},
  booktitle = {Proceedings of the 11th Workshop on Job Scheduling Strategies for Parallel Processing},
  year = {2005},
  volume = {3834},
  pages = {157-172},
  address = {Boston},
  publisher = {Workshop on Job Scheduling Strategies for Parallel Processing - LNCS},
  abstract = {Our main goal in this paper is to study the scheduling of 
parallel BSP tasks on clusters of computers. We focus our attention on 
special characteristics of BSP tasks, which can use fewer processors than 
the original required, but with a particular cost model. We discuss the 
problem of scheduling a batch of BSP tasks on a fixed number of computers. 
The objective is to minimize the completion time of the last task 
(makespan). We show that the problem is difficult and present 
approximation algorithms and heuristics. We finish the paper presenting the 
results of extensive simulations under different workloads.}
}
@inproceedings{camargo:SBAC05,
  author = {Raphael Y. De Camargo and Fabio Kon and Alfredo Goldman},
  title = {Portable checkpointing and communication for {BSP} applications on dynamic heterogeneous {Grid} environments},
  booktitle = {SBAC-PAD'05: The 17th International Symposium on Computer Architecture and High Performance Computing},
  year = {2005},
  volume = {1},
  pages = {226--233},
  address = {Rio de Janeiro},
  publisher = {Workshop on Job Scheduling Strategies for Parallel Processing - LNCS},
  http = {http://dx.doi.org/10.1109/CAHPC.2005.33},
  abstract = {Executing long-running parallel applications in Opportunistic Grid 
environments composed of heterogeneous, shared user workstations, is a daunting 
task. Machines may fail, become unaccessible, or may switch from idle to busy 
unexpectedly, compromising the execution of applications. A mechanism for 
fault-tolerance that supports these heterogeneous architectures is an important 
requirement for such a system. In this paper, we describe the support for 
fault-tolerant execution of BSP parallel applications on heterogeneous, shared 
workstations. A precompiler instruments application source code to save state 
periodically into checkpoint files. In case of failure, it is possible to 
recover the stored state from these files. Generated checkpoints are portable 
and can be recovered in a machine of different architecture, with data 
representation conversions being performed at recovery time. The precompiler 
also modifies BSP parallel applications to allow execution on a Grid composed 
of machines with different architectures. We implemented a monitoring and 
recovering infrastructure in the InteGrade Grid middleware. Experimental results 
evaluate the overhead incurred and the viability of using this approach in a Grid 
environment.}
}
@inproceedings{GB:MATA04,
  author = {Goldman, Alfredo and Barbosa, Rodrigo M.},
  title = {MobiGrid: Framework for Mobile Agents on Computer {Grid} Environments},
  booktitle = {MATA 2004, First International Workshop on Mobility Aware Technologies and Applications},
  year = {2004},
  volume = {},
  pages = {147--157},
  address = {Florian\'opolis},
  publisher = {Springer-Verlag},
  pdf = {pdf/mata2004.pdf},
  abstract = {This project focuses on the implementation of a framework for mobile 
agents support within a grid environment project, namely InteGrade. Our goal is 
to present a framework where time consuming sequential tasks can be executed 
using mainly the idle cycles of a network of personal workstations. The mobile 
agents may be used to encapsulate long processing applications (tasks). These 
agents can migrate whenever the local machine is requested by its user, since 
they are provided with automatic migration capabilities. Our framework also 
provides to the user a manager that keeps track of the agents submitted by him.}
}
@inproceedings{FGFAK:WSL04,
  author = {Freire, Alexandre and Goldman, Alfredo and Ferreira, Carlos Eduardo and Asmussen, Christian and Kon, F\'abio},
  title = {Mico - university schedule planner},
  booktitle = {Anais do 5o Workshop sobre Software Livre},
  year = {2004},
  volume = {},
  pages = {147--150},
  address = {Porto Alegre, Brazil},
  publisher = {Anais do WSL'2004},
  pdf = {pdf/wsl04.pdf},
  abstract = {This paper describes the development of Mico, the XPUSP 
University Schedule Planner. It is a system that manages the creation 
of a schedule for the courses of the Computer Science department and 
the allocation of professors to teach these courses based on 
preferences gathered from professors and students. It has been 
developed using free software and it is itself free software, available 
under the GNU GPL. We will give a short description of the problem we 
want to solve and how the system works, then we will discuss the free 
software frameworks and tools used in the development and our interaction 
with the free software development community.}
}
@inproceedings{camargo:MGC04,
  author = {de Camargo, Raphael Y. and Goldchleger, Andrei and Kon, Fabio and Goldman, Alfredo},
  title = {Checkpointing-based rollback recovery for parallel applications on the InteGrade grid middleware},
  booktitle = {MGC '04: Proceedings of the 2nd workshop on Middleware for grid computing},
  year = {2004},
  volume = {},
  pages = {35--40},
  address = {Vancouver, Canada},
  publisher = {ACM},
  http = {http://doi.acm.org/10.1145/1028493.1028499},
  keywords = {Fault-tolerance, Checkpointing, BSP, Grid Computing},
  abstract = {InteGrade is a grid middleware infrastructure that enables 
the use of idle computing power from user workstations. 
One of its goals is to support the execution of long-running 
parallel applications that present a considerable amount of 
communication among application nodes. However, in an 
environment composed of shared user workstations spread 
across many different LANs, machines may fail, become unaccessible, 
or may switch from idle to busy very rapidly, compromising the 
execution of the parallel application in some of its nodes. Thus, 
to provide some mechanism for fault-tolerance becomes a major 
requirement for such a system.
 
In this paper, we describe the support for checkpoint-based 
rollback recovery of parallel BSP applications running over the 
InteGrade middleware. This mechanism consists of periodically 
saving application state to permit to restart its execution from 
an intermediate execution point in case of failure. A precompiler 
automatically instruments the source-code of a C/C++ application, 
adding code for saving and recovering application state. A failure 
detector monitors the application execution. In case of failure, the 
application is restarted from the last saved global checkpoint.}
}
@inproceedings{GP:WCSF03,
  author = {Goldman, Alfredo and Pinho, Leonardo},
  title = {Sistemas de localiza\c{c}\~ao din\^amica de servi\c{c}os em ambientes de computa\c{c}\~ao m\'ovel},
  booktitle = {WCSF2003 - Workshop de Computa\c{c}\~ao M\'ovel e Sem Fio},
  year = {2003},
  volume = {},
  pages = {},
  address = {S\~ao Louren\c{c}o, MG, Brazil},
  publisher = {Workshop de Computa\c{c}\~ao M\'ovel e Sem Fio, 2003},
  abstract = {Um dos desafios atuais, com o aumento do n\'umero de servi\c{c}os 
em uma rede, \'e a localiza\c{c}\~ao din\^amica dos mesmos. V\'arias tecnologias 
de localiza\c{c}\~ao de servi\c{c}os foram desenvolvidas para simplificar o uso 
dos mesmos, permitindo que eles sejam encontrados, configurados e usados com um 
m\'inimo de esfor\c{c}o. Entretanto, n\~ao existe nenhum sistema que selecione 
o servidor mais conveniente ao cliente, como o mais pr\'oximo a este. 
Apresentamos uma solu\c{c}\~ao para estender os sistemas existentes, integrando-os 
com sistemas de localiza\c{c}\~ao f\'isica de unidades m\'oveis, a fim de localizar 
o servi\c{c}o mais pr\'oximo ao cliente.}
}
@inproceedings{TGB:ICPPIEEE03,
  author = {Martha Torres and Alfredo Goldman and Junior Barrera},
  title = {A Parallel Algorithm for Enumerating Combinations},
  booktitle = {International Conference on Parallel Processing},
  year = {2003},
  volume = {1},
  pages = {518-526},
  address = {Taiwan},
  publisher = {IEEE Computer Society},
  http = {http://www.computer.org/portal/web/csdl/doi/10.1109/ICPP.2003.1240626},
  keywords = {combinations enumeration, dynamic algorithm, dynamic scheduling, heterogeneous parallel platforms, 
	load balance, parallel algorithm, static scheduling, computational complexity, dynamic scheduling, 
	parallel algorithms, processor scheduling, resource allocation},
  abstract = {In this paper we propose an efficient parallel algorithm with simple 
static and dynamic scheduling for generating combinations. It can use any number 
of processors $(NP \leq n - m + 1)$ in order to generate the set of all 
combinations of $C(n, m)$. The main characteristic of this algorithm is to require 
no integer larger than $n$ during the whole computation. The performance results 
show that even without a perfect load balance, this algorithm has very good 
performance, mainly when $n$ is large. Besides, the dynamic algorithm presents a 
good performance on heterogeneous parallel platforms.}
}
@inproceedings{GKGF:IFIPConf03,
  author = {Andrei Goldchleger and Fabio Kon and Alfredo Goldman and Marcelo Finger},
  title = {Integrade: Object-Oriented Grid Middleware Leveraging Idle Computing Power of Desktop Machines},
  booktitle = {Third IFIP Conference on E-Commerce, E-Business and E-Goverment},
  year = {2003},
  volume = {},
  pages = {610--616},
  address = {Guaruj\'a, Brazil},
  publisher = {Proceedings of the Third IFIP Conference on E-Commerce, E-Business and E-Goverment},
  http = {},
  keywords = {},
  abstract = {}
}
@inproceedings{GKF:XP02,
  author = {Alfredo Goldman and Fabio Kon and Carlos Ferreira},
  title = {Programa\c{c}\~ao {eXtrema}: uma experi\^encia did\'atica},
  booktitle = {Curso de Qualidade 2002},
  year = {2002},
  volume = {1},
  pages = {63--72},
  address = {Florian\'opolis},
  publisher = {Anais do VI Curso de Qualidade SBC 2002},
  keywords = {},
  abstract = {}
}
@inproceedings{AG:WSCAD02,
  author = {Arruda, Fl\'avio and Goldman, Alfredo},
  title = {Elimina\c{c}\~ao Paralela de Termos Dominantes no Problema da Mochila},
  booktitle = {Workshop de Sistemas Computacionais de Alto Desempenho},
  year = {2002},
  volume = {},
  pages = {89-94},
  address = {Vit\'oria, ES, Brazil},
  publisher = {Sociedade Brasileira da Computa\c{c}\~ao},
  abstract = {Um dos problemas mais conhecidos em otimiza\c{c}\~ao combinat\'oria 
\'e o problema da mochila ilimitado. Devido a sua import\^ancia diversos autores 
buscaram formas eficientes de resolv\^e-lo. Por um lado, diversos estudos da 
paraleliza\c{c}\~ao deste problema foram feitos. Por outro lado, v\'arias 
t\'ecnicas de elimina\c{c}\~ao de objetos tamb\'em foram encontradas. Neste 
trabalho n\'os unimos as duas possibilidades apresentando algoritmos paralelos 
para a elimina\c{c}\~ao de objetos. Para valida\c{c}\~ao dos algoritmos, os 
mesmos foram implementados em Java e executados em um cluster de computadores.}
}
@inproceedings{AG:BSGAC01,
  author = {Goldman, Alfredo and Rapine, C.},
  title = {Scheduling with Duplication on m Processors with Small Communication Delays},
  booktitle = {Brazilian Symposium on Graphs Algorithms and Combinatorics},
  year = {2001},
  volume = {7},
  pages = {1-4},
  address = {Fortaleza, Brazil},
  publisher = {Electronic Notes in Discrete Mathematics},
  keywords = {Scheduling, communication delays, performance guarantee},
  abstract = {We consider the problem of scheduling a directed acyclic graph on 
a limited number of processors in presence of communication delays 
($P | prec, c_{i,j} | C_{max}$). Under the small communication time assumption, 
meaning that the communication delays are smaller than the computation times of 
the tasks, we propose a new list scheduling algorithm. This algorithm takes 
advantage of the duplication to reduce the impact of the communication on the 
schedule makespan. We establish for this algorithm a worst case performance 
guarantee of 2 compared to an optimal solution.}
}
@inproceedings{GS:WCsFCM01,
  author = {A. Goldman and A. Santiago},
  title = {Pol\'iticas de hand-off com balanceamento de carga para computa\c{c}\~ao m\'ovel},
  booktitle = {Workshop de Comunica\c{c}\~ao sem Fio e Computa\c{c}\~ao M\'ovel},
  year = {2001},
  volume = {},
  pages = {},
  address = {Recife, Brazil},
  publisher = {Anais do 3o. Workshop de Comunica\c{c}\~ao sem Fio e Computa\c{c}\~ao M\'ovel},
  abstract = {Usually the hand-off is done when the mobile units move from 
one base station to other. As there exist regions where more than one base 
station is available. We propose a new scheme where the hand-off can be 
initiated by the base stations. The goal of this scheme is to balance the 
load among the base stations.}
}
@inproceedings{GM:REMPAR98,
  author = {A. Goldman and G. Mounie},
  title = {Near optimal scheduling of UET-task chains on $m$ BSP processors},
  booktitle = {Rencontres Francophones du Paralelisme},
  year = {1998},
  volume = {},
  pages = {239-242 (in French)},
  address = {Bordeaux},
  publisher = {REMPAR'98, 1998},
  ps = {pdf/rempar98.ps},
  keywords = {Ordonnancement, cha\^ines, BSP},
  abstract = {Nous pr\'esentons tout d'abord le mod\`ele BSP et le probl\`eme de 
l'ordonnancement de cha\^ines ind\'ependantes. Puis nous nous attacherons \`a 
l'\'etude de la complexit\'e do probl\`eme et \`a la pr\'esentation d'un 
algorithme approch\'e.}
}
@inproceedings{GPT:Irregular98,
  author = {Alfredo Goldman and Joseph G. Peters and Denis Trystram},
  title = {Exchange of messages of different sizes},
  booktitle = {Irregular, 1998},
  volume = {1457},
  number = {},
  pages = {194--205},
  year = {1998},
  address = {Berkeley},
  publisher = {Springer Verlag},
  ps = {pdf/irregular98-final.ps},
  abstract = {In this paper, we study the exchange of messages among a
set of processors linked through an interconnection network. We focus on 
general, non-uniform versions of all-to-all (or complete) exchange, 
problems in asynchronous systems with a linear cost model and messages 
of arbitrary sizes. We extend previous complexity results to show that 
the general asynchronous problems are {em NP}-complete. We present several 
approximation algorithms and determine which heuristics are best suited 
to several parallel system. We conclude with experimental results 
that show that our algorithms outperform the native all-to-all exchange 
algorithm on an IBM SP2 when the number of processors is odd.}
}
@inproceedings{GT:parelec98,
  author = {Alfredo Goldman and Denis Trystram},
  title = {Algorithms for the message exchange problem},
  booktitle = {Parelec, 1998},
  volume = {},
  number = {},
  pages = {153--161},
  year = {1998},
  address = {Byalistok},
  publisher = {},
  ps = {pdf/parelec98-final.ps},
  keywords = {Personalized communication, routing {h-}relations, BSP model},
  abstract = {In a distributed memory computer system, the tasks of a parallel 
program spread among the processors have to communicate in order to exchange 
data. The communication phase can be seen as a {\em h-relation} whose 
efficient implementation allow a high performance execution of a large class 
of algorithms. We apply some well known linear algebra algorithms to find 
communication patterns, that have a very good performance in practice.}
}
@inproceedings{GT:HiPC98,
  author = {Alfredo Goldman and Gre\'egory Mouni\'e and Denis Trystram},
  title = {Near Optimal Scheduling of UET-task chains on m BSP processors},
  booktitle = {High Performance Computing},
  volume = {},
  number = {},
  pages = {},
  year = {1998},
  address = {Madras},
  publisher = {HiPC'98},
  ps = {pdf/hipc.ps},
  abstract = {The aim of this work is to show that scheduling a set of 
independent chains on a parallel machine under the BSP model is a difficult 
optimization problem which can be easily approximated in practice. 
BSP is a machine independent computational model which is becoming more and 
more popular. Finding the optimal solution when the number of processors is 
fixed is shown to be hard. Efficient heuristics including communications 
are proposed and analyzed. We particularly focus on the influence of 
synchronization between consecutive supersteps. Simulations of a large number 
of instances have been carried out to complement the theoretical worst case 
analysis. They confirm the very good behavior of the algorithm on average.}
}
@inproceedings{GT:IPPS97,
  author = {Goldman, A. and Trystram, D.},
  title = {An efficient parallel algorithm for solving the knapsack problem on the hypercube},
  booktitle = {Parallel Processing Symposium, 1997. Proceedings., 11th International},
  year = {1997},
  volume = {},
  number = {},
  pages = {608--615},
  address = {Genebra},
  http = {http://dx.doi.org/10.1109/IPPS.1997.580964},
  keywords = {0/1 knapsack problem solving, dynamic programming function, efficient parallel algorithm, hypercube, 
	integral knapsack problem solving, irregular mesh, irregular meshes, precedence graph, 
	scheduling algorithm, dynamic programming, graph theory, hypercube networks, parallel algorithms, 
	processor scheduling},
  abstract = {The authors present a new algorithm to solve the integral knapsack 
problem on the hypercube. The main idea is to use the fact that the precedence 
graph of the dynamic programming function of the knapsack problem is an 
irregular mesh. They propose a scheduling algorithm for irregular meshes on the 
hypercube. The efficiency of the algorithm is independent on the number of 
processors. They also present some improvements for the solution of the 0/1 
knapsack problem on the hypercube}
}
@inproceedings{GF:PPAM97,
  author = {A. Goldman and S. Fidanova},
  title = {Parallel execution of irregular meshes into a linear systolic array},
  booktitle = {2nd International Conference on Parallel Procesing},
  year = {1997},
  volume = {},
  number = {},
  pages = {267--274},
  address = {Zakopane},
  publisher = {PPAM'97},
  pdf = {pdf/ppam97.ps},
  keywords = {Irregular mesh, scheduling, systolic algorithm, regular interconnection networks.},
  abstract = {We present in this paper a scheduling algorithm for the execution 
of irregular meshes into a systolic linear array. The data dependence graphs 
of many problems in computer science are irregular meshes. These include the 
unbounded knapsack problem, the subset sum problem, the change making problem 
and the longest common subsequence problem. In this paper a scheduling 
algorithm for a dependence graph is represented by an allocation function and 
an initial time for each vertex. The allocation and timing function in this 
paper are improvements of the previous methods. Our method reaches two lower 
bounds, the lower bound on the number of processors and the lower bound on time.}
}
@inproceedings/{GFS:CONPAR94,
  author = {A. Goldman and A. Ferreira and S.W. Song},
  title = {Broadcasting in bus interconnection networks},
  booktitle = {Parallel Processing: CONPAR 94/VAPP VI},
  year = {1994},
  month = {September},
  volume = {854},
  number = {},
  pages = {797--907},
  address = {},
  publisher = {Springer-Verlag},
  ps = {pdf/br.ps},
  abstract = {In this paper we study parallel architectures where the 
communication means are constituted {\em solely} by buses. These 
promising architectures can use the power of bus technologies, 
providing a viable way to interconnect much more processors in a 
simple and efficient manner. We study the {\em hypergraph, hypergrid, 
} and {\em bypertorus} architectures, which are the bus-based 
versions of the well used point-to-point interconnection networks. 
We give optimal algorithms for broadcasting a message from one 
processor to all the others in such architectures, using a tool 
called {\em simpplification}}
}
@inproceedings{FGS:PARLE94,
  author = {Ferreira, A. and Goldman vel Lejbman, A. and Song, S.},
  title = {Bus based parallel computers: A viable way for massive parallelism},
  booktitle = {PARLE'94 Parallel Architectures and Languages Europe},
  year = {1994},
  pages = {553-564},
  volume = {817},
  publisher = {Springer Berlin/Heidelberg},
  editor = {Halatsis, Costas and Maritsas, Dimitrios and Philokyprou, George and Theodoridis, Sergios},
  series = {Lecture Notes in Computer Science},
  ps = {pdf/parle.ps},
  http = {http://dx.doi.org/10.1007/3-540-58184-7_130},
  abstract = {In most distributed memory MIMD multiprocessors, processors are 
connected by a point-to-point interconnection network. Since interprocessor 
communication frequently constitutes serious bottlenecks, several architectures 
were proposed that enhance point-to-point topologies with the help of multiple 
bus systems so as to improve the communication efficiency. In this paper we 
study global communication on parallel architectures where the communication 
means are constituted solely by busses. We focus on the hyperpath and the 
hypergrid architectures, which are the bus-based versions of the well used 
point-to-point linear and grid interconnection networks. Using (hyper) graph 
theoretic concepts in order to model inter-processor communication in such networks, 
we developed a new tool called simplification in order to give extremely efficient 
algorithms for gossiping (all-to-all or total exchange communications).}
}
@inproceedings{GFS:SBAC93,
  author = {A. Goldman and A. Ferreira and S.W. Song},
  title = {Comunica\c{c}\~ao em hipergrades e hipertoros usando barramentos},
  booktitle = {V Simp\'osio Brasileiro de Arquitetura de Computadores},
  year = {1993},
  volume = {},
  number = {},
  pages = {},
  address = {Florian\'opolis},
  publisher = {SBAC PAD 93},
  pdf = {},
  abstract = {}
}
@inproceedings{AGS:ExtremeCom09,
  author = {Luciana Arantes and Alfredo Goldman and M\'arcio Vin\'icius Dos Santos},
  title = {Using Evolving Graphs to evaluate DTN routing protocols},
  booktitle = {ExtremeCom 2009},
  year = {2009},
  volume = {},
  pages = {},
  address = {La\^onia},
  publisher = {Proc, of the first Extreme Workshop on Communication},
  abstract = {One of the main challenges of Delay-Tolerant Networks (DTNs) 
is on how to define effective routing protocols. Contrarily to traditional 
networks, which use static routing protocols and guarantee end-to-end paths 
between nodes of the network, connectivity is intermittent in DTNs. 
A routing path between two nodes is dynamically built over the time, 
i.e., a connection between two intermediate nodes of a routing path is not 
necessarily established beforehand. Hence, it may happen that at a given 
time or period there is no direct path between two given nodes, 
however further future temporary connections between some intermediary nodes 
may provide a path over time, also called journey, between those two nodes. 
Temporary connections between nodes, denoted contacts, is thus strongly 
exploited by DTN routing protocols for message delivery. A DTN routing 
protocol must carefully select journeys between nodes for performance's sake. 
Usually routing takes place using a store and forward mechanism and depends 
on several parameters such as time of request, availability of connectivity, 
message size, network traffic, transmission delay, etc. Moreover, different 
metrics can be exploited for supporting routing decisions like the number of 
hops between the given nodes, the arrival.}
}
@inproceedings{FG:ASTEC09,
  author = {Emilio Francesquini and Alfredo Goldman},
  title = {Scheduling on multi-core clusters},
  booktitle = {Workshop on Algorithms and Techniques for Scheduling on Clusters and Grids},
  year = {2009},
  volume = {},
  pages = {},
  address = {Les Plantiers},
  publisher = {Proc. of ASTEC 2009},
  abstract = {Nowadays, with the advent of the multi-core technology, most of the 
modern computers have several cores. However, the current schedulers do not provide 
automatic tools to schedule tasks to the cores. Indeed, some of them consider each 
core as one whole node neglecting the advantages (and disadvantages) that the 
spatial proximity amongst the cores could provide. In this talk, we will show some 
of the solutions currently being employed to tackle these scheduling problems as 
well as propose some of our own ideas for a model which considers the multi-core 
context and its impact on the scheduling algorithms.}
}
@inproceedings{KCBFG:WSASPC08,
  author = {Mariana Kolberg and Daniel Cordeiro and Alfredo Goldman and Gerd Bohlender and Luiz Fernandes},
  title = {A Multithreaded Verified Method for Solving Linear Systems in Dual-Core Processors},
  booktitle = {Workshop on State-of-the-Art in Scientific and Parallel Computing},
  year = {2008},
  volume = {},
  pages = {},
  address = {Trondheim},
  publisher = {Proceedings of the Workshop on State-of-the-Art in Scientific and Parallel Computing (PARA 2008)},
  abstract = {This paper presents a new multithreaded approach for the problem of 
solving dense linear systems with verified results. We propose a new method that 
allows our algorithm to run in a dual-core system without making any changes in 
the floating-point rounding mode used during the computations, i.e., each processor 
independently uses its own floating-point rounding strategy to do the computations. 
The algorithm distributes the computational tasks among the processors 
based on the floating-point rounding mode required by the task.}
}
@inproceedings{CGT:ECO08,
  author = {Daniel Cordeiro and Alfredo Goldman and Denis Trystram},
  title = {Implicit Cooperation in Multi-Organization Clusters},
  booktitle = {XXI European Chapter on Combinatorial Optimization},
  year = {2008},
  volume = {},
  pages = {24--25},
  address = {Dubrovnik},
  publisher = {Proceedings of the XXI European Chapter on Combinatorial Optimization},
  abstract = {Commodity hardware and the maturity of grid middleware systems 
available today allow the development of large distributed systems composed 
by many parallel jobs. In order to fully utilize the available hardware and 
get the best performance, we need a sophisticated scheduling model that can 
respect the cluster owner's best interest and, at the same time, achieve global 
performance goals. 

Grid computing systems are composed by organizations that own clusters of 
computers. A grid user submit his/her jobs to a scheduler system that can 
choose any machine available in any of these clusters. However, each 
organization (a university lab, for instance) that shares its resources 
wants to take maximum advantage of its own hardware. In order to improve 
cooperation between organizations, local jobs must be prioritized. 

The scheduling of the jobs in the available grid machines is a crucial problem. 
Although each user submits jobs locally in his/her own organization, it is 
necessary to optimize the allocation of the jobs for the whole platform in 
order to achieve good performance. 

Pascual et al. proposed a preliminary analysis of the scheduling problem 
of rigid parallel tasks in multi-organization, homogeneous clusters. In 
their work, they proposed a new algorithm that, using an initial scheduling 
using Highest First order done locally by each organization, produces a global 
schedule that does not delay the local makespan of any organization. Their 
main contribution was an algorithm for this centralized global controller that 
can always be profitable. They showed that their algorithm is a 3-approximation 
which is asymptotically the best that can be obtained for this specific problem.

In this work, we extend the results obtained by Pascual et al. to organizations 
that run sequential jobs. Starting from the heuristic proposed by Pascual, we study 
the effects of allowing each organization to choose its own scheduling objective 
(such as total completion time and sum of completion times) in the global scheduling.}
}
@inproceedings{BGK:MATA05,
  author = {R.M. Barbosa and Alfredo Goldman and F\'abio Kon},
  title = {A Study of Mobile Agents Liveness Properties on MobiGrid},
  booktitle = {Mobility Aware Technlogies and Applications (MATA'2005)},
  year = {2005},
  volume = {1},
  pages = {30--34},
  address = {Montreal},
  publisher = {Mobility Aware Technlogies and Applications Companion Proceedings to LNCS 3744},
  abstract = {MobiGrid is a framework for mobile agents support within 
a grid computing environment. The mobile agents may be used to encapsulate 
long-processing applications (tasks). In MobiGrid, to provide a 
fast method of releasing the local machine and to prevent the tasks from 
dying suddenly, it is possible to have two or more copies of these tasks 
running independently; this concept is defined as liveness. In this paper, 
our goal is to simulate a network of personal workstations and the tasks 
that will be executed on them. In this way, we can study the effects of 
different liveness degrees on the completion time of the tasks.}
}
@inproceedings{GGHK:MDC05,
  author = {Goldchleger, Andrei and Goldman, Alfredo and Hayashida, Ulisses and Kon, Fabio},
  title = {The implementation of the BSP parallel computing model on the InteGrade Grid middleware},
  booktitle = {MGC '05: Proceedings of the 3rd international workshop on Middleware for grid computing},
  year = {2005},
  volume = {117},
  pages = {1--6},
  address = {Grenoble, France},
  publisher = {ACM},
  http = {http://doi.acm.org/10.1145/1101499.1101504},
  keywords = {BSP, Parallel Computing, Grid Computing},
  abstract = {InteGrade is an object-oriented grid middleware infrastructure whose 
goal is to leverage existing computational resources in organizations. Rather 
than relying on dedicated hardware such as reserved clusters, InteGrade focuses 
on using desktops in users' offices, machines in computer laboratories, shared 
workstations, as well as dedicated clusters. In this paper, we describe the 
support for the execution of highly coupled parallel applications on top of 
InteGrade. The paper describes the implementation of the middleware to support 
BSP parallel applications (with global synchronization points), and presents 
experimental results.}
}
@inproceedings{GQ:WMG03,
  author = {Alfredo Goldman and Carlos Queiroz},
  title = {A model for parallel job scheduling on dynamical computer grids},
  booktitle = {ACM/IFIP/USENIX Middleware'2003 Workshop on Middleware for the Grid},
  year = {2003},
  volume = {},
  pages = {264--266},
  address = {Rio de Janeiro, Brazil},
  publisher = {Rio de Janeiro : PUC-Rio},
  abstract = {This work presents a model that allows the execution of parallel 
applications in a grid environment. Our main focus is on how to share the idle 
cycles of clusters and computers to execute parallel applications. We introduce 
a new model with the notions of locality and adaptability. The locality is used 
for job allocation, and for job migration. The adaptability provides a simple 
mechanisn to allow clusters to join or leave a grid. We also propose a middleware 
architecture to implement the model.}
}
@inproceedings{GKFG:WMG03,
  author = {A. Goldman and F. Kon and M. Finger and A. Goldchleger},
  title = {InteGrade: Object-Oriented Grid Middleware Leveraging Idle Computing Power of Desktop Machines},
  booktitle = {ACM/IFIP/USENIX Middleware'2003 Workshop on Middleware for the Grid},
  year = {2003},
  volume = {},
  pages = {232-234},
  address = {Rio de Janeiro, Brazil},
  publisher = {Rio de Janeiro : PUC-Rio},
  abstract = {Grid computing technology improves the computing experiences at 
organizations by effectively integrating distributed computing resources. 
However, just a small fraction of currently available Grid infrastructures 
focuses on reutilization of existing commodity computers. This paper introduces 
InteGrade, a novel object-oriented middleware Grid infrastructure that focuses 
on leveraging the idle computing power of shared desktop machines. Its features 
include support for a wide range of parallel applications and mechanisms to 
assure that owners of shared resources do not perceive any loss in the quality 
of service. A prototype implementation is under construction and the current 
version is available for download.}
}
@incollection{CG:ICASD10,
  author = {Hugo Corbucci and Alfredo Goldman},
  title = {Open Source and Agile Methods: Two worlds closer than it seems},
  booktitle = {Agile Processes in Software Engineering and Extreme Programming},
  year = {2010},
  pages = {383--384},
  volume = {48},
  publisher = {Springer Berlin Heidelberg},
  editor = {Aalst, Will and Mylopoulos, John and Sadeh, Norman M. and Shaw, Michael J. and Szyperski, 
Clemens and Sillitti, Alberto and Martin, Angela and Wang, Xiaofeng and Whitworth, Elizabeth},
  series = {Lecture Notes in Business Information Processing},
  http = {http://dx.doi.org/10.1007/978-3-642-13054-0_43},
  keywords = {agile methods, open source, distributed agile},
  abstract = {Agile methods and Free, Libre and Open Source Software communities 
have different approaches to produce high quality and successful software in 
different scenarios. This work presents two surveys, each one directed to one 
of the communities, aimed to identify communication issues encountered in 
each environment. The results provided point out to very different communities 
with common practices and behaviors but with very similar problems and view 
points to solve the issues encountered.}
}
@incollection{MG:ICASD10,
  author = {Mariana Bravo and Alfredo Goldman},
  title = {Reinforcing the Learning of Agile Practices Using Coding Dojos},
  booktitle = {Agile Processes in Software Engineering and Extreme Programming},
  year = {2010},
  pages = {379--380},
  volume = {48},
  publisher = {Springer Berlin Heidelberg},
  editor = {Aalst, Will and Mylopoulos, John and Sadeh, Norman M. and Shaw, Michael J. and Szyperski, 
Clemens and Sillitti, Alberto and Martin, Angela and Wang, Xiaofeng and Whitworth, Elizabeth},
  series = {Lecture Notes in Business Information Processing},
  http = {http://dx.doi.org/10.1007/978-3-642-13054-0_41},
  abstract = {Agile practices such as pair programming or test driven development are 
best learned when they are actually performed rather than read about. However, an 
unexperienced learner on his own might take a long time and might make mistakes that 
could be avoided if he had some help. In this work, we present an activity known as 
Coding Dojo as a technique to reinforce the learning of some Agile practices. We 
describe this method and present a study that evaluates its effect on learning.}
}
@incollection{KVG:ERADSP10,
  author = {A. Kraemer and K. Vilar and Alfredo Goldman},
  title = {Fault Tolerance using Redundant Gateway Protocols},
  booktitle = {Escola Regional de Alto Desempenho de SP},
  year = {2010},
  pages = {},
  volume = {},
  publisher = {ERAD-SP 2010},
  address = {S\~ao Paulo},
  pdf = {pdf/erad2010.pdf},
  abstract = {The goal of this paper is to compare fault-tolerant protocols inside
of redundancy gateway context. For this purpose, performance tests were
conducted with specific protocols, like HSRP, VRRP and GLBP. The results
indicate which protocol will recover more quickly from the interruption of the
default gateway.}
}
@inproceedings{BDGNT:IPDPS09,
  author = {Bougeret, M. and Dutot, P.-F. and Goldman, A. and Ngoko, Y. and Trystram, D.},
  title = {Combining multiple heuristics on discrete resources},
  booktitle = {Parallel Distributed Processing, 2009. IPDPS 2009. IEEE International Symposium on},
  year = {2009},
  volume = {},
  number = {},
  pages = {1--8},
  keywords = {SAT solvers, approximation ratio, constant ratio polynomial approximation, good combination, 
	homogeneous discrete resources, multiple heuristics, parallel resources, portfolio problem, 
	resource allocation, parallel processing, polynomial approximation, resource allocation},
  abstract = {In this work we study the portfolio problem which is to find a good 
combination of multiple heuristics to solve given instances on parallel resources 
in minimum time. The resources are assumed to be discrete, it is not possible to 
allocate a resource to more than one heuristic. Our goal is to minimize the 
average completion time of the set of instances, given a set of heuristics on 
homogeneous discrete resources. This problem has been studied in the continuous 
case in [T. Sayag et al., 2006]. We first show that the problem is hard and that 
there is no constant ratio polynomial approximation unless P = NP in the general 
case. Then, we design several approximation schemes for a restricted version of 
the problem where each heuristic must be used at least once. These results are 
obtained by using oracle with several guesses, leading to various tradeoff between 
the size of required information and the approximation ratio. Some additional 
results based on simulations are finally reported using a benchmark of instances 
on SAT solvers.}
}
@inproceedings{CG:WGCA08,
  author = {Alex Camargo and A. Goldman},
  title = {An\'alise e disposi\c{c}\~ao de recursos de rede em grades computacionais},
  booktitle = {VI Workshop on Grid Computing and Applications},
  year = {2008},
  pages = {153--154},
  volume = {},
  publisher = {Proceedings of the VI Workshop on Grid Computing and Applications},
  address = {Rio de Janeiro},
  abstract = {Arcabou\c{c}os de grades computacionais t\^em se popularizado nos \'ultimos 
anos, por serem uma proposta concreta para gerenciamento e uso de recursos 
distribu\'idos. Alguns destes arcabou\c{c}os, como o Integrade, tem como caracter\'istica 
permitir a execu\c{c}\~ao de aplica\c{c}\~oes paralelas fortemente acopladas, onde a 
otimiza\c{c}\~ao de comunica\c{c}\~ao \'e fator crucial de desempenho das aplica\c{c}\~oes. Neste 
artigo apresentamos um estudo sobre infer\^encia de topologia f\'isica das redes 
locais que formam o arcabou\c{c}o de grade, de forma a prover dados para que o 
algoritmo de escalonamento aloque as tarefas da melhor forma poss\'ivel.}
}
@inproceedings{GNT:PMAA08,
  author = {A. Goldman and Y. Ngoko and D. Trystram},
  title = {Combining numerical iterative solvers},
  booktitle = {5th International workshop on Parallel Matrix Algorithms and Applications (PMAA)},
  year = {2008},
  pages = {17--18},
  volume = {},
  publisher = {Proceedings of the 5th International Workshop on Parallel Matrix Algorithms and Appications},
  address = {Neuchatel, Switzerland},
  pdf = {pdf/pmaa-2008.pdf},
  abstract = {Given a linear system there are several solvers which can be used to solve it. However,
according to the properties of the linear system different solvers may have different convergence 
speeds, or may even not converge at all. Nevertheless, it can be difficult to verify
these properties in practice, mainly due to rounding errors, and there are also some cases
where no direct property can be used. In this special situations there is no easy choice on
the best solver, so instead of determining it, we are interest in finding good combinations
of the solvers.

We are interested by the resolution of sparse systems with three solvers based on three
different iterative methods. The numerical methods used are the Conjugate Gradient (CG)
method, the BiConjugate Gradient Stabilized (BiCGSTAB) method and the Transpose Free
Quasi Minimal Residual Method (TFQMR).

To combine numerical solvers, we use an approach based on algorithm portfolio. The
basic idea is to interleave iterations of numerical solvers in cycles which are executed until
one solver finds a solution. We first study the combination of numerical solvers in an
offline setting. In this setting we suppose that a representative set of all linear systems
is available. The goal is to combine the set of numerical solvers in order to minimize the
average completion time.

Then, we study the combination in an on-line setting. In this setting, we do not suppose
any previous knowledge. Some heuristics are presented. The first heuristic periodically
executes a same cycle of iterations for each numerical solvers. The other heuristics adapts
their cycles of iterations from convergence informations gathered from previous cycles. The
main difficulty in these latter cases is to define metrics and rules that will be used to evaluate
the convergence of previous cycles and to define next cycles.

We experiment our approaches using the SPARSKIT library. We present comparisons
among heuristics and solvers, and we also study the impact of the cycle size on the execution
times.}
}
@inproceedings{GG:CCGrid07,
  author = {Eduardo Guerra and Alfredo Goldman},
  title = {Tool and Application Experiences with the Grid Application Toolkit (GAT)},
  booktitle = {CCGrid 2007 - Posters, 2007},
  year = {2008},
  pages = {},
  volume = {},
  publisher = {Proceedings of the 5th International Workshop on Parallel Matrix Algorithms and Appications},
  address = {Rio de Janeiro},
  abstract = {The establishment of Grid computing resulted in the deployment 
of several infrastructures and tools. However, this diversity is at the same 
time one of the major strengths and a big challenge of the grid. Although the 
Global Grid Forum (GGF) aims at a global standardization, these efforts will 
take time so users and developers will have to deal with such diversity for a 
while. In this paper, we report our experience with the Grid Application Tookit 
(GAT), a grid programming interface for tools and applications which abstract 
the grid technology diversity. We describe the development of an integrated and 
extensible development environment (IDE) for the Grid. We also present the 
deployment on the InteGrade middleware of a GAT application originally written 
for the Globus middleware.}
}
@inproceedings{ERPG:imeusp07,
  author = {P. Esm\'erio and F. Raganhan and H. Posca and A. Goldman},
  title = {O uso de ferramentas colaborativas on-line no ensino de gradua\c{c}\~ao},
  booktitle = {II Simposio de inicia\c{c}\~ao cient\'ifica e p\'os-gradua\c{c}\~ao do IME-USP},
  year = {2007},
  pages = {},
  volume = {},
  publisher = {Anais do II Simposio de inicia\c{c}\~ao cient\'ifica e p\'os-gradua\c{c}\~ao do IME-USP},
  address = {}
}
@inproceedings{BG:WGCA02,
  author = {R.M. Barbosa and A. Goldman},
  title = {MobiGrid: framework for mobile agents on computational grid environments},
  booktitle = {III Workshop on Grid Computing and Applications},
  year = {2005},
  pages = {},
  volume = {},
  publisher = {Anais do III Workshop on Grid Computing and Applications},
  address = {Petr\'opolis},
  abstract = {This project focuses on the implementation of a framework for mobile 
agents support within a grid environment project, namely InteGrade. Our goal is 
to present a framework where time consuming sequential tasks can be executed 
using mainly the idle cycles of a network of personal workstations. The mobile 
agents may be used to encapsulate long processing applications (tasks). These 
agents can migrate whenever the local machine is requested by its user, since 
they are provided with automatic migration capabilities. Our framework also 
provides to the user a manager that keeps track of the agents submitted by him.}
}
@inproceedings{Gold:CCGrid02,
  author = {Alfredo Goldman},
  title = {Scalable Algorithms for Complete Exchange on Multi-Cluster Networks},
  booktitle = {2nd IEEE/ACM International Symposium on Cluster Computing and the Grid},
  year = {2002},
  pages = {286--287},
  volume = {},
  publisher = {IEE/ACM CCGrid 2002},
  address = {Berlin, Germany},
  abstract = {Inside a dedicated parallel computer the communication times were 
generally modeled in the same way, independently of which processors communicate. 
In a network where the links among the computers are heterogeneous, or in 
hierarchical clusters, this might not be true anymore. Computers that have faster 
links, or are closer to each other should be able to exchange messages faster. 
These differences on communication times should be considered, not only for 
attributing tasks to the processors but also in global 
synchronization/communication. The goal of this paper is to study irregular 
all-to-all communications in a network of dedicated clusters.}
}
@inproceedings{Gold:NewSPDS01,
  author = {Alfredo Goldman},
  title = {Scheduling communications on a multi-cluster networks},
  booktitle = {New trends in scheduling for parallel and distributed systems},
  year = {2001},
  pages = {},
  volume = {},
  publisher = {Book of Abstracts - New trends in scheduling for parallel and distributed systems},
  address = {Marseille},
  pdf = {pdf/mcn2001.pdf},
  keywords = {Scheduling of communication, BSP-like synchronization, global communication},
  abstract = {Nowadays, with the introduction of clusters of computers
the notion of interprocessor communication is of growing
interest. Inside a dedicated cluster the communication times
were generally modeled in the same way, independently of
which processors communicate. In a network where the
links among the computers are heterogeneous this might not
be true anymore. Computers that have faster links, or are
closer with each other should be able to exchange messages
faster. These differences on communication times should
be considered, not only for attributing tasks to the processors 
but also in global synchronization/communication. The
goal of this paper is to study the global communication in a
network of dedicated clusters. We propose new communication 
algorithms based on known algorithms and we present
simulations on their expected performances.}
}
@inproceedings{GPT:IWIN97,
  author = {A. Goldman and J. Peters and D. Trystram},
  title = {Total Exchange with Messages of Different Sizes},
  booktitle = {International Workshop on Interconnection Networks},
  year = {1997},
  pages = {},
  volume = {},
  publisher = {IWIN'97},
  address = {Praga},
  http = {},
  abstract = {}
}
@techreport{GPT:SFU02,
  author = {Alfredo Goldman and Joseph G. Peters and Denis Trystam},
  title = {Exchanging Messages of Different Sizes},
  institution = {School of Computer Science, Simon Fraser University},
  year = {2002},
  month = {September},
  type = {},
  number = {},
  address = {},
  note = {},
  pdf = {ftp://fas.sfu.ca/pub/cs/techreports/2002/CMPT2002-08.pdf},
  keywords = {Personalized communications, BSP model, communication primitives},
  abstract = {This paper deals with the study of the exchange of messages among 
a set of processors linked through an interconnection network. We focus on 
general, non-uniform versions of message exchange problems in asynchronous 
systems with a linear cost model and messages of arbitrary sizes. We extend 
previous complexity results to show that the general asynchronous problems are 
NP-complete. We present several heuristics and determine which algorithms are 
best suited to several parallel systems. We propose new algorithms that 
combine the advantages of some of the heuristics. We conclude with experiments 
and simulations of the algorithms and analyses of their performances.}
}
@techreport{GKGFS:IMEUSP02,
  author = {Andrei Goldchleger and Fabio Kon and Alfredo Goldman and Marcelo Finger and Siang Wun Song},
  title = {InteGrade: Rumo a um Sistema de Computa\c{c}\~ao em Grade para Aproveitamento de Recursos Ociosos em M\'aquinas Compartilhadas},
  institution = {Instituto de Matem\'atica e Estat\'istica, Universidade de S\~ao Paulo},
  year = {2002},
  month = {September},
  type = {},
  number = {},
  address = {},
  note = {},
  pdf = {http://www.ime.usp.br/~gold/rt-integrade.pdf},
  abstract = {Computational Grids are a new trend in distributed computing systems. 
They allow the sharing of geographically disributed resources in an efficient way, 
extending the boundaries of what we perceive as distributed computing. Various 
sciences can benefit from the use of Grids to solve CPU-intensive problems, 
creating potencial benefits to the entire society. With further developement of 
Grid technology, it is very likely that corporations, universities, and public 
institutions will exploit Grids to enhance their computing infrastructure. In 
recent years, there has been a large increase in Grid technology research, which 
has produced some reference Grid implementations. This technical report presents 
the main features of four major Grid projects: Globus, Legion, Condor, and BOINC. 
We describe the design principles and the most important aspects of each system 
from our point of view. Finally, we introduce a new research project started 
recently at the University of S\~ao Paulo: InteGrade. In this new research effort, 
we aim at extending previous Grid research by using advanced distributed object	
technologies to build a novel Grid infrastructure to enable the use of idle 
processing time in commodity workstations without loss of Quality of Service for 
workstation users.}
}
@phdthesis{Gold:PHD99,
  author = {Alfredo Goldman},
  title = {Impact des mod\`eles d'ex\'ecution pour l'ordonnancement en calcul parall\`ele},
  school = {Institut National Polythecnique de Grenoble, INPG},
  year = {1999},
  address = {Grenoble, France},
  note = {},
  abstract = {}
}
@mastersthesis{Gold:Master94,
  author = {Alfredo Goldman},
  title = {Novas Estruturas de Interconex\~ao a base de Barramentos: Uma contribu\'i\c{c}\~ao a computa\c{c}\~ao maci\c{c}amente paralela},
  school = {Universidade de S\~ao Paulo, USP},
  year = {1994},
  address = {S\~ao Paulo, Brazil},
  note = {My master thesis was awarded with the third place on the I Thesis 
	Contest of the Latin American Congress of CLEI (Centro de Estudios 
	Latinoamericanos en Inform\'atica), Mexico City, Mexico, September 1994, 
	and with the first place on the VII Thesis Contest of the XIV Congress 
	of The Brazilian Computer Society, Caxambu, August 1994},
  pdf = {pdf/resumo.ps},
  abstract = {In most distributed memory MIMD multiprocessors, processors are 
connected by a point-to-point inter-connection network, usually modeled by a 
graph where processors are nodes and communications links are edges. Since 
interprocessor communication frequently constitutes serious bottlenecks, several 
architectures were proposed that enhance point-to-point topologies with the help 
of multiple bus systems. In this work we demonstrate the interest of parallel 
architectures where the communication means are constitured {\em solely} by busses.
We study some point-to-point topologies, and their modeling by graphs. We also 
study algorithms for global communication and some previous works that use busses. 
We propose generalizations of the ring, grid, etc, which are the bus-based versions 
of the well used point-to-point linear and grid interconnection networks. We show 
how to use hypergraph concepts in order to model inter-processor communication in 
such networks and we give efficient algorithms for broadcast and gossiping. We 
developed a new tool called {\em simplification}. The ideia is to construct a graph, 
to be called {\em simplified graph}, from the original topology, so that it will 
become easy to describe and perform communication schemes. The simplification concept 
also allows us to use some already known communication algorithms for usual networks.}
}

This file was generated by bibtex2html 1.95