1,721,034 research outputs found
Securing skeletal systems with limited performance penalty: the muskel experience
Algorithmic skeletons have been exploited to implement several parallel
programming environments, targeting workstation clusters as well as workstation
networks and computational grids. When targeting non-dedicated clusters,
workstation networks and grids, security has to be taken adequately into account
in order to guarantee both code and data confidentiality and integrity. However,
introducing security is usually an expensive activity, both in terms of the
effort required to managed security mechanisms and in terms of the time spent
performing security related activities at run time. We discuss the cost of
security introduction as well as how some features typical of skeleton technology
can be exploited to improve the efficiency code and data securing in a
typical skeleton based parallel programming environment and we evaluate the
performance cost of security mechanisms implemented exploiting state of the art
tools. In particular, we take into account the cost of security introduction in
muskel, a Java based skeletal system exploiting macro data flow implementation
technology. We con- sider the adoption of mechanisms that allow securing all the
communications involving remote, unreli- able nodes and we evaluate the cost of
such mechanisms. Also, we consider the implications on the computational grains
needed to scale secure and insecure skeletal computations
Algorithmic skeletons meeting grids
In this work, we discuss an extension of the set of principles that should guide the future design and development of
skeletal programming systems, as defined by Cole in his ‘‘pragmatic manifesto’’ paper. The three further principles introduced are related to the ability to exploit existing sequential code as well as to the ability to target typical modern architectures, those made out of heterogeneous processing elements with dynamically varying availability, processing power and
connectivity features such as grids or heterogeneous, non-dedicated clusters. We outline two skeleton based programming
environments currently developed at our university and we discuss how these environments adhere to the proposed set of
principles. Eventually, we outline how some other relevant, well-known skeleton environments conform to the same set of
principles
Middle-Late Permian sporomorphs from the Farma Formation (Monticiano-Roccastrada ridge, southern Tuscany): new constrain for the tectono-sedimentary history of the Tuscan domain
Skeleton based parallel programming: functional and parallel semantic in a single shot
Semantics of skeleton-based parallel programming languages comes usually as two
distinct items: a functional semantics, modeling the function computed by the
skeleton program, and a parallel semantics describing the ways used to exploit
parallelism during the execution of the skeleton program. The former is usually
expressed using some kind of semantic formalism, while the latter is almost
always given in an informal way. Such a separation of functional and parallel
semantics seriously impairs the possibility of programmers to use the semantic
tools to prove properties of programs. In this work, we show how a formal
semantic framework can be set up that handles both functional and parallel
aspects of skeleton-based parallel programs. The framework is based on a labeled
transition system. We show how different properties related to skeleton programs
can be proved using such a system. We use Lithium, a skeleton-based full Java
parallel programming environment, as the case study
The cost of security in skeletal systems
Skeletal systems exploit algorithmical skeletons technology to provide the user very high level, efficient parallel programming environments. They have been recently demonstrated to be suitable for highly distributed architectures, such as workstation clusters, networks and grids. However, when using skeletal system for grid programming care must be taken to secure data and code transfers across non-dedicated, non-secure network links.
In this work we take into account the cost of security introduction in muskel, a full Java skeletal system exploiting macro data flow implementation technology. We consider the adoption of mechanisms that allow securing all the communications happening between remote, unreliable nodes and we evaluate the cost of such mechanisms. In particular, we consider the implications on the computational grains needed to scale secure and insecure skeletal computations
Fluvial response to tectonic damming: the Ambra Plio-Pleistocene incised-valley deposits (Tuscany, Italy)
An Operational Semantics for Skeletons
Introduction Skeletons have been originally conceived by Cole [8] and then used by di#erent research groups to design high-performance structured parallel programming environments [5,6,12]. A skeleton may be modeled as an higher-order function taking one or more other skeletons or portions of sequential code as parameters, and modeling a parallel computation out of them. A skeletal program is a composition of skeletons. Skeletons can be provided to the programmer either as language constructs [5--7] or as libraries [3,9,11]. The formal description of a parallel, skeletal language involves at least two key issues: 1) the description of the input-output relationship of skeletons (functional semantics); 2) the description of the parallel behavior of skeletons. The functional semantics enables the definition of semanticspreserving program transformations [2,4,1,10]. These transformations can also be driven by some kind of analytical performance models associated with skeletons [13], in
- …
