Hadi Salimi Distributed Systems Lab, Computer Engineering School, Iran University of Schience and Technology, Tehran, Iran Winter 2011.

Slides:



Advertisements
Similar presentations
DISTRIBUTED COMPUTING PARADIGMS
Advertisements

MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
Programming Languages for End-User Personalization of Cyber-Physical Systems Presented by, Swathi Krishna Kilari.
A component- and message-based architectural style for GUI software
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed System Architectures.
Distributed Objects and Remote Invocation
Software Connectors Software Architecture. Importance of Connectors Complex, distributed, multilingual, modern software system functionality and managing.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
CORBA - Common Object Request Broker Architecture.
An Associative Broadcast Based Coordination Model for Distributed Processes James C. Browne Kevin Kane Hongxia Tian Department of Computer Sciences The.
Ameoba Designed by: Prof Andrew S. Tanenbaum at Vrija University since 1981.
Distributed components
O RLEANS : C LOUD P ROGRAMMING FOR E VERYONE Sergey Bykov, Alan Geller, Gabriel Kliot, James Larus, Ravi Pandya, Jorgen Thelin eXtreme Computing Group,
Applying Architectural Styles and Patterns. Outline  Defining Architectural Patterns and Style The activation model Styles and Quality Attributes  Common.
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
Fall 2007cs4251 Distributed Computing Umar Kalim Dept. of Communication Systems Engineering 31/10/2007.
Concurrency CS 510: Programming Languages David Walker.
Scripting Languages For Virtual Worlds. Outline Necessary Features Classes, Prototypes, and Mixins Static vs. Dynamic Typing Concurrency Versioning Distribution.
The Procedure Abstraction Part I: Basics Copyright 2003, Keith D. Cooper, Ken Kennedy & Linda Torczon, all rights reserved. Students enrolled in Comp 412.
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Cloud Programming James Larus Microsoft Research Mysore-Park Workshop on Cloud Computing Mysore India, January 13, 2010.
Communication in Distributed Systems –Part 2
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
NFS. The Sun Network File System (NFS) An implementation and a specification of a software system for accessing remote files across LANs. The implementation.
.NET Mobile Application Development Remote Procedure Call.
Chapter 4.1 Interprocess Communication And Coordination By Shruti Poundarik.
An Introduction to Rational Rose Real-Time
What is Software Architecture?
Chapter 2 Architectural Models. Keywords Middleware Interface vs. implementation Client-server models OOP.
The Procedure Abstraction Part I: Basics Copyright 2003, Keith D. Cooper, Ken Kennedy & Linda Torczon, all rights reserved. Students enrolled in Comp 412.
JavaScript, Fourth Edition Chapter 12 Updating Web Pages with AJAX.
Replication & EJB Graham Morgan. EJB goals Ease development of applications –Hide low-level details such as transactions. Provide framework defining the.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Architectures of distributed systems Fundamental Models
Reliable Communication in the Presence of Failures Based on the paper by: Kenneth Birman and Thomas A. Joseph Cesar Talledo COEN 317 Fall 05.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Refining middleware functions for verification purpose Jérôme Hugues Laurent Pautet Fabrice Kordon
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
Distributed Computing Systems CSCI 4780/6780. Geographical Scalability Challenges Synchronous communication –Waiting for a reply does not scale well!!
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Distributed Object Frameworks DCE and CORBA. Distributed Computing Environment (DCE) Architecture proposed by OSF Goal: to standardize an open UNIX envt.
Electronic Payment Systems (1)
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
Shuman Guo CSc 8320 Advanced Operating Systems
Chapter 5: Distributed objects and remote invocation Introduction Remote procedure call Events and notifications.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
Jini Architecture Introduction System Overview An Example.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Introduction to Object-Oriented Programming Lesson 2.
Developing Product Line Components Jan Bosch Professor of Software Engineering University of Groningen, Netherlands
Manish Kumar,MSRITSoftware Architecture1 Remote procedure call Client/server architecture.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB Markus.
.NET Mobile Application Development XML Web Services.
Concurrent Object-Oriented Programming Languages Chris Tomlinson Mark Scheevel.
Copyright © 2004, Keith D Swenson, All Rights Reserved. OASIS Asynchronous Service Access Protocol (ASAP) Tutorial Overview, OASIS ASAP TC May 4, 2004.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
Walk in a distributed systems park with Orleans Yevhen Bobrov yevhen
Distributed Computing & Embedded Systems Chapter 4: Remote Method Invocation Dr. Umair Ali Khan.
IT 5433 LM1. Learning Objectives Understand key terms in database Explain file processing systems List parts of a database environment Explain types of.
A service Oriented Architecture & Web Service Technology.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
Object Interaction: RMI and RPC 1. Overview 2 Distributed applications programming - distributed objects model - RMI, invocation semantics - RPC Products.
Modern Backends Service Fabric & Actor Model Damir Dobric, daenet.
Prof. Leonardo Mostarda University of Camerino
DISTRIBUTED COMPUTING
Student: Popa Andrei-Sebastian
Module 10: Creating Transactional Business Processes
Presentation transcript:

Hadi Salimi Distributed Systems Lab, Computer Engineering School, Iran University of Schience and Technology, Tehran, Iran Winter 2011 ORLEANS: A FRAMEWORK FOR CLOUD COMPUTING

Introduction The scope? Client + Cloud computing Combine diverse client devices Ubiquitous computing What is the challenge? Highly parallel and distributed Should be highly available, reliable and secure The key challenge is scale 2 Orleans: A framework for cloud computing

What is Orleans? A software framework for building Cloud applications Offers a simple programming model Built around grains Imposes restriction on concurrency 3 Orleans: A framework for cloud computing

Grain Logical units of computation with private state that communicate by sending messages A service is constructed from grains running on the server At any time, may have zero, one or multiple activations 4 Orleans: A framework for cloud computing

Grain (cont’d) Activation  The physical instantiation of a grain on a server  Processes an external request to completion before turning to the subsequent request  Are completely isolated  Cannot share memory or invoke each others methods directly  Can place independently on any server  Can migrate between servers 5 Orleans: A framework for cloud computing

Grain (cont’d) Security Communicate only through a reference to another A logically isolated workspace called grain domain  Delimits the set of grains it can directly access Domains are hierarchical and nested Orleans consider s a grain domain for each customer 6 Orleans: A framework for cloud computing

Transactions Orleans offers transactions for three reasons: Isolate concurrent computations Replication of data and computation Reduce the need for explicit error handling code 7 Orleans: A framework for cloud computing

Communications Occurs through asynchronous messages between grains Most messages follow request/reply pattern May designate certain messages as event notification In future will use single request, multiple-reply pattern Are exposed at method calls Unlike traditional RPC model, these calls return immediately with a promise 8 Orleans: A framework for cloud computing

Asynchrony and Promises Orleans uses promises as asynchrony primitives Promises are fully integrated with the.NET async models. Promises have a simple lifecycle 9 Orleans: A framework for cloud computing

Asynchrony and Promises (cont’d) A caller that invokes an asynchronous operation do one or more of the following: Synchronously wait for the promise to resolve Schedule a continuation action with the continueWith() method 10 Orleans: A framework for cloud computing

Asynchrony and Promises (cont’d) Return the promise, if the caller itself is an asynchronous method with a compatible return type Join the promise with other promises, producing another promise Explicitly ignore the outcome of promise resolution with the ignore() method 11 Orleans: A framework for cloud computing

Grain interfaces A grain class implements one or more public grain interfaces that define service contracts. A grain interface is an interface that adheres to the following rules: A grain interface must directly or indirectly inherit from the Igrain marker interface All methods and property getters must be asynchronous No property setters and no subscribe/unsubscribe to events 12 Orleans: A framework for cloud computing

Grain interfaces (cont’d) Method arguments must be grain interface types For example: 13 Orleans: A framework for cloud computing

Grain references A grain reference is a proxy object that provides access to a grain A grain reference is the only way that a client, whether another grain or a non-grain client, can access a grain A grain reference can be in one of the three possible states: unresolved, fulfilled or broken 14 Orleans: A framework for cloud computing

Grain state The state of a grain is managed by the Orleans runtime May be in the state of: Initialization Persistence Replication Migration 15 Orleans: A framework for cloud computing

Conclusion Orleans borrows many concepts from prior systems. Actor models A well-known model for concurrent programming Forms the basis for many programming languages such as: Erlang, Ptolemy and E Orleans differ from classic actor in: Mutability of grain state Its asynchronous communication and promises Its message ordering guarantees Its support for replication Its transactional model Consistency guarantees Distributed object model 16 Orleans: A framework for cloud computing

Reference [1] Sergey Bykov, Alan Geller, Gabriel Kliot, James R. Larus, Ravi Pandya, Jorgen Thelin, "Orleans: A Framework for Cloud Computing ", eXtreme Computing Group, Microsoft Research, November Orleans: A framework for cloud computing