Workflow Early Start Pattern and Future's Update Strategies in ProActive Environment E. Zimeo, N. Ranaldo, G. Tretola University of Sannio - Italy.

Slides:



Advertisements
Similar presentations
L3S Research Center University of Hanover Germany
Advertisements

A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.
VSMC MIMO: A Spectral Efficient Scheme for Cooperative Relay in Cognitive Radio Networks 1.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Praveen Yedlapalli Emre Kultursay Mahmut Kandemir The Pennsylvania State University.
WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web Stefano Butti, Marco Brambilla, Piero Fraternali Web Models Srl, Italy.
Nadia Ranaldo - Eugenio Zimeo Department of Engineering University of Sannio – Benevento – Italy 2008 ProActive and GCM User Group Orchestrating.
Weekly Report Ph.D. Student: Leo Lee date: Oct. 9, 2009.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
Introduction To System Analysis and Design
Database Replication techniques: a Three Parameter Classification Authors : Database Replication techniques: a Three Parameter Classification Authors :
Web Ontology Language for Service (OWL-S). Introduction OWL-S –OWL-based Web service ontology –a core set of markup language constructs for describing.
Business Process Orchestration
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
Programming Language Semantics Java Threads and Locks Informal Introduction The Java Specification Language Chapter 17.
WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web Stefano Butti, Marco Brambilla, Piero Fraternali Web Models Srl, Italy.
1 Static vs dynamic SAGAs Ivan Lanese Computer Science Department University of Bologna/INRIA Italy.
The new The new MONARC Simulation Framework Iosif Legrand  California Institute of Technology.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 15 Slide 1 Real-time Systems 1.
What is Concurrent Programming? Maram Bani Younes.
Demonstrating WSMX: Least Cost Supply Management.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
Computer Architecture Computational Models Ola Flygt V ä xj ö University
Real-Time Software Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
A Chemical Workflow Engine for Scientific Workflows with Dynamicity Support Manuel Caeiro Zsolt Nemeth Thierry Priol CoreGRID Post Doc IRISA, Rennes, France.
© 2009 Matthew J. Sottile, Timothy G. Mattson, and Craig E Rasmussen 1 Concurrency in Programming Languages Matthew J. Sottile Timothy G. Mattson Craig.
Software Design Refinement Using Design Patterns Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Institute of Computer and Communication Network Engineering OFC/NFOEC, 6-10 March 2011, Los Angeles, CA Lessons Learned From Implementing a Path Computation.
Distributed Systems 1 CS- 492 Distributed system & Parallel Processing Sunday: 2/4/1435 (8 – 11 ) Lecture (1) Introduction to distributed system and models.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Computer Measurement Group, India Optimal Design Principles for better Performance of Next generation Systems Balachandar Gurusamy,
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Introduction To System Analysis and Design
1 Update Strategies for First Class Futures Khan Muhammad, Ludovic Henrio INRIA, Univ. Nice Sophia Antipolis,CNRS.
Java Threads 11 Threading and Concurrent Programming in Java Introduction and Definitions D.W. Denbo Introduction and Definitions D.W. Denbo.
An Implementation and Performance Evaluation of Language with Fine-Grain Thread Creation on Shared Memory Parallel Computer Yoshihiro Oyama, Kenjiro Taura,
Something We Learned about Computer Supported Cooperative Work in Software Engineering Tangqiu Li, Zongkai Lin Xiamen University, China.
LATA: A Latency and Throughput- Aware Packet Processing System Author: Jilong Kuang and Laxmi Bhuyan Publisher: DAC 2010 Presenter: Chun-Sheng Hsueh Date:
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
Design Issues. How to parallelize  Task decomposition  Data decomposition  Dataflow decomposition Jaruloj Chongstitvatana 2 Parallel Programming: Parallelization.
Transparent Mobility of Distributed Objects using.NET Cristóbal Costa, Nour Ali, Carlos Millan, Jose A. Carsí 4th International Conference in Central Europe.
George Goulas, Christos Gogos, Panayiotis Alefragis, Efthymios Housos Computer Systems Laboratory, Electrical & Computer Engineering Dept., University.
Chapter 11 Activity Diagrams. 2 “Activity diagrams are a technique to describe procedural logic, business processes, and work flows” - M. Fowler An activity.
Improving Dependability in Service Oriented Architectures using Ontologies and Fault Injection Binka Gwynne Jie Xu School of Computing University of Leeds.
DISTRIBUTED COMPUTING
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Dynamic Invocation, Optimisation and Interoperation of Services- oriented Workflow Lican Huang, David W. Walker, Omer F. Rana, Yan Huang School of Computer.
Software Quality Assurance and Testing Fazal Rehman Shamil.
High-level Interfaces for Scalable Data Mining Ruoming Jin Gagan Agrawal Department of Computer and Information Sciences Ohio State University.
Unit – I Presentation. Unit – 1 (Introduction to Software Project management) Definition:-  Software project management is the art and science of planning.
Uses some of the slides for chapters 3 and 5 accompanying “Introduction to Parallel Computing”, Addison Wesley, 2003.
Vertical Integration Across Biological Scales A New Framework for the Systematic Integration of Models in Systems Biology University College London CoMPLEX.
WI2003 Automatic Composition of Web Service Workflows Using a Semantic Agent Jarmo Korhonen Helsinki University of Technology 15 October 2003.
IThreads A Threading Library for Parallel Incremental Computation Pramod Bhatotia Pedro Fonseca, Björn Brandenburg (MPI-SWS) Umut Acar (CMU) Rodrigo Rodrigues.
TensorFlow– A system for large-scale machine learning
Business process management (BPM)
Authors: Jiang Xie, Ian F. Akyildiz
Software Design Refinement Using Design Patterns
Business process management (BPM)
Object-Oriented Network Communication (OOMI)
Activity Diagram.
Distribution and components
Instructor: Dr. Hany H. Ammar
An Adaptive Middleware for Supporting Time-Critical Event Response
Presented By: Darlene Banta
Presentation transcript:

Workflow Early Start Pattern and Future's Update Strategies in ProActive Environment E. Zimeo, N. Ranaldo, G. Tretola University of Sannio - Italy

Outline Introduction Workflow Early Start Pattern Future’s Update Strategies Conclusions

Early Start Workflow Pattern

Background A Workflow Management System is able to execute distributed applications described as processes composed of a set of activities Activities are functionalities provided by participants distributed in the Internet Workflow engine is the component delegated to coordinate the process execution

Introduction Objective: to improve the Workflow management system  Improvement of performance  Easiness of modelling Focus: distributed applications composed with resources handled as services or sub- processes that are coarse-grained modelled

Problem In the majority of workflow languages, processes can be seen as the combination of:  Serial activities (Sequence pattern)  Parallel activities (And-split pattern) Sequences are the critical point for performance improvement Several researches are involved in enhancing performance by improving sequential execution Anticipation of activities is a key issue to obtain performance enhancement Anticipation means that an activity is enacted before the prefixed time of enactment

State of Art Two approaches: Improve process execution changing it at design time  Coo-Flow allows for modelling task anticipation and intermediate results propagation Improve process enactment modifying the way processes are executed  Micro Workflow introduces future objects in workflow management  SWFL exploits multilevel parallelism in workflow enactment

Design Time Approach The former approach requires analysis of activities at greater level of detail: fine-grained analysis If the activities could not be considered atomic their internal structure could be analysed to improve performance Intrinsic parallelism could be exploited Activity B could be decomposed in two sub-activities: B’ is the independent sub-activity B’’ is the dependent sub-activity

Equivalent Flow The process description may be modified Partial overlapping of process. This shorten the total process time

Consequences Fine-grained analysis can be used to obtain anticipation at design-time At least a point exists, in the depending activity, that signals the beginning of data dependencies from the preceding activity Problems:  Additional design effort  Finding dependence point could be difficult or could be impossible  The internal structure is not accessible  Several dependence points could exist  The modified process could become more complex

Solution Our proposal is to use a run-time approach to relax the sequence constraints:  Partial concurrency could be obtained overlapping execution of activities at run-time  A lot of modelling situations could be seen as intermediate between serial and parallel  Use of data flow synchronization during execution Fine-grained concurrency at run-time

Resulting Execution Sequence Fine-grained concurrency

Modelling technique To ease modelling, we have defined a new workflow description pattern: Early Start Pattern Activity in the pattern could be executed by the engine with fine-grained concurrency … <xsd:attribute name="FlowType" type="xsd:string" use="optional"/> …

Requirements Use of a system that could dynamically discover the dependence point  Asynchronous invocation, returning a placeholder for the result not computed yet  Placeholder could be forwarded to subsequent activities as actual parameter to satisfy the activation conditions and so anticipating the activation  Activities that receive the placeholder and try to access to the data must be stalled until the data is ready to be used  The placeholder must be updated as soon as possible to each activity that uses it

ProActive To implement Early Start we used ProActive It satisfies the four requirements:  Invocation on Active Object returns a symbolic placeholder: the Future Object  Future Object could be forwarded  Threads trying to access to Future Object, before it is updated, are placed in waiting state  The Future Object is updated with the computed result

Evaluation Worst case: 3,5% Best case: 43% … … <Transition Id="AB" From="A" To="B" FlowType="early"/> public void process() { String resultString; resultString = A.elaborateString(); C.printString(resultString); }

Evaluation (2) Improvement 15%

Considerations Fine-grained analysis at design time is more difficult and could be even impossible Fine-grained concurrency could be used to improve performance, without increasing the modelling effort Early Start pattern keeps the modelling simple and ensures automatic optimization at run-time

Implementation Issues Ideal enacting Real enacting

Eager Forward strategy Future Engine B A A (run) A Future B (run) Value B Current ProActive implementation

On demand strategy Central Memory Future Engine B A A (run) A B (run) Value B

Future’s Update Strategies

Future updating techniques Forward vs Home (Who?)  Forward: updating is responsibility of the object that forwards the future  Home: updating is responsibility of the object that computes the value of the future Eager vs Lazy (When?)  Eager: all the futures are updated as soon as the value is computed  Lazy: the futures are updated only for the object that requires the value

Value_r1 UPDATE ACB Future_r1 Future_r2 UPDATE Value_r1 UPDATE Value_r2 Eager Home-Based The AO that computes the value is responsible of updating it to all the futures

Further Consideration ABCDE Future_r1 All the AOs that receive a Future Object ask for updating but not all of them use the value Updating Value_r1 Only E uses the value of theFuture Object Is it worth to update all nodes? F r1 = b.create(size)

Lazy Home-Based ABCDE Future_r1 Request Updating Value_r1 Only E is updated Updating only who needs the value Value_r1 Proposal: updating only the nodes that use the value of the Future Object

Experimentation (1) Testing application ABC2C1C3 Future_r1 Future_r1 = b.create(size) c1.use(r1) C4 c2.use(r1) c3.use(r1) c4.use(r1) We have measured the time needed to update value to the object C1, C2, C3 and C4 in different cases

Experimentation (2) All nodes require updating AB C2 C1 C3 C4 Future Object 1MB Lazy-Home and Eager- Home perform the same Both of them are better than Eager-Forward

Experimentation (3) Only 1 node needs update AB C2 C1 C3 C4 Future Object 1Mb Lazy Home is better than Eager Home by 29% Lazy Home is better than Eager Forward by 36% Eager Home is better than Eager Forward by 1,5%

Conclusions Workflow and Web Services composition:  Improving performance with run-time concurrency  Easy modelling with Early Start Pattern ProActive middleware:  Eager-Home & Lazy-Home updating strategies  Experimentation and comparison of the different strategies

Future works Workflow and Web Services composition:  Extension of asynchronous call to Web Services, with a client side based invoker  Web service model extension to transfer ProActive features to Web Services  Introducing the possibility of “partial result return” ProActive middleware:  Eager-Home strategy with multicast  Lazy-Home with distributed garbage collection

Thank you for your attention