Cloud resourcing a middleware example Simon Lynch

Slides:



Advertisements
Similar presentations
DISTRIBUTED COMPUTING PARADIGMS
Advertisements

FIPA Interaction Protocol. Request Interaction Protocol Summary –Request Interaction Protocol allows one agent to request another to perform some action.
Lecture 8: Three-Level Architectures CS 344R: Robotics Benjamin Kuipers.
Concurrency Important and difficult (Ada slides copied from Ed Schonberg)
Decentralized Reactive Clustering in Sensor Networks Yingyue Xu April 26, 2015.
Silberschatz and Galvin  Operating System Concepts Module 16: Distributed-System Structures Network-Operating Systems Distributed-Operating.
PROTOCOLS SUBMITTED BY : SUDEEP C D ; BSc(CS) Ist Year Ist Sem. T h i s p r e s e n t a t i o n w i l l p r o b a b l y i n v o l v e a u d i e n c e d.
(4.4) Internet Protocols Layered approach to Internet Software 1.
Using DSVM to Implement a Distributed File System Ramon Lawrence Dept. of Computer Science
28.2 Functionality Application Software Provides Applications supply the high-level services that user access, and determine how users perceive the capabilities.
Agent Caching in APHIDS CPSC 527 Computer Communication Protocols Project Presentation Presented By: Jake Wires and Abhishek Gupta.
Network Operating Systems Users are aware of multiplicity of machines. Access to resources of various machines is done explicitly by: –Logging into the.
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
Tutorials 2 A programmer can use two approaches when designing a distributed application. Describe what are they? Communication-Oriented Design Begin with.
Scripting Languages For Virtual Worlds. Outline Necessary Features Classes, Prototypes, and Mixins Static vs. Dynamic Typing Concurrency Versioning Distribution.
Comparative Operating Systems Understanding the Kernel Structure Prashant Thuppala.
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
TCP: Software for Reliable Communication. Spring 2002Computer Networks Applications Internet: a Collection of Disparate Networks Different goals: Speed,
DISTRIBUTED PROCESS IMPLEMENTAION BHAVIN KANSARA.
1 CMPT 471 Networking II DHCP © Janice Regan,
1 Multipoint Ethernet Connection Protection
Gursharan Singh Tatla Transport Layer 16-May
Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
MODULE IV SWITCHED WAN.
Python quick start guide
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Multicast routing.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
DNS (Domain Name System) Protocol On the Internet, the DNS associates various sorts of information with domain names. A domain name is a meaningful and.
Institute of Computer and Communication Network Engineering OFC/NFOEC, 6-10 March 2011, Los Angeles, CA Lessons Learned From Implementing a Path Computation.
NETWORK TOPOLOGIES There are three basic configurations used to connect computers they are the  Bus  Ring  Star.
Introduction  Client/Server technology is seen by many as the solution to the difficulty of linking together the various departments of corporation.
Sami Al-wakeel 1 Data Transmission and Computer Networks The Switching Networks.
Copyright © Curt Hill, Client – Server Computing An important paradigm.
DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
Swapping to Remote Memory over InfiniBand: An Approach using a High Performance Network Block Device Shuang LiangRanjit NoronhaDhabaleswar K. Panda IEEE.
Multiprossesors Systems.. What are Distributed Databases ? “ A Logically interrelated collection of shared data ( and a description of this data) physically.
© J. Liebeherr, All rights reserved 1 Multicast Routing.
Packet switching network Data is divided into packets. Transfer of information as payload in data packets Packets undergo random delays & possible loss.
Location management. Mobile Switching Center Public telephone network, and Internet Mobile Switching Center Components of cellular network architecture.
The Client-Server Model And the Socket API. Client-Server (1) The datagram service does not require cooperation between the peer applications but such.
Network Layer4-1 Today Collect homework New homework: Ch4 #16,19,21-24,26,27,29,31 (half graded, as usual) Due Wednesday Oct 15 in class Final programming.
JS (Java Servlets). Internet evolution [1] The internet Internet started of as a static content dispersal and delivery mechanism, where files residing.
Unit III Bandwidth Utilization: Multiplexing and Spectrum Spreading In practical life the bandwidth available of links is limited. The proper utilization.
13-1 Chapter 13 Concurrency Topics Introduction Introduction to Subprogram-Level Concurrency Semaphores Monitors Message Passing Java Threads C# Threads.
Data Communications and Networks Chapter 9 – Distributed Systems ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
Module 16: Distributed System Structures Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Apr 4, 2005 Distributed.
Hiearchial Caching in Traffic Server. Hiearchial Caching  A set of techniques and mechanisms to increase the size and performance of network caches.
Antidio Viguria Ann Krueger A Nonblocking Quorum Consensus Protocol for Replicated Data Divyakant Agrawal and Arthur J. Bernstein Paper Presentation: Dependable.
By Nitin Bahadur Gokul Nadathur Department of Computer Sciences University of Wisconsin-Madison Spring 2000.
Multimedia Retrieval Architecture Electrical Communication Engineering, Indian Institute of Science, Bangalore – , India Multimedia Retrieval Architecture.
Data Communication Networks Lec 13 and 14. Network Core- Packet Switching.
1 Roie Melamed, Technion AT&T Labs Araneola: A Scalable Reliable Multicast System for Dynamic Wide Area Environments Roie Melamed, Idit Keidar Technion.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
DMET 602: Networks and Media Lab
Process Management Process Concept Why only the global variables?
NETWORK TOPOLOGIES There are three basic configurations used to connect computers they are the Bus Ring Star.
BOOTP and DHCP Objectives
#01 Client/Server Computing
Address Resolution Protocol
Client-Server Interaction
An example design for an Amadeus APIv2 Web Server Application
DISTRIBUTED COMPUTING
Commit Protocols CS60002: Distributed Systems
DMET 602: Networks and Media Lab
Data Communication Networks
Foundations and Definitions
Chapter 3: Process Management
#01 Client/Server Computing
Presentation transcript:

cloud resourcing a middleware example Simon Lynch

features a network of "willing" nodes dynamic resource allocation (similar-ish to Contract Net Protocol) nodes can initiate or perfom computations nodes join/leave explicitly (& leave implicitly on failure) NB: unlike CNP, nodes register with subcontractors indicating willingness to perform computations - no further negotiation

structure dynamic, 3 tier, meta-agent subsystem… Systems Cluster deals with nodes joining and leaving loaded (auto/manual) on all candidate nodes Management Cluster deals with task allocation dynamic – build when node becomes a resource Applications Cluster performs allocated tasks dynamic – build when performing computation(s)

structure

node N joins the pool... 1.N sends message to a pool management agent (PMA) to register availability 2.PMA accepts N 3.N's systems cluster builds Management Cluster (M) 4.M is provided with identity of a subcontractor (subcontractor manages requests for processing) 5.M sets up new comms link with subcontractor 6.N provides details to the subcontractor… purpose (resource or initiator) capabilities (nature of support, processing capacity…) time period available (if known)

other notes... M handles negotiations necessary for N to accept & run tasks (on behalf of other nodes) M also deals with negotiations to enlist help of other nodes when N's computations can be run in parallel subcontractors maintain white/yellow page information (details of nodes & capabilities) can use networks of subcontractors… each manages subset contacts contacts are nodes & other subcontractors

various parrallel forms... parallel( C 0.. C n )results are required from all computations C 0.. C n p-any( C 0.. C n )one result required from any computation C 0.. C n p-and( C 0.. C n )true iff all computations C 0.. C n are true p-or( C 0.. C n )true iff any computations C 0.. C n are true p-backtrack(C 0.. C n )results from C 0.. C n are followed as they arrive - backtrack on failure

an AI example... an artificial life/evolutionary learning system possible parallel executions… divides population into subpopulations allowing them to evolve independently before re-dividing each sub-pop is tested in shared environment (isolated from other sub-pops) runs 5-6 independent tests with each sub-pop

notation... AiNiAiNi agent A i active on node N i CiCi a computation C i (a task or series of statements) C i | A i N i agent A i performing computation C i on node N i { x; y }tasks x and y execute concurrently A i  A j [m]agent A i sends agent A j message m A i  A j [ m ] / R i agent A i sends agent A j message m requesting that replies are posted to the receiver R i A j  A i / R i [ m 2 ]A j sends message m2 to the receiver R i of agent A i M 0 : CREATE( A 0 )M 0 creates a new agent A 0 A i SLEEPSA i pauses, usually until reactivated by an incoming message A i WAKESA i reactivates A i TERMINATESA i completes all activities and ceases to exist C x COMPLETEScomputation C x finishes

C 0 ; parallel(C 1 ; C 2 ); C 3 part-1 A 0 N 0 processes statements C 0 C 0 | A 0 N 0 COMPLETES A 0 N 0 reaches parallel statement & informs management agent M 0 N 0 A 0 N 0  M 0 N 0 [ C 1, C 2 ] / R a0 A 0 N 0 SLEEPS M 0 N 0 elects to process C 1 so creates A 1 N 0 and gives it C 1 M 0 N 0 : CREATE( A 1 N 0 ) M 0 N 0  A 1 N 0 [C 1 ] / R b0(c1) M 0 N 0 requests support for C 2 from its subcontractor S M 0 N 0  S [ requestNode, C 2 ] / R b0(c2) S forwards the request to a registered and available node M 0 N 1 S  M 0 N 1 [ C 2 ] / R b0(c2) new node M 0 N 1 creates application layer agent &initiates its computation M 0 N 1 CREATE( A 0 N 1 ) M 0 N 1  A 0 N 1 [C 2 ] / R b1(c2)

M 0 N 1 creates an application layer agent and initiates its computation M 0 N 1 CREATE( A 0 N 1 ) M 0 N 1  A 0 N 1 [C 2 ] / R b1(c2) A 0 N 1 completes C 2 with result β, β is rippled back as appropriate, A 0 N 1 terminates, M 0 N 1 informs S it is no longer busy C 2 | A 0 N 1 COMPLETES A 0 N 1  M 0 N 1 / R b1(c2) [ β ] M 0 N 1  M 0 N 0 / R b0(c2) [ β ] A 0 N 1 TERMINATES M 0 N 1  RA [ node-idle ] A 1 N 0 completes C 1 with result α, passes a to M 0 N 0 then terminates C 1 | A 1 N 0 COMPLETES A 1 N 0  M 0 N 0 / R b0(c1) [α ] A 1 N 0 TERMINATES M 0 N 0 receives results for both C 1 & C 2 (R b0(c1) & R b0(c2) have triggered) A 0 N 0 gets results & is re-activated M 0 N 0  A 0 N 0 / R a0 [α, β ] A 0 N 0 WAKES A 0 N 0 completes parallel( C 1 ; C 2 ){ C 1 ; C 1 } | A 0 N 0 COMPLETES A 0 N 0 processes statements C 3 C 3 | A 0 N 0 C 0 ; parallel(C 1 ; C 2 ); C 3 part-2