Cloud Age Time to change the programming paradigm?

Slides:



Advertisements
Similar presentations
Dynamic Resource Management for Virtualization HPC Environments Xiaohui Wei College of Computer Science and Technology Jilin University, China. 1 PRAGMA.
Advertisements

A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
Configuration management
Global Analysis and Distributed Systems Software Architecture Lecture # 5-6.
COM vs. CORBA.
Christian Delbe1 Christian Delbé OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis November Automatic Fault Tolerance in ProActive.
Pontus Boström and Marina Waldén Åbo Akademi University/ TUCS Development of Fault Tolerant Grid Applications Using Distributed B.
SLA-Oriented Resource Provisioning for Cloud Computing
RPC Robert Grimm New York University Remote Procedure Calls.
Master/Slave Architecture Pattern Source: Pattern-Oriented Software Architecture, Vol. 1, Buschmann, et al.
HPC Pack On-Premises On-premises clusters Ability to scale to reduce runtimes Job scheduling and mgmt via head node Reliability HPC Pack Hybrid.
GridRPC Sources / Credits: IRISA/IFSIC IRISA/INRIA Thierry Priol et. al papers.
Implementing Remote Procedure Calls Andrew Birrell and Bruce Nelson Presented by Kai Cong.
Dinker Batra CLUSTERING Categories of Clusters. Dinker Batra Introduction A computer cluster is a group of linked computers, working together closely.
Harness and H2O Alternative approaches to metacomputing Distributed Computing Laboratory Emory University, Atlanta, USA
CIM2564 Introduction to Development Frameworks 1 Overview of a Development Framework Topic 1.
Technical Architectures
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
Scripting Languages For Virtual Worlds. Outline Necessary Features Classes, Prototypes, and Mixins Static vs. Dynamic Typing Concurrency Versioning Distribution.
Chapter 1: Overview of Workflow Management Dr. Shiyong Lu Department of Computer Science Wayne State University.
FIGURE 1-1 A Computer System
Undergraduate Poster Presentation Match 31, 2015 Department of CSE, BUET, Dhaka, Bangladesh Wireless Sensor Network Integretion With Cloud Computing H.M.A.
26th May, Middleware or Simulator for Autonomic Communications Yang Qiu Networking Laboratory Helsinki University of Technology
1 Bridging Clouds with CernVM: ATLAS/PanDA example Wenjing Wu
.NET, and Service Gateways Group members: Andre Tran, Priyanka Gangishetty, Irena Mao, Wileen Chiu.
CHAPTER FIVE Enterprise Architectures. Enterprise Architecture (Introduction) An enterprise-wide plan for managing and implementing corporate data assets.
DIANE Overview Germán Carrera, Alfredo Solano (CNB/CSIC) EMBRACE COURSE Monday 19th of February to Friday 23th. CNB-CSIC Madrid.
 Cloud computing  Workflow  Workflow lifecycle  Workflow design  Workflow tools : xcp, eucalyptus, open nebula.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Christopher Jeffers August 2012
Software Architecture Classification for Estimating the Costs of COTS Integration Yakimovich, Bieman, Basili; icse 99.
Chapter Intranet Agents. Chapter Background Intranet: an internal corporate network based on Internet technology. Typically, an intranet can.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
DISTRIBUTED COMPUTING
CONTENTS Arrival Characters Definition Merits Chararterstics Workflows Wfms Workflow engine Workflows levels & categories.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Other Topics RPC & Middleware.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
Component Architecture (CORBA – RMI) -Shalini Pradhan.
M.A.Doman Short video intro Model for enabling the delivery of computing as a SERVICE.
SUMA: A Scientific Metacomputer Cardinale, Yudith Figueira, Carlos Hernández, Emilio Baquero, Eduardo Berbín, Luis Bouza, Roberto Gamess, Eric García,
Chapter 1: Overview of Workflow Management Dr. Shiyong Lu Department of Computer Science Wayne State University.
Component Technology. Challenges Facing the Software Industry Today’s applications are large & complex – time consuming to develop, difficult and costly.
Issues in (Financial) High Performance Computing John Darlington Director Imperial College Internet Centre Fast Financial Algorithms and Computing 4th.
PARALLEL COMPUTING overview What is Parallel Computing? Traditionally, software has been written for serial computation: To be run on a single computer.
 Apache Airavata Architecture Overview Shameera Rathnayaka Graduate Assistant Science Gateways Group Indiana University 07/27/2015.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Derek Wright Computer Sciences Department University of Wisconsin-Madison Condor and MPI Paradyn/Condor.
Docker and Container Technology
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
CIS 375—Web App Dev II ASP.NET 1 Getting Started.
PARALLEL AND DISTRIBUTED PROGRAMMING MODELS U. Jhashuva 1 Asst. Prof Dept. of CSE om.
 Cloud Computing technology basics Platform Evolution Advantages  Microsoft Windows Azure technology basics Windows Azure – A Lap around the platform.
Parallel Programming Models EECC 756 David D. McGann 18 May, 1999.
PVM and MPI.
New Paradigms: Clouds, Virtualization and Co.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Modeling Big Data Execution speed limited by: Model complexity
Use of HLT farm and Clouds in ALICE
A Cloudy Future Panel at CCGSC ‘08
Dag Toppe Larsen UiB/CERN CERN,
Containers in HPC By Raja.
Introduction to Computers
Interpreter Style Examples
What’s New from Platform Computing
Module 01 ETICS Overview ETICS Online Tutorials
An introduction to the Linux environment v
CSE 451: Operating Systems Autumn 2009 Module 21 Remote Procedure Call (RPC) Ed Lazowska Allen Center
CSE 451: Operating Systems Autumn 2010 Module 21 Remote Procedure Call (RPC) Ed Lazowska Allen Center
Presentation transcript:

Cloud Age Time to change the programming paradigm?

Do we need to change programming paradigm to effectively use Cloud?

How did we get here? At the beginning programming was simple –f77, C, static linking Then it got more complicated… –OO, C++, shared libraries, dynamic linking, client-server, CORBA …and execution distributed… –HPC Clusters, MPI, RPC …worldwide –Grid, Web Services

Typical workflow In spite of substantial changes in computing infrastructure, the basic workflow remains unchanged –Write a program that sequentially invokes the function and subroutine calls that will be executed locally or perhaps remotely using some sort of the remote procedure call RPC/CORBA/XMLRPC/SOAP –The entire program has to be compiled, assuring that runtime dependencies are satisfied and environment is correctly configured –Everything has to be packaged and handed over to some scheduler to find an appropriate resource and run it This process got increasingly more complicated as we moved towards more distributed and heterogeneous resources –Failures in such systems are the rule and not an exception –Recovery can be costly

Cloud Cloud offers users access to virtualized resources that can be tailored to their application –Virtualization removes heterogeneous resource problem –CernVM approach eliminates problems related to software distribution and configuration Cloud simplifies deployment problem of a single application running on a single VM –But what if one wants to run jobs on many virtual machines? Possible (traditional) solution –Ad-hoc clusters per user (possible with CernVM and Condor) –Reduces scale of the problem –Decreases error probability Can we be smarter than that?

Elastic Cloud Elastic Cloud Model –Asynchronous, event driven paradigm –Application broken up into event handlers that receive, process and emit new messages –Messaging system is part of the infrastructure and assures reliable communication between components Why is this better? –Programming effort can be focused on individual components Components can be developed independently and even in different programming languages They can be kept reasonably small and comprehensible and replaceable –System can evolve by evolving the components –Event handlers instances can be dynamically added at runtime to remove bottlenecks –Individual component failures do not cause application failure