153 result(s)
Page Size: 10, 20, 50
Export: bibtex, xml, json, csv
Order by:

CNR Author operator: and / or
more
Typology operator: and / or
Language operator: and / or
Date operator: and / or
more
Rights operator: and / or
2006 Journal article Restricted
Joint structured/non structured parallelism exploitation through data flow
Dazzi P, Danelutto M
Structured parallel programming promises to raise the level of abstraction p erceived by programmers when implementing parallel applications. In the meanwhile, however, it restricts the freedom of programmers to implement arbitrary parallelism exploitation patterns. In this work we discuss a data flow implementation methodology for skeleton based structured parallel programming environments that easily integrates arbitrary, user-defined parallelism exploitation patterns while preserving most of the b enefits typical of structured parallel programming models.

See at: CNR IRIS Restricted | CNR IRIS Restricted


2007 Journal article Open Access OPEN
Muskel: a skeleton library supporting skeleton set expandability
Dazzi P, Danelutto M, Aldinucci M
Programming models based on algorithmic skeletons promise to raise the level of abstraction perceived by programmers when implementing parallel applications, while guaranteeing good performance figures. At the same time, however, they restrict the freedom of programmers to implement arbitrary parallelism exploitation patterns. In fact, efficiency is achieved by restricting the parallelism exploitation patterns provided to the programmer to the useful ones for which efficient implementations, as well as useful and efficient compositions, are known. In this work we introduce muskel, a full Java library targeting workstation clusters, networks and grids and providing the programmers with a skeleton based parallel programming environment. muskel is implemented exploiting (macro) data flow technology, rather than the more usual skeleton technology relying on the use of implementation templates. Using data flow, muskel easily and efficiently implements both classical, predefined skeletons, and user-defined parallelism exploitation patterns. This provides a means to overcome some of the problems that Cole identified in his skeleton "manifesto" as the issues impairing skeleton success in the parallel programming arena. We discuss fully how user-defined skeletons are supported by exploiting a data flow implementation, experimental results and we also discuss extensions supporting the further characterization of skeletons with non-functional properties, such as security, through the use of Aspect Oriented Programming and annotations.Source: SCALABLE COMPUTING. PRACTICE AND EXPERIENCE, vol. 8 (issue 4), pp. 325-341

See at: CNR IRIS Open Access | ISTI Repository Open Access | www.scpe.org Open Access | CNR IRIS Restricted


2006 Conference article Restricted
A Java/Jini framework supporting stream parallel computations
Dazzi P, Danelutto M
JJPF (the Java/Jini Parallel Framework) is a framework that can run stream parallel applications on several parallel-distributed architectures. JJPF is a distributed execution server, actually. It uses JINI to recruit the computational resources needed to compute parallel applications. Parallel applications can be run on JJPF provided they exploit parallelism accordingly to an arbitrary nesting of task farm and pipeline skeletons/patterns. JJPF achieves almost perfect, fully automatic load balancing in the execution of such kind of applications. It also transparently handles any number of node and network faults. Scalability and efficiency results are shown on workstation networks, both with a synthetic (embarrassingly parallel) image processing application and with a real (not embarrassingly parallel) page ranking application.

See at: CNR IRIS Restricted | CNR IRIS Restricted


2007 Conference article Restricted
New perspectives in autonomic design patterns for stream-classification-systems
Dazzi P, Nidito F, Pasquali M
Nowadays, systems are growing in size and are becoming more ad more complex. Such a complexity outline a new need for mechanisms enabling the system self-management, freeing administrators of low-level task management whilst delivering an optimized system. The autonomic systems sense their operating environment and automatically take action to change the environment or their own behavior. They are able to achieve it with a minimum human effort. They have the following properties: self-configuring, self- healing, self-optimizing and self-protecting. Current auto- nomic systems are ad hoc solutions: each system is designed and implemented from scratch i.e. there are not standard (or well-established) methodologies that autonomic system de- signers and/or programmers can exploit to drive their work. In this paper, we propose a design pattern that can be eas- ily exploited by the stream-classification-systems designer to achieve autonomicity with a minimal effort. The pattern is described using a java-like notation for the classes and interfaces. A simple UML class diagram is depicted.

See at: CNR IRIS Restricted | CNR IRIS Restricted | portal.acm.org Restricted


2007 Conference article Restricted
Workflows on top of a macro data flow interpreter exploiting aspects
Danelutto M, Dazzi P
We describe how aspect oriented programming techniques can be exploited to support the development of workflow-based grid applications. In particular, we use aspects to adapt simple Java workflow code to be executed on top of muskel, our experimental, macro data flow based skeleton programming environment. Aspects are used to extract

See at: CNR IRIS Restricted | CNR IRIS Restricted


2008 Conference article Restricted
From ORC models to distributed Grid Java code
Dazzi P, Aldinucci M, Danelutto M, Kilpatrick P
We present O2J, a Java library that allows implementation of Orc programs on distributed architectures including grids and clusters/networks of workstations. With minimal programming effort the grid programmer may implement Orc programs, as he/she is not required to write any low level code relating to distributed orchestration of the computation but only that required to implement Orc expressions. Using the prototype O2J implementation, grid application developers can reason about abstract grid orchestration code described in Orc. Once the required orchestration has been determined and its properties analysed, a grid application prototype can be simply, efficiently and quickly implemented by taking the Orc code, rewriting it into corresponding Java/O2J syntax and finally providing the functional code implementing the sites and processes involved. The proposed modus operandi brings a Model Driven Engineering approach to grid application development.

See at: CNR IRIS Restricted | CNR IRIS Restricted


2008 Contribution to book Restricted
From ORC models to distributed Grid Java code
Dazzi P, Aldinucci M, Danelutto M, Kilpatrick P
We present O2J, a Java library that allows implementation of Orc programs on distributed architectures including grids and clusters/networks of workstations. With minimal programming effort the grid programmer may implement Orc programs, as he/she is not required to write any low level code relating to distributed orchestration of the computation but only that required to implement Orc expressions. Using the prototype O2J implementation, grid application developers can reason about abstract grid orchestration code described in Orc. Once the required orchestration has been determined and its properties analysed, a grid application prototype can be simply, efficiently and quickly implemented by taking the Orc code, rewriting it into corresponding Java/O2J syntax and finally providing the functional code implementing the sites and processes involved. The proposed modus operandi brings a Model Driven Engineering approach to grid application development.

See at: CNR IRIS Restricted | CNR IRIS Restricted | link.springer.com Restricted


2008 Contribution to book Restricted
Workflows on top of a macro data flow interpreter exploiting aspects
Dazzi P, Danelutto M
We describe how aspect oriented programming techniques can be exploited to support the development of workflow-based grid applications. In particular, we use aspects to adapt simple Java workflow code to be executed on top of muskel, our experimental, macro data flow based skeleton programming environment. Aspects are used to extract "on-the-fly" macro data flow graphs from plain Java code where the nodes of the workflow are explicitly identified by the programmers. The macro data flow instructions in the graph are automatically submitted to the muskel distributed macro data flow interpreter for the execution. A proper manager, instantiated by the programmer, is used to exploit stream parallelism on the workflow. Experimental results will be presented that demonstrate scalability of the approach for suitably grained workflows. Overall, the approach discussed here concentrates workflow exploitation responsibilities on the aspect (i.e. system) programmers leaving the application programmers only the task of properly defining logical steps in the workflow. This results in a complete separation of concerns that sensibly enhances the efficiency in workflow application development, while keeping both the system size and the additional knowledge required to application programmers reasonably small.DOI: 10.1007/978-0-387-78448-9_17
Metrics:


See at: doi.org Restricted | CNR IRIS Restricted | CNR IRIS Restricted | www.scopus.com Restricted


2008 Other Open Access OPEN
A formal checklist for self-optimizing strategy-driven priority classification system
Dazzi P, Panciatici A, Pasquali M
In this paper we identify the fundamental elements needed to make self-optimizing a strategy-driven classification system. The paper presents, using a formal notation, a checklist allowing classification-strategy designers to make autonomous their strategies. The proposed model is evaluated applying it to a real scenario in which a dynamic stream of elements is classified according to QoS constraints. The tests performed point out that the proposed approach can be fruitfully exploited.

See at: CNR IRIS Open Access | ISTI Repository Open Access | CNR IRIS Restricted


2008 Other Open Access OPEN
Formalization of autonomic heuristics-driven systems
Pasquali M, Dazzi P
In this paper we show the fundamental elements needed to make autonomous a heuristics-based system. It is made by using a formal notation. The proposed method allows heuristics designers to make autonomous a heuristics by exposing its state and the polytope in which the heuristics works properly. The proposed model was evaluated applying it to a real scenario in which a dynamic stream of batch jobs is classified according to job deadline QoS constraint. The conducted tests point out that the proposed autonomic heuristics can be fruitfully exploited.

See at: CNR IRIS Open Access | ISTI Repository Open Access | CNR IRIS Restricted


2008 Other Restricted
Tools and models for high level parallel and Grid programming
Dazzi P
When algorithmic skeletons were first introduced by Cole in late 1980 (50) the idea had an almost immediate success. The skeletal approach has been proved to be effective when application algorithms can be expressed in terms of skeletons composition. However, despite both their effectiveness and the progress made in skeletal systems design and implementation, algorithmic skeletons remain absent from mainstream practice. Cole and other researchers, respectively in (51) and (19), focused the problem. They recognized the issues affecting skeletal systems and stated a set of principles that have to be tackled in order to make them more effective and to take skeletal programming into the parallel mainstream. In this thesis we propose tools and models for addressing some among the skeletal programming environments issues. We describe three novel approaches aimed at enhancing skeletons based systems from different angles. First, we present a model we conceived that allows algorithmic skeletons customization exploiting the macro data-flow abstraction. Then we present two results about the exploitation of metaprogramming techniques for the run-time generation and optimization of macro data-flow graphs. In particular, we show how to generate and how to optimize macro data-flow graphs accordingly both to programmers provided non-functional requirements and to execution platform features. The last result we present are the Behavioural Skeletons, an approach aimed at addressing the limitations of skeletal programming environments when used for the development of component-based Grid applications. We validated all the approaches conducting several test, performed exploiting a set of tools we developed.

See at: CNR IRIS Restricted | CNR IRIS Restricted


2013 Other Open Access OPEN
A tool for programming embarrassingly task parallel applications on CoW and NoW
Dazzi P
Embarrassingly parallel problems can be split in parts that are characterized by a really low (or sometime absent) exchange of information during their computation in parallel. As a consequence they can be effectively computed in parallel exploiting commodity hardware, hence without particularly sophisticated interconnection networks. Basically, this means Clusters, Networks of Workstations and Desktops as well as Computational Clouds. Despite the simplicity of this computational model, it can be exploited to compute a quite large range of problems. This paper describes JJPF, a tool for developing task parallel applications based on Java and Jini that showed to be an effective and efficient solution in environment like Clusters and Networks of Workstations and Desktops.

See at: arxiv.org Open Access | CNR IRIS Open Access | ISTI Repository Open Access | CNR IRIS Restricted


2013 Other Open Access OPEN
Let's annotate to let our code run in parallel
Dazzi P
This paper presents an approach that exploits Java annotations to provide meta information needed to automatically transform plain Java programs into parallel code that can be run on multicore workstation. Programmers just need to decorate the methods that will eventually be executed in parallel with standard Java annotations. Annotations are automatically processed at launch-time and parallel byte code is derived. Once in execution the program automatically retrieves the information about the executing platform and evaluates the information specified inside the annotations to transform the byte-code into a semantically equivalent multithreaded version, depending on the target architecture features. The results returned by the annotated methods, when invoked, are futures with a wait-by-necessity semantics.

See at: arxiv.org Open Access | CNR IRIS Open Access | ISTI Repository Open Access | CNR IRIS Restricted


2014 Journal article Open Access OPEN
Toward Sci-phi: a lightweight cloud PaaS for developing embarrassingly parallel applications based on Jini.
Dazzi P
Embarrassingly parallel problems are characterised by a very small amount of information to be exchanged among the parts they are split in, during their parallel execution. As a consequence they do not require sophisticated, low-latency, high-bandwidth interconnection networks but can be efficiently computed in parallel by exploiting commodity hardware. Basically, this means cheap clusters, networks of workstations and desktops, and Computational Clouds. This computational model can be exploited to compute a quite large range of problems. This paper describes Sci-phi, an almost complete redesign of a previous tool of ours aimed at developing task parallel applications based on Java and Jini that were shown to be an effective and efficient solution in environments like clusters and networks of workstations and desktops.Source: THE SCIENTIFIC WORLD JOURNAL, vol. 2014
Project(s): CONTRAIL via OpenAIRE

See at: CNR IRIS Open Access | www.hindawi.com Open Access | CNR IRIS Restricted


2006 Conference article Restricted
Joint structured/unstructured parallelism exploitation in muskel
Danelutto M, Dazzi P
Structured parallel programming promises to raise the level of abstraction perceived by programmers when implementing parallel applications. In the meanwhile, however, it restricts the freedom of programmers to implement arbitrary parallelism exploitation patterns. In this work we discuss a data flow implementation methodology for skeleton based structured parallel programming environments that easily integrates arbitrary, user-defined parallelism exploitation patterns while preserving most of the benefits typical of structured parallel programming models. © Springer-Verlag Berlin Heidelberg 2006.

See at: CNR IRIS Restricted | CNR IRIS Restricted | link.springer.com Restricted


2017 Conference article Restricted
User behavior and application modeling in decentralized edge cloud infrastructures
Violos J, Monteiro De Lira V, Dazzi P, Altmann J, Alathwari B, Schwichtenberg A, Jung Yw, Varvarigou T, Tserpes K
Edge computing has emerged as a solution that can accommodate complex application requirements by shifting data and computation to infrastructure elements that are more suitable to manage them given the current circumstances. The BASMATI Knowledge Extractor is a component that facilitates the modeling of the resource utilization by providing tools to analyze application usage together with user behavior. This is particularly relevant in the case of mobile applications where user context and activity are tightly coupled to the application performance.DOI: 10.1007/978-3-319-68066-8_15
Project(s): BASMATI via OpenAIRE
Metrics:


See at: Lecture Notes in Computer Science Restricted | CNR IRIS Restricted | CNR IRIS Restricted


2018 Conference article Restricted
Spinstreams: A static optimization tool for data stream processing applications
Mencagli G, Dazzi P, Tonci N
The ubiquity of data streams in different fields of computing has led to the emergence of Stream Processing Systems (SPSs) used to program applications that extract insights from unbounded sequences of data items. Streaming applications demand various kinds of optimizations. Most of them are aimed at increasing throughput and reducing processing latency, and need cost models used to analyze the steady-state performance by capturing complex aspects like backpressure and bottleneck detection. In those systems, the tendency is to support dynamic optimizations of running applications which, although with a substantial run-time overhead, are unavoidable in case of unpredictable workloads. As an orthogonal direction, this paper proposes SpinStreams, a static optimization tool able to leverage cost models that programmers can use to detect and understand the inefficiencies of an initial application design. SpinStreams suggests optimizations for restructuring applications by generating code to be run on the SPS. We present the theory behind our optimizations, which cover more general classes of application structures than the ones studied in the literature so far. Then, we assess the accuracy of our models in Akka, an actor-based streaming framework providing a Java and Scala API.

See at: dl.acm.org Restricted | CNR IRIS Restricted | CNR IRIS Restricted


2017 Book Open Access OPEN
Cloud Broker and Cloudlet for Workflow Scheduling
Youn Ch, Chen M, Dazzi P
This book blends the principles of cloud computing theory and discussion of emerging technologies in cloud broker systems, enabling users to realise the potential of an integrated broker system for scientific applications and the Internet of Things (IoT).Project(s): BASMATI via OpenAIRE

See at: CNR IRIS Open Access | link.springer.com Open Access | ISTI Repository Open Access | CNR IRIS Restricted


2018 Other Open Access OPEN
BASMATI - D7.4 Communication plan and activities
Dazzi P, Tserpes K
Dissemination and communication are a key pillar for maximizing the impact of the project. Both of them, indeed, related to the same activities for different targeted audiences. These activities, together with training, standardization and exploitation, conform the strategy for ensuring the sustainability of project results. Within this deliverable, the communication plan is depicted at the beginning, followed with a summary of all the activities performed, ending with a set of Key Performance Indicators (KPIs) used to measure the results of the performed activities and as a reference for the future. Basic strategy can be considered as a mean for creating awareness around the project, letting different stakeholders know about BASMATI, its research goals and results, as well as to attract and engage them with the final objective of creating a community of interest around the project.Project(s): BASMATI via OpenAIRE

See at: CNR IRIS Open Access | ISTI Repository Open Access | CNR IRIS Restricted


2017 Contribution to book Restricted
Integrated Cloud Broker System and Its Experimental Evaluation
Youn Ch, Chen M, Dazzi P
In distributed computing environment, there are a large number of similar or equivalent resources provided by different service providers. These resources may provide the same functionality, but optimize different Quality of Service (QoS) metrics. These computing resources are managed and sold by many different service providers [1]. Service providers offer necessary information about their services such as the service capability, and the utility measuring methods and charging policies, which will be later referred to as the "resource policy" in this book. Each resource policy bears a tuple of two components, such as (capability, price). For capability, we model the resource capability as a set of QoS metrics which include the CPU type, the memory size, and the storage/hard disk size.Project(s): BASMATI via OpenAIRE

See at: CNR IRIS Restricted | CNR IRIS Restricted | link.springer.com Restricted