O RLEANS : C LOUD P ROGRAMMING FOR E VERYONE Sergey Bykov, Alan Geller, Gabriel Kliot, James Larus, Ravi Pandya, Jorgen Thelin eXtreme Computing Group,

Slides:



Advertisements
Similar presentations
Chapter 9: The Client/Server Database Environment
Advertisements

Chuang, Sang, Yoo, Gu, Killian and Kulkarni, “EventWave” SoCC ‘13 EventWave: Programming Model and Runtime Support for Tightly-Coupled Elastic Cloud Applications.
It’s the Software, Stupid James Larus Microsoft Research April 2005.
Amazon’s Dynamo Simple Cloud Storage. Foundations 1970 – E.F. Codd “A Relational Model of Data for Large Shared Data Banks”E.F. Codd –Idea of tabular.
Philip A. Bernstein, Sergey Bykov, Alan Geller, Gabriel Kliot, Jorgen Thelin.
Microsoft Project Orleans
Chapter 13 (Web): Distributed Databases
Microsoft Ignite /16/2017 2:42 PM
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
Chapter 13 Physical Architecture Layer Design
Wade Wegner Windows Azure Technical Evangelist Microsoft Corporation Windows Azure AppFabric Caching.
Layers & Tiers Umair Javed Lec - 41.
Cloud Programming James Larus Microsoft Research Mysore-Park Workshop on Cloud Computing Mysore India, January 13, 2010.
Copyright ©2009 Opher Etzion Event Processing Course Engineering and implementation considerations (related to chapter 10)
July 23 th, 2005 Software Architecture in Practice RiSE’s Seminars Bass’s et al. Book :: Chapter 16 Fred Durão.
Advanced Distributed Software Architectures and Technology group ADSaT 1 Application Architectures Ian Gorton, Paul Greenfield.
DISTRIBUTED COMPUTING
Presented by Sujit Tilak. Evolution of Client/Server Architecture Clients & Server on different computer systems Local Area Network for Server and Client.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
 Distributed Software Chapter 18 - Distributed Software1.
A Brief Overview by Aditya Dutt March 18 th ’ Aditya Inc.
Computer System Architectures Computer System Software
AJAXWorld Conference, October 3, 2006 Flex for the Enterprise Mark Piller Midnight Coders, LLC.
Online Music Store MSE Project Presentation I Presented by: Reshma Sawant Major Professor: Dr. Daniel Andresen.
B.Ramamurthy9/19/20151 Operating Systems u Bina Ramamurthy CS421.
Larisa kocsis priya ragupathy
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 13: Physical Architecture Layer Design Alan Dennis,
Chapter 3: Objects, Components, and the Web Textbook IT Architectures and Middleware, Second Edition Chris Britton and Peter Bye AIT 600 Jeff Schmitt September.
Computer Measurement Group, India Optimal Design Principles for better Performance of Next generation Systems Balachandar Gurusamy,
Enterprise JavaBeans. What is EJB? l An EJB is a specialized, non-visual JavaBean that runs on a server. l EJB technology supports application development.
Introduction to Windows Azure BUGAEV ROMAN. Azure Windows Azure Platform is thus classified as platform as a service and forms part of Microsoft's cloud.
Slide 1 Physical Architecture Layer Design Chapter 13.
Version control Using Git Version control, using Git1.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
DEV 314. Scalable Responsive Errors Resilient Decoupled Latency Load Unpredictability Performance Failure Concurrency Data Consistency.
Computer Science 340 Software Design & Testing UML Sequence Diagrams.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Advanced Principles of Operating Systems (CE-403).
Hadi Salimi Distributed Systems Lab, Computer Engineering School, Iran University of Schience and Technology, Tehran, Iran Winter 2011.
Enterprise Java Beans. Model 1 J2EE – Web View Model/View/Controller Model View Control Data base Web Server Model One Architecture HTTP Request HTTP.
Distributed System Architectures Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
Features Of SQL Server 2000: 1. Internet Integration: SQL Server 2000 works with other products to form a stable and secure data store for internet and.
Understanding Performance Testing Basics by Adnan Khan.
CSC 480 Software Engineering Lecture 17 Nov 4, 2002.
Introduction to Performance Testing Performance testing is the process of determining the speed or effectiveness of a computer, network, software program.
Building Cloud Solutions Presenter Name Position or role Microsoft Azure.
Walk in a distributed systems park with Orleans Yevhen Bobrov yevhen
ECE 1747: Parallel Programming Short Introduction to Transactions and Transactional Memory (a.k.a. Speculative Synchronization)
Geo-Distribution for Orleans Phil Bernstein, Sebastian Burckhardt, Sergey Bykov, Natacha Crooks, José Faleiro, Gabriel Kliot, Alok Kumbhare, Vivek Shah,
Introduction Aaron Day ● Software Architect ● Open Solutions Interests and Hobbies ● Family ● Software Development ● Woodworking ● Gaming ● Shooting.
Optimizing Distributed Actor Systems for Dynamic Interactive Services
Build /26/2018 6:17 AM Building Resilient, Scalable Services with Microsoft Azure Service Fabric Érsek © 2015 Microsoft Corporation.
Scalable by Design: The “Orleans” Actor Framework for Azure
Chapter 9: The Client/Server Database Environment
Version control, using Git
Introduction to Replication
Distributed system (Lecture 02)
The Client/Server Database Environment
CSC 480 Software Engineering
Systems Analysis and Design With UML 2
Operating Systems Bina Ramamurthy CSE421 11/27/2018 B.Ramamurthy.
Inventory of Distributed Computing Concepts
Design pattern for cloud Application
Hosted VoIP Services using Erlang/OTP
Azure DocumentDB Ryan CrawCour Senior Program Manager.
ACTIVE DIRECTORY An Overview.. By Karan Oberoi.
Enterprise Java Beans.
Distributed Systems and Concurrency: Distributed Systems
Presentation transcript:

O RLEANS : C LOUD P ROGRAMMING FOR E VERYONE Sergey Bykov, Alan Geller, Gabriel Kliot, James Larus, Ravi Pandya, Jorgen Thelin eXtreme Computing Group, Microsoft Research DIMACS Workshop on Systems and Networking Advances in Cloud Computing 12/8/2011

C LOUD P ROGRAMMING M UST B ECOME S IMPLER Complex Software OOP GUI MVC Server Applications Java.NET Web JSP ASP.NET Ruby on Rails Cloud Orleans 2

O RLEANS = P ROGRAMMING M ODEL + D ISTRIBUTED R UNTIME 3 Simplified programming model Transparent scalability Adaptive performance management Orleans Applications.NET + Azure

Name“Sony TC412” SKUX0322D12 Quantity315 Price$500 NumAvailable() Buy(…) AddReview(…) Name“Canon EOS T3i” SKUB004J3V90Y Quantity12345 Price$800 NumAvailable() Buy(…) AddReview(…) Total Price$1300 Products Customer Buy(…) Checkout(…) G RAINS Buy(…) Shopping Cart Grain Product Grain State Behavior StateBehavior StateBehavior Customer Grain BehaviorState 4

Buy(…) Schedule closure A SYNCHRONOUS C OMMUNICATION AND P ROMISES Promise Reply Closure can execute 5

S IMPLIFIED E RROR H ANDLING BehaviorStateBehaviorState Grain AGrain B Behavior State Grain C Success closure Error closure 6

S INGLE T HREADED E XECUTION M ODEL BehaviorState Grain A Message Queue Execution Queue 7

Quantity1231 Name“Canon EOS T3i” SKUB004J3V90Y NumAvailable() Buy(…) A CTIVATIONS Branch A1 Branch A2 Store A0 Merge State Reconciliation Quantity1231 Name“Canon EOS T3i” SKUB004J3V90Y NumAvailable() Buy(…) Quantity1231 Name“Canon EOS T3i” SKUB004J3V90Y NumAvailable() Buy(…) 8

W HAT COULD GO WRONG ? A B C D’ D Inconsistency E Interleaving Failure 9

L IGHTWEIGHT T RANSACTIONS A B’ D’ B E C B” A’’ A’ D’ D 10

A DAPTIVE R UNTIME Silo 11

A PPLICATIONS AND G RAIN S IZE Messaging intensive Compute intensive Data intensive Chirper Simplified Twitter-like system User, Address book, Chirp PageRank Large sparse matrices (billions x billions) Processor Horton Distributed graph database Graph partition 12

E VALUATION Total Chirper Throughput 13  200 lines of code  Near linear scalability Heavy Subscriber

R ELATED W ORK Actor models Erlang E Thorn Distributed objects Emerald EJB CORBA 14 Transactions Futures/Promises [Liskov et al] Conflict resolution CRDTs [Marc Shapiro] Concurrent revisions [Burckhardt & Leijen]

C ONCLUSION Orleans = programming model + distributed runtime Simplified programming model Transparent scalability Adaptive performance tuning 15 Make cloud programming accessible to everyone!