A Distributed Framework for Reliable and Efficient Service Choreographies Young Yoon, Chunyang Ye and Hans-Arno Jacobsen.

Slides:



Advertisements
Similar presentations
MINJAE HWANG THAWAN KOOBURAT CS758 CLASS PROJECT FALL 2009 Extending Task-based Programming Model beyond Shared-memory Systems.
Advertisements

LIBRA: Lightweight Data Skew Mitigation in MapReduce
Routing in a Parallel Computer. A network of processors is represented by graph G=(V,E), where |V| = N. Each processor has unique ID between 1 and N.
Decentralized Reactive Clustering in Sensor Networks Yingyue Xu April 26, 2015.
1 Advancing Supercomputer Performance Through Interconnection Topology Synthesis Yi Zhu, Michael Taylor, Scott B. Baden and Chung-Kuan Cheng Department.
McGraw-Hill/Irwin Copyright © 2008, The McGraw-Hill Companies, Inc. All rights reserved.
1 Maximal Independent Set. 2 Independent Set (IS): In a graph, any set of nodes that are not adjacent.
1 Friday, September 29, 2006 If all you have is a hammer, then everything looks like a nail. -Anonymous.
Trust and Grid Computing Systems Presented By: Woodas Lai.
Managing Agent Platforms with the Simple Network Management Protocol Brian Remick Thesis Defense June 26, 2015.
On the Task Assignment Problem : Two New Efficient Heuristic Algorithms.
ICE0534 – Web-based Software Development ICE1338 – Programming for WWW Lecture #11 Lecture #11 In-Young Ko iko.AT. icu.ac.kr iko.AT. icu.ac.kr Information.
Rechen- und Kommunikationszentrum (RZ) Parallelization at a Glance Christian Terboven / Aachen, Germany Stand: Version 2.3.
RUNNING PARALLEL APPLICATIONS BEYOND EP WORKLOADS IN DISTRIBUTED COMPUTING ENVIRONMENTS Zholudev Yury.
Task Scheduling for Highly Concurrent Analytical and Transactional Main-Memory Workloads Iraklis Psaroudakis (EPFL), Tobias Scheuer (SAP AG), Norman May.
Michael Ernst, page 1 Collaborative Learning for Security and Repair in Application Communities Performers: MIT and Determina Michael Ernst MIT Computer.
MIDDLEWARE SYSTEMS RESEARCH GROUP Denial of Service in Content-based Publish/Subscribe Systems M.A.Sc. Candidate: Alex Wun Thesis Supervisor: Hans-Arno.
Yongzhi Wang, Jinpeng Wei VIAF: Verification-based Integrity Assurance Framework for MapReduce.
Planning the Transformation of Network Topologies Young Yoon 1, Nathan Robinson 2, Vinod Muthusamy 3, Sheila McIlraith 2, Hans-Arno Jacobsen 2 1 Samsung.
Architecting Web Services Unit – II – PART - III.
R. Z. Wenkstern, T. Steel, G. Leask MAVs Lab, University of Texas at Dallas 1.
Content-Based Routing in Mobile Ad Hoc Networks Milenko Petrovic, Vinod Muthusamy, Hans-Arno Jacobsen University of Toronto July 18, 2005 MobiQuitous 2005.
1 SYS366 Constraints: Business Rules. Constraints: The Grim Reality Developers are not given all the time in the world, all the money in the world, and.
LATA: A Latency and Throughput- Aware Packet Processing System Author: Jilong Kuang and Laxmi Bhuyan Publisher: DAC 2010 Presenter: Chun-Sheng Hsueh Date:
Class 5 Architecture-Based Self-Healing Systems David Garlan Carnegie Mellon University.
MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG Total Order in Content-based Publish/Subscribe Systems Joint work with: Vinod Muthusamy, Hans-Arno Jacobsen.
Distributed Automatic Service Composition in Large-Scale Systems Songlin Hu*, Vinod Muthusamy +, Guoli Li +, Hans-Arno Jacobsen + * Chinese Academy of.
Selection and Navigation of Mobile sensor Nodes Using a Sensor Network Atul Verma, Hemjit Sawant and Jindong Tan Department of Electrical and Computer.
ESTABLISHING A MANUFACTURING ENTERPRISE Can you create and run a manufacturing enterprise?
Architectural Design of Distributed Applications Chapter 13 Part of Design Analysis Designing Concurrent, Distributed, and Real-Time Applications with.
Institute for Computer Science VI Autonomous Intelligent Systems
Parallel Event Processing for Content-Based Publish/Subscribe Systems Amer Farroukh Department of Electrical and Computer Engineering University of Toronto.
A Fault-Tolerant Environment for Large-Scale Query Processing Mehmet Can Kurt Gagan Agrawal Department of Computer Science and Engineering The Ohio State.
Minimal Broker Overlay Design for Content-Based Publish/Subscribe Systems Naweed Tajuddin Balasubramaneyam Maniymaran Hans-Arno Jacobsen University of.
CS 484 Designing Parallel Algorithms Designing a parallel algorithm is not easy. There is no recipe or magical ingredient Except creativity We can benefit.
GEM: A Framework for Developing Shared- Memory Parallel GEnomic Applications on Memory Constrained Architectures Mucahid Kutlu Gagan Agrawal Department.
CS- 492 : Distributed system & Parallel Processing Lecture 7: Sun: 15/5/1435 Foundations of designing parallel algorithms and shared memory models Lecturer/
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
CS 484 Load Balancing. Goal: All processors working all the time Efficiency of 1 Distribute the load (work) to meet the goal Two types of load balancing.
Qusay H. Mahmoud CIS* CIS* Service-Oriented Computing Qusay H. Mahmoud, Ph.D.
Scalable and Coordinated Scheduling for Cloud-Scale computing
Embedded PowerPoint Video By PresenterMedia.com Wild, Wacky & Out of the Box Ways to Deliver Loss Prevention Awareness & Highly Effective Investigations.
CS 3471 CS 347: Parallel and Distributed Data Management Notes13: Time and Clocks.
CDP Tutorial 3 Basics of Parallel Algorithm Design uses some of the slides for chapters 3 and 5 accompanying “Introduction to Parallel Computing”, Addison.
 An Information System (IS) is a collection of interrelated components that collect, process, store, and provide as output the information needed to.
Optimizing BPM Through SLAs & Event Monitoring
Distributed Automatic Service Composition in Large-Scale Systems Songlin Hu*, Vinod Muthusamy +, Guoli Li +, Hans-Arno Jacobsen + * Chinese Academy of.
Distributed, Self-stabilizing Placement of Replicated Resources in Emerging Networks Bong-Jun Ko, Dan Rubenstein Presented by Jason Waddle.
A stochastic scheduling algorithm for precedence constrained tasks on Grid Future Generation Computer Systems (2011) Xiaoyong Tang, Kenli Li, Guiping Liao,
Uses some of the slides for chapters 3 and 5 accompanying “Introduction to Parallel Computing”, Addison Wesley, 2003.
Load Rebalancing for Distributed File Systems in Clouds.
PARALLEL AND DISTRIBUTED PROGRAMMING MODELS U. Jhashuva 1 Asst. Prof Dept. of CSE om.
New Distribution Channel For Insurance. With an aim to increase insurance penetration the Insurance Regulatory and Development Authority of India (IrdaI)
CubicRing ENABLING ONE-HOP FAILURE DETECTION AND RECOVERY FOR DISTRIBUTED IN- MEMORY STORAGE SYSTEMS Yiming Zhang, Chuanxiong Guo, Dongsheng Li, Rui Chu,
1 Thierry Titcheu Chekam 1,2, Ennan Zhai 3, Zhenhua Li 1, Yong Cui 4, Kui Ren 5 1 School of Software, TNLIST, and KLISS MoE, Tsinghua University 2 Interdisciplinary.
Department of Computer Science, Johns Hopkins University Lecture 7 Finding Concurrency EN /420 Instructor: Randal Burns 26 February 2014.
1 Towards Scalable Pub/Sub Systems Shuping Ji 1, Chunyang Ye 2, Jun Wei 1 and Arno Jacobsen 3 1 Chinese Academy of Sciences 2 Hainan University 3 Middleware.
Delegation of Intent via Conversation David E. Ellis.
1 Parallel Mining of Closed Sequential Patterns Shengnan Cong, Jiawei Han, David Padua Proceeding of the 11th ACM SIGKDD international conference on Knowledge.
Optimizing Distributed Actor Systems for Dynamic Interactive Services
Presented by: Saurav Kumar Bengani
Architecting Web Services
Architecting Web Services
Nonnegative polynomials and applications to learning
UML Activity Diagrams.
A Distributed Bucket Elimination Algorithm
Towards Next Generation Panel at SAINT 2002
Siddarth Ganesan, Young Yoon, Hans-Arno Jacobsen
Scaling up Link Prediction with Ensembles
Parallel Exact Stochastic Simulation in Biochemical Systems
Presentation transcript:

A Distributed Framework for Reliable and Efficient Service Choreographies Young Yoon, Chunyang Ye and Hans-Arno Jacobsen

What is service choreography? Autonomous and distributed collaboration amongst independently developed services. 2 Young YoonWWW'11

Service choreography Example: Credit card fraud detection process 3 Auditing partner sends fraud warnings to Accounting partner G0G0 G1G1 Customer service issues refund to Customer Young YoonWWW'11

4 Auditing partner sends fraud warnings to Accounting partner G0G0 G1G1 Customer service issues refund to Customer Decompose Send fraud warning messages Receive fraud warning message Issue refund Receive refund message Auditing service Accounting serviceCRM serviceClient service Young Yoon WWW'11 L0L0 L0L0 L0L0 L0L0

Semantic conflict Behavior that does not conform to the collaboration specification 5 Young YoonWWW'11

6 Send fraud warning messages Receive fraud warning message Issue refund Receive refund message Auditing service Accounting serviceCRM serviceClient service “ Someone used my credit card to purchase train ticket!” Issue refund Refund Customer account CRM service behaved arbitrarily and caused semantic conflict. Young YoonWWW'11 Travel agency

7 Auditing partner sends fraud warnings to Accounting partner G0G0 G1G1 Customer service issues refund to Customer GxGx Accounting partner orders customer service to issue refund The cause of the semantic conflict The missing synchronization Young YoonWWW'11

8 Another example: Internal operation in a car company HQ  ”clear out”  Dealer Operations manager  “decrease production rate”  change to Factory Marketing  “Sales trend update”  Factory Dealers ask Coordinator to pick G 1 or G 2 Young YoonWWW'11

9 Goal 1: Prevent semantic conflict. Enrich safety constraints Goal 2: Build a distributed framework Govern the enforcement of safety constraints Goal 3: Make the framework be efficient Don’t let the safety constraints hamper the performance of the collaboration Young YoonWWW'11

10 Goal 1: Prevent semantic conflict Goal 2: Build a distributed framework Goal 3: Make the framework be efficient Young YoonWWW'11

11 Enrich safety constraints during the decomposition. Young YoonWWW'11

r1  r2r1  r2 m1m1 r3  r4r3  r4 m2m2 r1  r5r1  r5 m3m3 r1  r3r1  r3 m4m4 G1G1 G2G2 G4G4 G3G3 Young Yoon12WWW'11 r x : collaborating partner x r1  r2r1  r2 m1m1 : r 1 sends m 1 r 2

r1  r2r1  r2 m1m1 r3  r4r3  r4 m2m2 r1  r5r1  r5 m3m3 r1  r3r1  r3 m4m4 r2  r3r2  r3 c1c1 r2  r1r2  r1 c2c2 r4  r1r4  r1 c3c3 r5  r1r5  r1 c4c4 G1G1 G2G2 G4G4 G3G3 r1  r2r1  r2 m1m1 r3  r4r3  r4 m2m2 r1  r5r1  r5 m3m3 r1  r3r1  r3 m4m4 G1G1 G2G2 G4G4 G3G3 Young Yoon13WWW'11

 (G 1 ) : projection of G 1 x(m 1 ): send m 1 x(m 1 ): receive m 1 r1  r2r1  r2 m1m1 r3  r4r3  r4 m2m2 r1  r5r1  r5 m3m3 r1  r3r1  r3 m4m4 r2  r3r2  r3 c1c1 r2  r1r2  r1 c2c2 r4  r1r4  r1 c3c3 r5  r1r5  r1 c4c4 G1G1 G2G2 G3G3 G3G3 Young Yoon14WWW'11

x(m 1 ) (G1)(G1) r1r1 r1  r2r1  r2 m1m1 r3  r4r3  r4 m2m2 r1  r5r1  r5 m3m3 r1  r3r1  r3 m4m4 r2  r3r2  r3 c1c1 r2  r1r2  r1 c2c2 r4  r1r4  r1 c3c3 r5  r1r5  r1 c4c4 G1G1 G2G2 G3G3 G3G3 Young Yoon15WWW'11

x(m 1 ) (G1)(G1) x(c 3 ) (G2)(G2) r1r1 r1  r2r1  r2 m1m1 r3  r4r3  r4 m2m2 r1  r5r1  r5 m3m3 r1  r3r1  r3 m4m4 r2  r3r2  r3 c1c1 r2  r1r2  r1 c2c2 r4  r1r4  r1 c3c3 r5  r1r5  r1 c4c4 G1G1 G2G2 G4G4 G3G3 Young Yoon16WWW'11

x(m 1 ) x(m 4 ) (G1)(G1) x(c 3 ) (G2)(G2) (G4)(G4) r1r1 r1  r2r1  r2 m1m1 r3  r4r3  r4 m2m2 r1  r5r1  r5 m3m3 r1  r3r1  r3 m4m4 r2  r3r2  r3 c1c1 r2  r1r2  r1 c2c2 r4  r1r4  r1 c3c3 r5  r1r5  r1 c4c4 G1G1 G2G2 G4G4 G3G3 Young Yoon17WWW'11

x(m 1 ) x(m 4 ) (G1)(G1) x(c 3 )x(c 2 ) (G2)(G2) (G4)(G4) (G1)(G1) r1r1 r1  r2r1  r2 m1m1 r3  r4r3  r4 m2m2 r1  r5r1  r5 m3m3 r1  r3r1  r3 m4m4 r2  r3r2  r3 c1c1 r2  r1r2  r1 c2c2 r4  r1r4  r1 c3c3 r5  r1r5  r1 c4c4 G1G1 G2G2 G3G3 G3G3 Young Yoon18WWW'11

x(m 1 ) x(m 4 ) x(m 3 ) (G1)(G1) x(c 3 )x(c 2 ) (G2)(G2) (G4)(G4) (G1)(G1) (G3)(G3) r1r1 r1  r2r1  r2 m1m1 r3  r4r3  r4 m2m2 r1  r5r1  r5 m3m3 r1  r3r1  r3 m4m4 r2  r3r2  r3 c1c1 r2  r1r2  r1 c2c2 r4  r1r4  r1 c3c3 r5  r1r5  r1 c4c4 G1G1 G2G2 G3G3 G3G3 Young Yoon19WWW'11

x(m 1 ) x(m 4 ) x(m 3 ) (G1)(G1) x(c 3 )x(c 2 ) (G2)(G2) (G4)(G4) (G1)(G1) (G3)(G3) r1r1 x(c 4 ) (G3)(G3) r1  r2r1  r2 m1m1 r3  r4r3  r4 m2m2 r1  r5r1  r5 m3m3 r1  r3r1  r3 m4m4 r2  r3r2  r3 c1c1 r2  r1r2  r1 c2c2 r4  r1r4  r1 c3c3 r5  r1r5  r1 c4c4 G1G1 G2G2 G3G3 G3G3 Young Yoon20WWW'11

Young YoonWWW'1121 Send fraud warning messages Receive fraud warning message Issue refund Receive refund message Auditing service Accounting service CRM serviceClient service Receive confirmation Send confirmation Revisiting the credit card fraud detection process

22 Young YoonWWW'11 Decomposition overhead

23 Young YoonWWW'11 Task increase per partner

24 Goal 1: Prevent semantic conflict Goal 2: Build a distributed framework Goal 3: Make the framework be efficient Young YoonWWW'11

B B B B B B LP CA B LP Coordinator Constraint Deployer CALP LP (Sub-constraints): Local Process CA: Choreography Agent B: Pub/Sub Broker LP 25 Young YoonWWW'11 SSS S SS S SS SS SS S

B B B B B B LP CA B LP Coordinator Constraint Deployer CALP LP (Sub-constraints): Local Process CA: Choreography Agent B: Pub/Sub Broker Process Instance Initializer Local Process Interpreter Choreography Message Generator LP Choreography Message Listener Pub/Sub Translator Pub/Sub Communication Interface CA / Coordinator 26 Young YoonWWW'11

27 Young YoonWWW'11 Coordination overhead

28 Young YoonWWW'11 Scalability 60% ↑ 14% ↑

29 Goal 1: Prevent semantic conflict. Goal 2: Build a distributed framework. Goal 3: Make the framework be efficient. Young YoonWWW'11

30 Minimize the coordination overhead. Young YoonWWW'11 Distance from candidate location to task r i Weight: Execution time of task r i

31 r1  r2r1  r2 m1m1 r3  r4r3  r4 m2m2 r1  r5r1  r5 m3m3 r6  r7r6  r7 m4m4 G1G1 G2G2 G4G4 G3G3 r2  r8r2  r8 m5m5 G5G5 Pick Higher weights given to a task with more following tasks. There can be nested picks. Thus weights are recursively computed. Young YoonWWW'11

32 The bottom line 1: We prevent semantic conflict even when the collaboration is dynamic. Because of the agent-based framework and enrichment of safety constraints during reliable decomposition. Young YoonWWW'11

33 The bottom line 2: Efficient and scalable enforcement of safety constraints Because of the novel coordinator placement method and concurrent execution of decomposed tasks through parallel and distributed choreography agents. Young YoonWWW'11

34 Thank You! Young YoonWWW'11

35 Evaluation Young YoonWWW'11 15 nodes on IBM x3550 cluster: 1Gbps Ethernet, Intel Xeon 5120 dual-core 1.82GHz, 4GB RAM PADRES content-based pub/sub broker overlay: Random overlay of node degree up to 2 Service choreography generated as a directed graph: Max 1,000 tasks, partners and executions