4,301 research outputs found
Construction and Evaluation of Coordinated Performance Skeletons
Performance prediction is particularly challenging for dynamic foreign environments that cannot be modeled well, such as those involving resource sharing or foreign system components. Our approach is based on the concept of a performance skeleton which is a short running program whose execution time in any scenario reflects the estimated execution time of the application it represents. The fundamental technical challenge is automatic construction of performance skeletons for parallel MPI programs. The steps are 1) generation of process execution traces and conversion to a single coordinated logical program trace, 2) compression of the logical program trace, and 3) conversion to an executable parallel skeleton program. Results are presented to validate the construction methodology and prediction power of performance skeletons. The execution scenarios analyzed involve network sharing, different architectures and different MPI libraries. The emphasis is on identifying the strength and limitations of this approach to performanc
Pattern operators for grid
The definition and programming of distributed applications has become a major research
issue due to the increasing availability of (large scale) distributed platforms
and the requirements posed by the economical globalization. However, such a task
requires a huge effort due to the complexity of the distributed environments: large
amount of users may communicate and share information across different authority
domains; moreover, the “execution environment” or “computations” are dynamic
since the number of users and the computational infrastructure change in time. Grid
environments, in particular, promise to be an answer to deal with such complexity, by
providing high performance execution support to large amount of users, and resource
sharing across different organizations. Nevertheless, programming in Grid environments
is still a difficult task. There is a lack of high level programming paradigms
and support tools that may guide the application developer and allow reusability of
state-of-the-art solutions.
Specifically, the main goal of the work presented in this thesis is to contribute to
the simplification of the development cycle of applications for Grid environments by
bringing structure and flexibility to three stages of that cycle through a commonmodel.
The stages are: the design phase, the execution phase, and the reconfiguration phase.
The common model is based on the manipulation of patterns through pattern operators,
and the division of both patterns and operators into two categories, namely
structural and behavioural. Moreover, both structural and behavioural patterns are
first class entities at each of the aforesaid stages. At the design phase, patterns can
be manipulated like other first class entities such as components. This allows a more
structured way to build applications by reusing and composing state-of-the-art patterns.
At the execution phase, patterns are units of execution control: it is possible, for
example, to start or stop and to resume the execution of a pattern as a single entity. At
the reconfiguration phase, patterns can also be manipulated as single entities with the
additional advantage that it is possible to perform a structural reconfiguration while
keeping some of the behavioural constraints, and vice-versa. For example, it is possible
to replace a behavioural pattern, which was applied to some structural pattern,
with another behavioural pattern.
In this thesis, besides the proposal of the methodology for distributed application
development, as sketched above, a definition of a relevant set of pattern operators
was made. The methodology and the expressivity of the pattern operators were assessed
through the development of several representative distributed applications. To
support this validation, a prototype was designed and implemented, encompassing
some relevant patterns and a significant part of the patterns operators defined. This
prototype was based in the Triana environment; Triana supports the development and
deployment of distributed applications in the Grid through a dataflow-based programming
model. Additionally, this thesis also presents the analysis of a mapping of some
operators for execution control onto the Distributed Resource Management Application
API (DRMAA).
This assessment confirmed the suitability of the proposed model, as well as the
generality and flexibility of the defined pattern operatorsDepartamento de Informática and Faculdade de Ciências e Tecnologia of the Universidade
Nova de Lisboa;
Centro de Informática e Tecnologias da Informação of the FCT/UNL;
Reitoria da Universidade Nova de Lisboa;
Distributed Collaborative Computing Group, Cardiff University, United Kingdom;
Fundação para a Ciência e Tecnologia;
Instituto de Cooperação Científica e Tecnológica Internacional;
French Embassy in Portugal;
European Union Commission through the Agentcities.NET and Coordina projects;
and the European Science Foundation, EURESCO
Pattern Operators for Grid Environments
The definition and programming of distributed applications has become a major research
issue due to the increasing availability of (large scale) distributed platforms
and the requirements posed by the economical globalization. However, such a task
requires a huge effort due to the complexity of the distributed environments: large
amount of users may communicate and share information across different authority
domains; moreover, the “execution environment” or “computations” are dynamic
since the number of users and the computational infrastructure change in time. Grid
environments, in particular, promise to be an answer to deal with such complexity, by
providing high performance execution support to large amount of users, and resource
sharing across different organizations. Nevertheless, programming in Grid environments
is still a difficult task. There is a lack of high level programming paradigms
and support tools that may guide the application developer and allow reusability of
state-of-the-art solutions.
Specifically, the main goal of the work presented in this thesis is to contribute to
the simplification of the development cycle of applications for Grid environments by
bringing structure and flexibility to three stages of that cycle through a commonmodel.
The stages are: the design phase, the execution phase, and the reconfiguration phase.
The common model is based on the manipulation of patterns through pattern operators,
and the division of both patterns and operators into two categories, namely
structural and behavioural. Moreover, both structural and behavioural patterns are
first class entities at each of the aforesaid stages. At the design phase, patterns can
be manipulated like other first class entities such as components. This allows a more
structured way to build applications by reusing and composing state-of-the-art patterns.
At the execution phase, patterns are units of execution control: it is possible, for
example, to start or stop and to resume the execution of a pattern as a single entity. At
the reconfiguration phase, patterns can also be manipulated as single entities with the
additional advantage that it is possible to perform a structural reconfiguration while
keeping some of the behavioural constraints, and vice-versa. For example, it is possible
to replace a behavioural pattern, which was applied to some structural pattern,
with another behavioural pattern.
In this thesis, besides the proposal of the methodology for distributed application
development, as sketched above, a definition of a relevant set of pattern operators
was made. The methodology and the expressivity of the pattern operators were assessed
through the development of several representative distributed applications. To
support this validation, a prototype was designed and implemented, encompassing
some relevant patterns and a significant part of the patterns operators defined. This
prototype was based in the Triana environment; Triana supports the development and
deployment of distributed applications in the Grid through a dataflow-based programming
model. Additionally, this thesis also presents the analysis of a mapping of some
operators for execution control onto the Distributed Resource Management Application
API (DRMAA).
This assessment confirmed the suitability of the proposed model, as well as the
generality and flexibility of the defined pattern operatorsDepartamento de Informática and Faculdade de Ciências e Tecnologia of the Universidade
Nova de Lisboa;
Centro de Informática e Tecnologias da Informação of the FCT/UNL;
Reitoria da Universidade Nova de Lisboa;
Distributed Collaborative Computing Group, Cardiff University, United Kingdom;
Fundação para a Ciência e Tecnologia;
Instituto de Cooperação Científica e Tecnológica Internacional;
French Embassy in Portugal;
European Union Commission through the Agentcities.NET and Coordina projects;
and the European Science Foundation, EURESCO
Automatic generation of dynamic skin deformation for animated characters
© 2018 by the authors. Since non-automatic rigging requires heavy human involvements, and various automatic rigging algorithms are less efficient in terms of computational efficiency, especially for current curve-based skin deformation methods, identifying the iso-parametric curves and creating the animation skeleton requires tedious and time-consuming manual work. Although several automatic rigging methods have been developed, but they do not aim at curve-based models. To tackle this issue, this paper proposes a new rigging algorithm for automatic generation of dynamic skin deformation to quickly identify iso-parametric curves and create an animation skeleton in a few milliseconds, which can be seamlessly used in curve-based skin deformation methods to make the rigging process fast enough for highly efficient computer animation applications
Surface consolidation of natural stones by use of bio-agents and chemical consolidants
Surface treatment is a frequently used method for conservation and restoration of building
materials. . In this study, a novel and environment friendly strategy, bacterially induced calcium
carbonate precipitation was applied to strengthen the surface of limestone. The treatment procedure
for bio-deposition was first optimized regarding the aspects of treatment frequency and treatment
time. Ultrasonic velocity was used to characterize the surface properties. It turned out that two
subsequent applications of a one-step bio-deposition treatment had the best effect, where the
transmitting velocity of the ultrasonic wave was increased with around 10~20%. The improvement
mainly occurred from the surface till the depth of 4 cm and the largest increase was at the depth
around 2 cm. Meanwhile, a commercial chemical ethyl silicate based consolidant, was applied under
the same condition. Yet the efficiency measured by the increase in ultrasonic velocity was not
significant
A Compiler-based Framework For Automatic Extraction Of Program Skeletons For Exascale Hardware/software Co-design
The design of high-performance computing architectures requires performance analysis of largescale parallel applications to derive various parameters concerning hardware design and software development. The process of performance analysis and benchmarking an application can be done in several ways with varying degrees of fidelity. One of the most cost-effective ways is to do a coarse-grained study of large-scale parallel applications through the use of program skeletons. The concept of a “program skeleton” that we discuss in this paper is an abstracted program that is derived from a larger program where source code that is determined to be irrelevant is removed for the purposes of the skeleton. In this work, we develop a semi-automatic approach for extracting program skeletons based on compiler program analysis. We demonstrate correctness of our skeleton extraction process by comparing details from communication traces, as well as show the performance speedup of using skeletons by running simulations in the SST/macro simulator. Extracting such a program skeleton from a large-scale parallel program requires a substantial amount of manual effort and often introduces human errors. We outline a semi-automatic approach for extracting program skeletons from large-scale parallel applications that reduces cost and eliminates errors inherent in manual approaches. Our skeleton generation approach is based on the use of the extensible and open-source ROSE compiler infrastructure that allows us to perform flow and dependency analysis on larger programs in order to determine what code can be removed from the program to generate a skeleton
- …